RunDashboard: Fix Remove/Copy Configuration actions enablement

This commit is contained in:
Konstantin Aleev
2017-10-10 08:53:36 +03:00
parent 3058a765b4
commit 727cd16d18
2 changed files with 9 additions and 2 deletions
@@ -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
@@ -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