mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[UI, TW] IJPL-242950 Remove the Show Toolbar action
Remove the action itself. Make the TW setToolbarVisible overload no-op, so the toolbars retain their initial visibility (and they should be visible by default). Make the TW overload of isToolbarVisible always return true to indicate the new behavior. Reviewed at IJ-CR-209740. (cherry picked from commit ba486b06af049ad87f3226e44829f6bda5ee7d42) GitOrigin-RevId: 6955cb859f6e595f95f57c6c911b2320556c20fc
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0f3f018096
commit
558fbf6029
@@ -1052,7 +1052,6 @@ f:com.intellij.ide.actions.TogglePresentationModeAction
|
||||
f:com.intellij.ide.actions.ToggleToolbarAction
|
||||
- s:createAction(java.lang.String,com.intellij.ide.util.PropertiesComponent,java.util.function.Supplier):com.intellij.ide.actions.ToggleToolbarAction
|
||||
- s:createToggleToolbarGroup(com.intellij.openapi.project.Project,com.intellij.openapi.wm.ToolWindow):com.intellij.openapi.actionSystem.DefaultActionGroup
|
||||
- s:createToolWindowAction(com.intellij.openapi.wm.ToolWindow,com.intellij.ide.util.PropertiesComponent):com.intellij.ide.actions.ToggleToolbarAction
|
||||
- getActionUpdateThread():com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
- isSelected(com.intellij.openapi.actionSystem.AnActionEvent):Z
|
||||
- s:isToolbarVisible(com.intellij.openapi.wm.ToolWindow):Z
|
||||
@@ -1066,7 +1065,6 @@ f:com.intellij.ide.actions.ToggleToolbarAction
|
||||
- s:setToolbarVisible(java.lang.Iterable,Z):V
|
||||
- s:setToolbarVisible(java.lang.String,com.intellij.ide.util.PropertiesComponent,java.lang.Iterable,java.lang.Boolean):V
|
||||
- update(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
- s:updateToolbarVisibility(com.intellij.openapi.wm.ToolWindow,com.intellij.openapi.actionSystem.ActionToolbar,com.intellij.ide.util.PropertiesComponent):V
|
||||
c:com.intellij.ide.actions.ToolWindowTabRenameActionBase
|
||||
- <init>(java.lang.String,java.lang.String):V
|
||||
- actionPerformed(com.intellij.openapi.actionSystem.AnActionEvent,com.intellij.openapi.wm.ToolWindow,com.intellij.ui.content.Content):V
|
||||
|
||||
@@ -22,9 +22,6 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.wm.ToolWindow;
|
||||
import com.intellij.ui.content.Content;
|
||||
import com.intellij.ui.content.ContentManager;
|
||||
import com.intellij.ui.content.ContentManagerEvent;
|
||||
import com.intellij.ui.content.ContentManagerListener;
|
||||
import com.intellij.ui.content.impl.ContentManagerImpl;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.JBIterable;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
@@ -44,9 +41,9 @@ import java.util.function.Supplier;
|
||||
* @author gregsh
|
||||
*/
|
||||
public final class ToggleToolbarAction extends ToggleAction implements DumbAware {
|
||||
@SuppressWarnings("unused") // published API, can't change the signature
|
||||
public static @NotNull DefaultActionGroup createToggleToolbarGroup(@NotNull Project project, @NotNull ToolWindow toolWindow) {
|
||||
return new DefaultActionGroup(new OptionsGroup(toolWindow),
|
||||
createToolWindowAction(toolWindow, PropertiesComponent.getInstance(project)));
|
||||
return new DefaultActionGroup(new OptionsGroup(toolWindow));
|
||||
}
|
||||
|
||||
public static @NotNull ToggleToolbarAction createAction(@NotNull String id,
|
||||
@@ -55,52 +52,18 @@ public final class ToggleToolbarAction extends ToggleAction implements DumbAware
|
||||
return new ToggleToolbarAction(properties, getShowToolbarProperty(id), components);
|
||||
}
|
||||
|
||||
public static @NotNull ToggleToolbarAction createToolWindowAction(@NotNull ToolWindow toolWindow,
|
||||
@NotNull PropertiesComponent properties) {
|
||||
updateToolbarsVisibility(toolWindow, properties);
|
||||
toolWindow.addContentManagerListener(new ContentManagerListener() {
|
||||
@Override
|
||||
public void contentAdded(@NotNull ContentManagerEvent event) {
|
||||
JComponent component = event.getContent().getComponent();
|
||||
setToolbarVisible(Collections.singletonList(component), isToolbarVisible(toolWindow, properties));
|
||||
|
||||
// support nested content managers, e.g. RunnerLayoutUi as content component
|
||||
ContentManager contentManager = ContentManagerImpl.getContentManager(component);
|
||||
if (contentManager != null) {
|
||||
contentManager.addContentManagerListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void selectionChanged(@NotNull ContentManagerEvent event) {
|
||||
if (event.getOperation() != ContentManagerEvent.ContentOperation.remove) {
|
||||
updateToolbarsVisibility(toolWindow, properties);
|
||||
}
|
||||
}
|
||||
});
|
||||
return new ToggleToolbarAction(properties, getShowToolbarProperty(toolWindow), () -> {
|
||||
ContentManager manager = toolWindow.getContentManagerIfCreated();
|
||||
return ContainerUtil.createMaybeSingletonList(manager == null ? null : manager.getComponent());
|
||||
});
|
||||
}
|
||||
|
||||
private static void updateToolbarsVisibility(@NotNull ToolWindow toolWindow,
|
||||
@NotNull PropertiesComponent properties) {
|
||||
if (toolWindow.getContentManagerIfCreated() == null) return;
|
||||
setToolbarVisible(Collections.singletonList(toolWindow.getComponent()), isToolbarVisible(toolWindow, properties));
|
||||
}
|
||||
|
||||
public static void updateToolbarVisibility(@NotNull ToolWindow toolWindow,
|
||||
@NotNull ActionToolbar toolbar,
|
||||
@NotNull PropertiesComponent properties) {
|
||||
setToolbarVisible(toolbar, isToolbarVisible(toolWindow, properties));
|
||||
}
|
||||
|
||||
/**
|
||||
* No-op since 2026.3.
|
||||
* @param toolWindow
|
||||
* @param properties
|
||||
* @param visible
|
||||
* @deprecated The Show Toolbar action is dropped in 2026.3, so toolbars are always visible.
|
||||
*/
|
||||
@Deprecated
|
||||
@SuppressWarnings("unused") // published API, can't change the signature
|
||||
public static void setToolbarVisible(@NotNull ToolWindow toolWindow,
|
||||
@NotNull PropertiesComponent properties,
|
||||
@Nullable Boolean visible) {
|
||||
boolean state = visible == null ? isToolbarVisible(toolWindow, properties) : visible;
|
||||
setToolbarVisibleImpl(getShowToolbarProperty(toolWindow), properties, Collections.singletonList(toolWindow.getComponent()), state);
|
||||
}
|
||||
|
||||
public static void setToolbarVisible(@NotNull String id,
|
||||
@@ -148,7 +111,7 @@ public final class ToggleToolbarAction extends ToggleAction implements DumbAware
|
||||
}
|
||||
|
||||
public static boolean isToolbarVisible(@NotNull ToolWindow toolWindow, @NotNull PropertiesComponent properties) {
|
||||
return isSelectedImpl(properties, getShowToolbarProperty(toolWindow));
|
||||
return true;
|
||||
}
|
||||
|
||||
private final PropertiesComponent myPropertiesComponent;
|
||||
|
||||
@@ -14,7 +14,6 @@ import com.intellij.ide.actions.ToolWindowMoveAction
|
||||
import com.intellij.ide.actions.ToolwindowFusEventFields
|
||||
import com.intellij.ide.impl.ContentManagerWatcher
|
||||
import com.intellij.ide.ui.UISettings
|
||||
import com.intellij.ide.util.PropertiesComponent
|
||||
import com.intellij.idea.ActionsBundle
|
||||
import com.intellij.internal.statistic.eventLog.events.EventPair
|
||||
import com.intellij.openapi.Disposable
|
||||
@@ -64,7 +63,6 @@ import com.intellij.toolWindow.InternalDecoratorImpl
|
||||
import com.intellij.toolWindow.ToolWindowEventSource
|
||||
import com.intellij.toolWindow.ToolWindowProperty
|
||||
import com.intellij.ui.ClientProperty
|
||||
import com.intellij.ui.ComponentTreeWatcher
|
||||
import com.intellij.ui.ComponentUtil
|
||||
import com.intellij.ui.ExperimentalUI
|
||||
import com.intellij.ui.LayeredIcon
|
||||
@@ -79,7 +77,6 @@ import com.intellij.ui.content.impl.ContentImpl
|
||||
import com.intellij.ui.content.impl.ContentManagerImpl
|
||||
import com.intellij.ui.content.tabs.TabbedContentAction
|
||||
import com.intellij.ui.scale.JBUIScale
|
||||
import com.intellij.util.ArrayUtil
|
||||
import com.intellij.util.ModalityUiUtil
|
||||
import com.intellij.util.SingleAlarm
|
||||
import com.intellij.util.cancelOnDispose
|
||||
@@ -299,15 +296,6 @@ private val LOG = logger<ToolWindowManagerImpl>()
|
||||
onMovedOrResized()
|
||||
}
|
||||
})
|
||||
object : ComponentTreeWatcher(ArrayUtil.EMPTY_CLASS_ARRAY) {
|
||||
override fun processComponent(component: Component) {
|
||||
if (component !is ActionToolbar) return
|
||||
ToggleToolbarAction.updateToolbarVisibility(
|
||||
this@ToolWindowImpl, component, PropertiesComponent.getInstance(project))
|
||||
}
|
||||
|
||||
override fun unprocessComponent(component: Component) = Unit
|
||||
}.register(decorator)
|
||||
if (ExperimentalUI.isNewUI()) {
|
||||
scrollPaneTracker = ScrollPaneTracker(container = decorator, filter = { true }) {
|
||||
updateScrolledState()
|
||||
|
||||
Reference in New Issue
Block a user