diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.form b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.form index b8fae45b17b4..3ada1e79f2e6 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.form +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.form @@ -1,6 +1,6 @@
- + @@ -11,7 +11,7 @@ - + @@ -19,7 +19,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -39,9 +39,17 @@ - + + + + + + + + + diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java index 98a0b1e05fc9..c50dc64727b5 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java @@ -13,6 +13,7 @@ import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.options.SettingsEditor; import com.intellij.openapi.util.Disposer; import com.intellij.ui.HideableDecorator; +import com.intellij.ui.components.JBCheckBox; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -30,6 +31,7 @@ public class ConfigurationSettingsEditorWrapper extends SettingsEditor> tasks = ContainerUtil.copyList(myBeforeRunStepsPanel.getTasks()); + RunnerAndConfigurationSettings settingsToApply = null; if (isSnapshot) { runConfiguration.setBeforeRunTasks(tasks); } else { + RunManagerImpl runManager = settings.getManager(); runManager.setBeforeRunTasks(runConfiguration, tasks); + settingsToApply = runManager.getSettings(runConfiguration); } - RunnerAndConfigurationSettings runManagerSettings = runManager.getSettings(runConfiguration); - if (runManagerSettings != null) { - runManagerSettings.setEditBeforeRun(myBeforeRunStepsPanel.needEditBeforeRun()); - runManagerSettings.setActivateToolWindowBeforeRun(myBeforeRunStepsPanel.needActivateToolWindowBeforeRun()); + if (settingsToApply == null) { + settingsToApply = settings; } - else { - settings.setEditBeforeRun(myBeforeRunStepsPanel.needEditBeforeRun()); - settings.setActivateToolWindowBeforeRun(myBeforeRunStepsPanel.needActivateToolWindowBeforeRun()); + + settingsToApply.setEditBeforeRun(myBeforeRunStepsPanel.needEditBeforeRun()); + settingsToApply.setActivateToolWindowBeforeRun(myBeforeRunStepsPanel.needActivateToolWindowBeforeRun()); + if (myIsAllowRunningInParallelCheckBox.isVisible()) { + settings.getConfiguration().setAllowRunningInParallel(myIsAllowRunningInParallelCheckBox.isSelected()); } } diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.kt b/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.kt index 5445e02cc7d2..d091af40c3e5 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.kt +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.kt @@ -184,18 +184,13 @@ class RunnerAndConfigurationSettingsImpl @JvmOverloads constructor(val manager: } wasSingletonSpecifiedExplicitly = false - if (isTemplate) { + val singletonStr = element.getAttributeValue(SINGLETON) + if (singletonStr.isNullOrEmpty()) { configuration.isAllowRunningInParallel = factory.singletonPolicy.isAllowRunningInParallel } else { - val singletonStr = element.getAttributeValue(SINGLETON) - if (singletonStr.isNullOrEmpty()) { - configuration.isAllowRunningInParallel = factory.singletonPolicy.isAllowRunningInParallel - } - else { - wasSingletonSpecifiedExplicitly = true - configuration.isAllowRunningInParallel = !singletonStr!!.toBoolean() - } + wasSingletonSpecifiedExplicitly = true + configuration.isAllowRunningInParallel = !singletonStr!!.toBoolean() } _configuration = configuration