From 0322a81d8a5e73bf63246064c912365a59841f5e Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Wed, 9 May 2018 23:02:12 +0300 Subject: [PATCH] vcs: set Tree as a target component for toolbar in TreeActionsToolbarPanel --- .../openapi/vcs/changes/SpecificFilesViewDialog.java | 2 +- .../vcs/changes/ui/TreeActionsToolbarPanel.java | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/SpecificFilesViewDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/SpecificFilesViewDialog.java index 2be225462c7e..c23137e7b436 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/SpecificFilesViewDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/SpecificFilesViewDialog.java @@ -113,7 +113,7 @@ abstract class SpecificFilesViewDialog extends DialogWrapper { treeActions.add(cam.createExpandAllHeaderAction(expander, myView)); treeActions.add(cam.createCollapseAllHeaderAction(expander, myView)); - JPanel toolbarPanel = new TreeActionsToolbarPanel(actionToolbar, treeActions); + JPanel toolbarPanel = new TreeActionsToolbarPanel(actionToolbar, treeActions, myView); myPanel.add(toolbarPanel, BorderLayout.NORTH); myPanel.add(ScrollPaneFactory.createScrollPane(myView), BorderLayout.CENTER); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/TreeActionsToolbarPanel.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/TreeActionsToolbarPanel.java index 0d929605c8ef..4033d4e60526 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/TreeActionsToolbarPanel.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/TreeActionsToolbarPanel.java @@ -5,7 +5,9 @@ import com.intellij.openapi.actionSystem.ActionGroup; import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.actionSystem.ActionToolbar; import com.intellij.openapi.actionSystem.DefaultActionGroup; +import com.intellij.util.ObjectUtils; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.*; @@ -15,19 +17,19 @@ public class TreeActionsToolbarPanel extends JPanel { this(toolbar.getComponent(), tree); } - public TreeActionsToolbarPanel(@NotNull ActionToolbar toolbar, @NotNull ActionGroup group) { - this(toolbar.getComponent(), group); + public TreeActionsToolbarPanel(@NotNull ActionToolbar toolbar, @NotNull ActionGroup group, @Nullable JComponent targetComponent) { + this(toolbar.getComponent(), group, targetComponent); } public TreeActionsToolbarPanel(@NotNull Component toolbarComponent, @NotNull ChangesTree tree) { - this(toolbarComponent, createTreeActions(tree)); + this(toolbarComponent, createTreeActions(tree), tree); } - public TreeActionsToolbarPanel(@NotNull Component toolbarComponent, @NotNull ActionGroup group) { + public TreeActionsToolbarPanel(@NotNull Component toolbarComponent, @NotNull ActionGroup group, @Nullable JComponent targetComponent) { super(new BorderLayout()); ActionToolbar additionalToolbar = ActionManager.getInstance().createActionToolbar("TreeActionsToolbar", group, true); - additionalToolbar.setTargetComponent(this); + additionalToolbar.setTargetComponent(ObjectUtils.notNull(targetComponent, this)); additionalToolbar.setReservePlaceAutoPopupIcon(false); add(toolbarComponent, BorderLayout.CENTER);