diff --git a/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.kt b/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.kt index 1947b0949147..3ccdee4b8de0 100644 --- a/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.kt +++ b/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.kt @@ -263,10 +263,16 @@ class UISettings @NonInjectable constructor(private val notRoamableOptions: NotR state.wideScreenSupport = value } - var rememberSizeForEachToolWindow: Boolean - get() = state.rememberSizeForEachToolWindow + var rememberSizeForEachToolWindowOldUI: Boolean + get() = state.rememberSizeForEachToolWindowOldUI set(value) { - state.rememberSizeForEachToolWindow = value + state.rememberSizeForEachToolWindowOldUI = value + } + + var rememberSizeForEachToolWindowNewUI: Boolean + get() = state.rememberSizeForEachToolWindowNewUI + set(value) { + state.rememberSizeForEachToolWindowNewUI = value } var sortBookmarks: Boolean diff --git a/platform/editor-ui-api/src/com/intellij/ide/ui/UISettingsState.kt b/platform/editor-ui-api/src/com/intellij/ide/ui/UISettingsState.kt index 92abdb95557b..4ccad65ced28 100644 --- a/platform/editor-ui-api/src/com/intellij/ide/ui/UISettingsState.kt +++ b/platform/editor-ui-api/src/com/intellij/ide/ui/UISettingsState.kt @@ -67,8 +67,10 @@ class UISettingsState : BaseState() { @get:OptionTag("WIDESCREEN_SUPPORT") var wideScreenSupport by property(false) - @get:OptionTag("REMEMBER_SIZE_FOR_EACH_TOOL_WINDOW") - var rememberSizeForEachToolWindow by property(false) + @get:OptionTag("REMEMBER_SIZE_FOR_EACH_TOOL_WINDOW_OLD_UI") + var rememberSizeForEachToolWindowOldUI by property(true) + @get:OptionTag("REMEMBER_SIZE_FOR_EACH_TOOL_WINDOW_NEW_UI") + var rememberSizeForEachToolWindowNewUI by property(false) @get:OptionTag("LEFT_HORIZONTAL_SPLIT") var leftHorizontalSplit by property(false) @get:OptionTag("RIGHT_HORIZONTAL_SPLIT") diff --git a/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.kt b/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.kt index a141ab108c89..b092d36d2654 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.kt +++ b/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.kt @@ -84,8 +84,10 @@ private val cdLeftToolWindowLayout get() = CheckboxDescriptor(message("checkbox.left.toolwindow.layout"), settings::leftHorizontalSplit, groupName = windowOptionGroupName) private val cdRightToolWindowLayout get() = CheckboxDescriptor(message("checkbox.right.toolwindow.layout"), settings::rightHorizontalSplit, groupName = windowOptionGroupName) -private val cdRememberSizeForEachToolWindow - get() = CheckboxDescriptor(message("checkbox.remember.size.for.each.tool.window"), settings::rememberSizeForEachToolWindow, groupName = windowOptionGroupName) +private val cdRememberSizeForEachToolWindowOldUI + get() = CheckboxDescriptor(message("checkbox.remember.size.for.each.tool.window"), settings::rememberSizeForEachToolWindowOldUI, groupName = windowOptionGroupName) +private val cdRememberSizeForEachToolWindowNewUI + get() = CheckboxDescriptor(message("checkbox.remember.size.for.each.tool.window"), settings::rememberSizeForEachToolWindowNewUI, groupName = windowOptionGroupName) private val cdUseCompactTreeIndents get() = CheckboxDescriptor(message("checkbox.compact.tree.indents"), settings::compactTreeIndents, groupName = uiOptionGroupName) private val cdShowTreeIndents @@ -391,17 +393,27 @@ internal class AppearanceConfigurable : BoundSearchableConfigurable(message("tit ) twoColumnsRow( { checkBox(cdLeftToolWindowLayout) }, - { checkBox(cdRightToolWindowLayout) } - ) - twoColumnsRow( { if (ExperimentalUI.isNewUI()) { - checkBox(cdRememberSizeForEachToolWindow) + checkBox(cdRememberSizeForEachToolWindowNewUI) } else { - checkBox(cdShowToolWindowNumbers) + checkBox(cdRememberSizeForEachToolWindowOldUI) } - }) + }, + ) + if (ExperimentalUI.isNewUI()) { + twoColumnsRow( + { checkBox(cdRightToolWindowLayout) }, + null, + ) + } + else { + twoColumnsRow( + { checkBox(cdRightToolWindowLayout) }, + { checkBox(cdShowToolWindowNumbers) }, + ) + } } group(message("group.presentation.mode")) { diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.kt index 3c838e0f7623..9ec50b1ef681 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.kt @@ -642,9 +642,9 @@ open class ToolWindowManagerImpl @NonInjectable @TestOnly internal constructor( private fun isIndependentToolWindowResizeEnabled(): Boolean = if (isNewUi) - UISettings.getInstance().rememberSizeForEachToolWindow + UISettings.getInstance().rememberSizeForEachToolWindowNewUI else - Registry.`is`("toolwindow.independent.sizes") + UISettings.getInstance().rememberSizeForEachToolWindowOldUI private fun visibleToolWindow(anchor: ToolWindowAnchor): ToolWindowEntry? = idToEntry.values.firstOrNull { it.isVisibleAndDockedTo(anchor) } diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties index 3d8976b46d60..20bfebc0a0b5 100644 --- a/platform/util/resources/misc/registry.properties +++ b/platform/util/resources/misc/registry.properties @@ -1907,9 +1907,6 @@ toolwindow.active.tab.contrast.background.color=808080 toolwindow.active.tab.contrast.background.color.description=Contrast color for selected tab background in tool windows toolwindow.disable.overlay.by.double.key=false toolwindow.disable.overlay.by.double.key.description=If Toolwindow Stripe button panels are hidden, you can invoke them by double Alt/Meta (hold) -toolwindow.independent.sizes=true -toolwindow.independent.sizes.description=If enabled, old UI tool windows docked to the same area will have independent sizes, \ -otherwise resizing one window will resize them all. For the new UI it's now configured in the settings linux.kernel.variables.validate.every.time=true linux.kernel.variables.validate.every.time.description=Check that kernel variables required to run profiler are set before every profiler start