IDEA-58378: more checks

This commit is contained in:
Eugene Zhuravlev
2010-09-09 18:45:17 +04:00
parent 6b274aaa33
commit aad381d472
2 changed files with 24 additions and 7 deletions
@@ -37,7 +37,9 @@ public class RunContextAction extends BaseRunConfigurationAction {
final RunManagerEx runManager = (RunManagerEx)context.getRunManager();
if (configuration == null) {
configuration = context.getConfiguration();
if (configuration == null) return;
if (configuration == null) {
return;
}
runManager.setTemporaryConfiguration(configuration);
}
runManager.setActiveConfiguration(configuration);
@@ -63,7 +65,22 @@ public class RunContextAction extends BaseRunConfigurationAction {
configuration = context.getConfiguration();
}
final boolean b = configuration != null && getRunner(configuration.getConfiguration()) != null;
boolean b = true;
if (configuration == null) {
b = false;
}
else {
final ProgramRunner runner = getRunner(configuration.getConfiguration());
if (runner == null) {
b = false;
}
else {
if (ExecutorRegistry.getInstance().isStarting(context.getProject(), myExecutor.getId(), runner.getRunnerId())) {
b = false;
}
}
}
presentation.setEnabled(b);
presentation.setVisible(b);
}
@@ -15,10 +15,7 @@
*/
package com.intellij.execution.runners;
import com.intellij.execution.ExecutionBundle;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.Executor;
import com.intellij.execution.RunCanceledByUserException;
import com.intellij.execution.*;
import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.ui.RunContentDescriptor;
import com.intellij.ide.DataManager;
@@ -67,6 +64,9 @@ public class RestartAction extends AnAction implements DumbAware {
private void doRestart(final DataContext dataContext) {
final Project project = PlatformDataKeys.PROJECT.getData(dataContext);
if (ExecutorRegistry.getInstance().isStarting(project, myExecutor.getId(), myRunner.getRunnerId())) {
return;
}
try {
final ExecutionEnvironment old = myEnvironment;
myRunner.execute(myExecutor, new ExecutionEnvironment(old.getRunProfile(), project, old.getRunnerSettings(),
@@ -87,7 +87,7 @@ public class RestartAction extends AnAction implements DumbAware {
myProcessHandler = null; // already terminated
}
presentation.setEnabled(!isRunning /*&& myRunner.canRun(, myProfile)*/);
presentation.setEnabled(!isRunning /*&& myRunner.canRun(, myProfile)*/ && !ExecutorRegistry.getInstance().isStarting(myEnvironment.getProject(), myExecutor.getId(), myRunner.getRunnerId()));
}
public void registerShortcut(final JComponent component) {