Make Maven Tool window look consistent with Project View

This commit is contained in:
Sergey Evdokimov
2013-06-13 22:02:04 +04:00
parent b804794969
commit 62839c713e
2 changed files with 31 additions and 21 deletions
@@ -19,6 +19,8 @@ import com.intellij.execution.RunManagerAdapter;
import com.intellij.execution.RunManagerEx;
import com.intellij.ide.util.treeView.TreeState;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.DefaultActionGroup;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.State;
@@ -30,8 +32,8 @@ import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.openapi.wm.ToolWindow;
import com.intellij.openapi.wm.ToolWindowAnchor;
import com.intellij.openapi.wm.ex.ToolWindowEx;
import com.intellij.openapi.wm.ex.ToolWindowManagerAdapter;
import com.intellij.openapi.wm.ex.ToolWindowManagerEx;
import com.intellij.ui.treeStructure.SimpleTree;
@@ -71,7 +73,7 @@ public class MavenProjectsNavigator extends MavenSimpleProjectComponent implemen
private SimpleTree myTree;
private MavenProjectsStructure myStructure;
private ToolWindow myToolWindow;
private ToolWindowEx myToolWindow;
public static MavenProjectsNavigator getInstance(Project project) {
return project.getComponent(MavenProjectsNavigator.class);
@@ -216,7 +218,7 @@ public class MavenProjectsNavigator extends MavenSimpleProjectComponent implemen
JPanel panel = new MavenProjectsNavigatorPanel(myProject, myTree);
final ToolWindowManagerEx manager = ToolWindowManagerEx.getInstanceEx(myProject);
myToolWindow = manager.registerToolWindow(TOOL_WINDOW_ID, panel, ToolWindowAnchor.RIGHT, myProject, true);
myToolWindow = (ToolWindowEx)manager.registerToolWindow(TOOL_WINDOW_ID, panel, ToolWindowAnchor.RIGHT, myProject, true);
myToolWindow.setIcon(MavenIcons.ToolWindowMaven);
final ToolWindowManagerAdapter listener = new ToolWindowManagerAdapter() {
@@ -232,6 +234,16 @@ public class MavenProjectsNavigator extends MavenSimpleProjectComponent implemen
}
};
manager.addToolWindowManagerListener(listener);
ActionManager actionManager = ActionManager.getInstance();
DefaultActionGroup group = new DefaultActionGroup();
group.add(actionManager.getAction("Maven.GroupProjects"));
group.add(actionManager.getAction("Maven.ShowIgnored"));
group.add(actionManager.getAction("Maven.ShowBasicPhasesOnly"));
myToolWindow.setAdditionalGearActions(group);
Disposer.register(myProject, new Disposable() {
public void dispose() {
manager.removeToolWindowManagerListener(listener);
@@ -415,6 +415,22 @@
icon="MavenIcons.ExecuteMavenGoal">
</action>
<action id="Maven.GroupProjects"
class="org.jetbrains.idea.maven.navigator.actions.GroupProjectsAction"
text="Group Modules"
description="Group projects according to Maven structure"
icon="AllIcons.Nodes.Folder"/>
<action id="Maven.ShowIgnored"
class="org.jetbrains.idea.maven.navigator.actions.ShowIgnoredProjectsAction"
text="Show Ignored Projects"
description="Show ignored projects"
icon="AllIcons.Actions.ShowHiddens"/>
<action id="Maven.ShowBasicPhasesOnly"
class="org.jetbrains.idea.maven.navigator.actions.ShowBasicPhasesOnlyAction"
text="Show Basic Phases Only"
description="Show basic phases only"
icon="AllIcons.General.Filter"/>
<group id="Maven.TasksGroup">
<action id="Maven.BeforeCompile"
class="org.jetbrains.idea.maven.tasks.actions.ToggleBeforeCompileTasksAction" text="Execute Before Make"
@@ -460,24 +476,6 @@
<separator/>
<reference id="Maven.ShowSettings"/>
<reference id="Maven.Help"/>
<action id="Maven.GroupProjects"
class="org.jetbrains.idea.maven.navigator.actions.GroupProjectsAction"
text="Group Modules"
description="Group projects according to Maven structure"
secondary="true"
icon="AllIcons.Nodes.Folder"/>
<action id="Maven.ShowIgnored"
class="org.jetbrains.idea.maven.navigator.actions.ShowIgnoredProjectsAction"
text="Show Ignored Projects"
description="Show ignored projects"
secondary="true"
icon="AllIcons.Actions.ShowHiddens"/>
<action id="Maven.ShowBasicPhasesOnly"
class="org.jetbrains.idea.maven.navigator.actions.ShowBasicPhasesOnlyAction"
text="Show Basic Phases Only"
description="Show basic phases only"
secondary="true"
icon="AllIcons.General.Filter"/>
</group>
<group id="Maven.DependencyMenu">