diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java index e6023fd5f7b8..901685def43a 100644 --- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java +++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java @@ -89,6 +89,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration DATA_KEY = DataKey.create("runtimeConfiguration"); @@ -60,4 +61,9 @@ public abstract class RuntimeConfiguration extends RunConfigurationBase implemen @NonNls public String suggestedName() { return null; } + + @Nullable + public String getGeneratedName() { + return suggestedName(); + } } diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java index 67248bbda6c8..f0fab2231765 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java @@ -289,6 +289,20 @@ class RunConfigurable extends BaseConfigurable { info.getEditor().addSettingsEditorListener(new SettingsEditorListener() { public void stateChanged(final SettingsEditor editor) { update(); + final RunConfiguration configuration = info.getConfiguration(); + if (configuration instanceof RuntimeConfiguration) { + final RuntimeConfiguration runtimeConfiguration = (RuntimeConfiguration)configuration; + if (runtimeConfiguration.isGeneratedName()) { + try { + final String generatedName = ((RuntimeConfiguration)editor.getSnapshot().getConfiguration()).getGeneratedName(); + if (generatedName != null && generatedName.length() > 0) { + info.setNameText(generatedName); + } + } + catch (ConfigurationException ignore) { + } + } + } setupDialogBounds(); } });