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
This commit is contained in:
Alex Plate
2026-02-06 14:31:06 +00:00
committed by intellij-monorepo-bot
parent e0e8801903
commit 307371ea35
@@ -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<UpdateSettings>().setThirdPartyPluginsAllowed(allowed)
}
fun Driver.turnOffConfirmExit() {
val settings = service<GeneralSettingsRef>(RdTarget.BACKEND)
settings.setConfirmExit(false)
settings.setProcessCloseConfirmation(utility<ProcessCloseConfirmationRef>(RdTarget.BACKEND).valueOf("TERMINATE"))
}