From 727cd16d18c33a45dd91ed2185d9be56affc90cc Mon Sep 17 00:00:00 2001 From: Konstantin Aleev Date: Tue, 10 Oct 2017 08:51:29 +0300 Subject: [PATCH] RunDashboard: Fix Remove/Copy Configuration actions enablement --- .../dashboard/actions/CopyConfigurationAction.java | 6 +++++- .../dashboard/actions/RemoveConfigurationAction.java | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/dashboard/actions/CopyConfigurationAction.java b/platform/lang-impl/src/com/intellij/execution/dashboard/actions/CopyConfigurationAction.java index a12c7ae5fda0..e2c33c90ffc3 100644 --- a/platform/lang-impl/src/com/intellij/execution/dashboard/actions/CopyConfigurationAction.java +++ b/platform/lang-impl/src/com/intellij/execution/dashboard/actions/CopyConfigurationAction.java @@ -20,11 +20,13 @@ import com.intellij.execution.RunManager; import com.intellij.execution.RunnerAndConfigurationSettings; import com.intellij.execution.configuration.ConfigurationFactoryEx; import com.intellij.execution.configurations.ConfigurationFactory; +import com.intellij.execution.dashboard.RunDashboardManager; import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode; import com.intellij.execution.impl.RunDialog; import com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl; import com.intellij.openapi.actionSystem.ActionPlaces; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.project.Project; import com.intellij.util.PlatformIcons; import org.jetbrains.annotations.NotNull; @@ -48,7 +50,9 @@ public class CopyConfigurationAction extends RunConfigurationTreeAction { @Override protected boolean isEnabled4(RunDashboardRunConfigurationNode node) { - return RunManager.getInstance(node.getProject()).hasSettings(node.getConfigurationSettings()); + Project project = node.getProject(); + return !project.isDisposed() && RunDashboardManager.getInstance(project).isShowConfigurations() && + RunManager.getInstance(node.getProject()).hasSettings(node.getConfigurationSettings()); } @Override diff --git a/platform/lang-impl/src/com/intellij/execution/dashboard/actions/RemoveConfigurationAction.java b/platform/lang-impl/src/com/intellij/execution/dashboard/actions/RemoveConfigurationAction.java index 2c11426b73da..e7467729c46d 100644 --- a/platform/lang-impl/src/com/intellij/execution/dashboard/actions/RemoveConfigurationAction.java +++ b/platform/lang-impl/src/com/intellij/execution/dashboard/actions/RemoveConfigurationAction.java @@ -17,6 +17,7 @@ package com.intellij.execution.dashboard.actions; import com.intellij.execution.ExecutionBundle; import com.intellij.execution.RunManager; +import com.intellij.execution.dashboard.RunDashboardManager; import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode; import com.intellij.execution.dashboard.RunDashboardContent; import com.intellij.icons.AllIcons; @@ -39,7 +40,9 @@ public class RemoveConfigurationAction extends RunConfigurationTreeAction { @Override protected boolean isEnabled4(RunDashboardRunConfigurationNode node) { - return RunManager.getInstance(node.getProject()).hasSettings(node.getConfigurationSettings()); + Project project = node.getProject(); + return !project.isDisposed() && RunDashboardManager.getInstance(project).isShowConfigurations() && + RunManager.getInstance(node.getProject()).hasSettings(node.getConfigurationSettings()); } @Override