From 307371ea358926bac942fc09dbe30f275d80d3a9 Mon Sep 17 00:00:00 2001 From: Alex Plate Date: Wed, 4 Feb 2026 13:28:23 +0200 Subject: [PATCH] refactoring DataSpell: Add turnOffConfirmExit API to Driver SDK Expose GeneralSettings.setConfirmExit and setProcessCloseConfirmation via the Driver SDK, replacing UI-based settings manipulation with direct API calls. GitOrigin-RevId: 7505f15ff3823f904fee63ce17d7753fac2f7378 --- .../src/com/intellij/driver/sdk/settings.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/settings.kt b/platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/settings.kt index 704c2b02d700..47010b7f090b 100644 --- a/platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/settings.kt +++ b/platform/remote-driver/test-sdk/src/com/intellij/driver/sdk/settings.kt @@ -3,11 +3,19 @@ package com.intellij.driver.sdk import com.intellij.driver.client.Driver import com.intellij.driver.client.Remote import com.intellij.driver.client.service +import com.intellij.driver.client.utility import com.intellij.driver.model.RdTarget @Remote("com.intellij.ide.GeneralSettings") interface GeneralSettingsRef { fun setConfirmOpenNewProject(mode: Int) + fun setConfirmExit(value: Boolean) + fun setProcessCloseConfirmation(value: ProcessCloseConfirmationRef) +} + +@Remote("com.intellij.ide.ProcessCloseConfirmation") +interface ProcessCloseConfirmationRef { + fun valueOf(name: String): ProcessCloseConfirmationRef } @Remote("com.intellij.openapi.options.advanced.AdvancedSettings") @@ -41,3 +49,9 @@ fun Driver.setAdvancedSetting(id: String, value: Boolean, rdTarget: RdTarget = R fun Driver.setThirdPartyPluginsAllowed(allowed: Boolean) { service().setThirdPartyPluginsAllowed(allowed) } + +fun Driver.turnOffConfirmExit() { + val settings = service(RdTarget.BACKEND) + settings.setConfirmExit(false) + settings.setProcessCloseConfirmation(utility(RdTarget.BACKEND).valueOf("TERMINATE")) +}