diff --git a/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardContent.java b/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardContent.java
index 6bff31a660e2..4f920820f063 100644
--- a/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardContent.java
+++ b/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardContent.java
@@ -357,7 +357,6 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
DefaultActionGroup treeGroup = new DefaultActionGroup();
- treeGroup.addAction(new ShowConfigurationsAction());
treeGroup.addAction(new PreviousConfigurationAction());
treeGroup.addAction(new NextConfigurationAction());
treeGroup.addSeparator();
@@ -465,45 +464,6 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
}
}
- private class ShowConfigurationsAction extends ToggleAction implements DumbAware {
- ShowConfigurationsAction() {
- super(ExecutionBundle.message("run.dashboard.show.configurations.action.name"), null, AllIcons.Actions.ShowAsTree);
- }
-
- @Override
- public void update(@NotNull AnActionEvent e) {
- super.update(e);
- boolean enabled = true;
- if (isSelected(e)) {
- if (myLastSelection instanceof RunDashboardNode) {
- Content content = ((RunDashboardNode)myLastSelection).getContent();
- enabled = content != null && content.getManager() == myContentManager;
- }
- else {
- enabled = false;
- }
- }
- e.getPresentation().setEnabled(enabled);
- }
-
- @Override
- public boolean isSelected(AnActionEvent e) {
- Project project = e.getProject();
- if (project == null) return true;
-
- return RunDashboardManager.getInstance(project).isShowConfigurations();
- }
-
- @Override
- public void setSelected(AnActionEvent e, boolean state) {
- Project project = e.getProject();
- if (project == null) return;
-
- RunDashboardManager.getInstance(project).setShowConfigurations(state);
- updateContent(false);
- }
- }
-
private class PreviousConfigurationAction extends AnAction implements DumbAware {
PreviousConfigurationAction() {
super(ExecutionBundle.message("run.dashboard.previous.configuration.action.name"), null, AllIcons.Actions.PreviousOccurence);
diff --git a/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardManagerImpl.java b/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardManagerImpl.java
index 3cd413de0273..c31c4b3eeff8 100644
--- a/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardManagerImpl.java
+++ b/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardManagerImpl.java
@@ -257,6 +257,7 @@ public class RunDashboardManagerImpl implements RunDashboardManager, PersistentS
public void setShowConfigurations(boolean value) {
myShowConfigurations = value;
updateToolWindowContent();
+ updateDashboard(false);
}
@Override
diff --git a/platform/lang-impl/src/com/intellij/execution/dashboard/actions/ShowConfigurationsAction.java b/platform/lang-impl/src/com/intellij/execution/dashboard/actions/ShowConfigurationsAction.java
new file mode 100644
index 000000000000..f3fd70794067
--- /dev/null
+++ b/platform/lang-impl/src/com/intellij/execution/dashboard/actions/ShowConfigurationsAction.java
@@ -0,0 +1,48 @@
+// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+package com.intellij.execution.dashboard.actions;
+
+import com.intellij.execution.ExecutionBundle;
+import com.intellij.execution.dashboard.RunDashboardContent;
+import com.intellij.execution.dashboard.RunDashboardManager;
+import com.intellij.icons.AllIcons;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.ToggleAction;
+import com.intellij.openapi.project.DumbAware;
+import com.intellij.openapi.project.Project;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author Konstantin Aleev
+ */
+public class ShowConfigurationsAction extends ToggleAction implements DumbAware {
+ public ShowConfigurationsAction() {
+ super(ExecutionBundle.message("run.dashboard.show.configurations.action.name"), null, AllIcons.Actions.ShowAsTree);
+ }
+
+ @Override
+ public void update(@NotNull AnActionEvent e) {
+ RunDashboardContent runDashboardContent = e.getData(RunDashboardContent.KEY);
+ if (runDashboardContent == null) {
+ e.getPresentation().setEnabledAndVisible(false);
+ return;
+ }
+
+ super.update(e);
+ }
+
+ @Override
+ public boolean isSelected(AnActionEvent e) {
+ Project project = e.getProject();
+ if (project == null) return true;
+
+ return RunDashboardManager.getInstance(project).isShowConfigurations();
+ }
+
+ @Override
+ public void setSelected(AnActionEvent e, boolean state) {
+ Project project = e.getProject();
+ if (project == null) return;
+
+ RunDashboardManager.getInstance(project).setShowConfigurations(state);
+ }
+}
diff --git a/platform/platform-resources/src/idea/LangActions.xml b/platform/platform-resources/src/idea/LangActions.xml
index 9993a21db8ee..aeaf5f97ffbf 100644
--- a/platform/platform-resources/src/idea/LangActions.xml
+++ b/platform/platform-resources/src/idea/LangActions.xml
@@ -1058,6 +1058,9 @@
+
+
+