From 0229e78d17c579e3631ca8a0754cac89732cb73b Mon Sep 17 00:00:00 2001 From: Konstantin Aleev Date: Mon, 9 Oct 2017 14:30:30 +0300 Subject: [PATCH] RunDashboard: Move Show Configuration action to the first toolbar --- .../dashboard/RunDashboardContent.java | 40 ---------------- .../dashboard/RunDashboardManagerImpl.java | 1 + .../actions/ShowConfigurationsAction.java | 48 +++++++++++++++++++ .../src/idea/LangActions.xml | 3 ++ 4 files changed, 52 insertions(+), 40 deletions(-) create mode 100644 platform/lang-impl/src/com/intellij/execution/dashboard/actions/ShowConfigurationsAction.java 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 @@ + + +