vcs: use global 'Collapse-ExpandAll' actions in ChangesBrowserBase

GitOrigin-RevId: 84d85040ea2a019a564b07c62f63732e7eed7bc3
This commit is contained in:
Aleksey Pivovarov
2024-03-25 15:36:22 +00:00
committed by intellij-monorepo-bot
parent c2fe9bba5c
commit e5fcb9b747
4 changed files with 19 additions and 10 deletions
@@ -66,7 +66,7 @@ public abstract class ChangesBrowserBase extends JPanel implements DataProvider
myViewer = createTreeList(project, showCheckboxes, highlightProblems);
myToolbar = ActionManager.getInstance().createActionToolbar("ChangesBrowser", myToolBarGroup, true);
myToolbar.setTargetComponent(this);
myToolbar.setTargetComponent(myViewer);
myToolbarAnchor = getToolbarAnchor();
myToolbar.setOrientation(isVerticalToolbar() ? SwingConstants.VERTICAL : SwingConstants.HORIZONTAL);
@@ -116,13 +116,8 @@ public abstract class ChangesBrowserBase extends JPanel implements DataProvider
}
if (isVerticalToolbar()) {
List<AnAction> treeActions = TreeActionsToolbarPanel.createTreeActions(myViewer);
boolean hasTreeActions = ContainerUtil.exists(
treeActions, action -> NewActionGroup.anyActionFromGroupMatches(myToolBarGroup, true, Predicate.isEqual(action)));
if (!hasTreeActions) {
myToolBarGroup.addSeparator();
myToolBarGroup.addAll(treeActions);
}
myToolBarGroup.addSeparator();
myToolBarGroup.addAll(TreeActionsToolbarPanel.createTreeActions());
}
myShowDiffAction.registerCustomShortcutSet(this, null);
@@ -644,7 +644,11 @@ public abstract class ChangesTree extends Tree implements DataProvider {
myTreeExpander = expander;
}
/**
* @deprecated Prefer using {@link IdeActions#ACTION_EXPAND_ALL}
*/
@NotNull
@Deprecated
public AnAction createExpandAllAction(boolean headerAction) {
if (headerAction) {
return CommonActionsManager.getInstance().createExpandAllHeaderAction(myTreeExpander, this);
@@ -654,7 +658,11 @@ public abstract class ChangesTree extends Tree implements DataProvider {
}
}
/**
* @deprecated Prefer using {@link IdeActions#ACTION_COLLAPSE_ALL}
*/
@NotNull
@Deprecated
public AnAction createCollapseAllAction(boolean headerAction) {
if (headerAction) {
return CommonActionsManager.getInstance().createCollapseAllHeaderAction(myTreeExpander, this);
@@ -23,7 +23,7 @@ public class TreeActionsToolbarPanel extends JPanel {
}
public TreeActionsToolbarPanel(@NotNull Component toolbarComponent, @NotNull ChangesTree tree) {
this(toolbarComponent, new DefaultActionGroup(createTreeActions(tree)), tree);
this(toolbarComponent, new DefaultActionGroup(createTreeActions()), tree);
}
public TreeActionsToolbarPanel(@NotNull Component toolbarComponent, @NotNull ActionGroup group, @Nullable JComponent targetComponent) {
@@ -37,6 +37,12 @@ public class TreeActionsToolbarPanel extends JPanel {
add(additionalToolbar.getComponent(), BorderLayout.EAST);
}
@NotNull
public static List<AnAction> createTreeActions() {
return Arrays.asList(ActionManager.getInstance().getAction(IdeActions.ACTION_EXPAND_ALL),
ActionManager.getInstance().getAction(IdeActions.ACTION_COLLAPSE_ALL));
}
@NotNull
public static List<AnAction> createTreeActions(@NotNull ChangesTree tree) {
return Arrays.asList(tree.createExpandAllAction(true),
@@ -113,7 +113,7 @@ internal class GitStagePanel(private val tracker: GitStageTracker,
val toolbarGroup = DefaultActionGroup()
toolbarGroup.add(ActionManager.getInstance().getAction("Git.Stage.Toolbar"))
toolbarGroup.addAll(TreeActionsToolbarPanel.createTreeActions(tree))
toolbarGroup.addAll(TreeActionsToolbarPanel.createTreeActions())
toolbar = ActionManager.getInstance().createActionToolbar(GIT_STAGE_PANEL_PLACE, toolbarGroup, true)
toolbar.targetComponent = tree