run configurations: do not force user to choose configuration type if plus from conf. type node was pressed (IDEA-65236 )

This commit is contained in:
anna
2011-02-21 20:27:07 +01:00
parent 7ec009641e
commit 1758aa4e20
2 changed files with 18 additions and 3 deletions
@@ -21,6 +21,7 @@ import com.intellij.execution.configuration.ConfigurationFactoryEx;
import com.intellij.execution.configurations.*;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.options.*;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
@@ -332,12 +333,26 @@ class RunConfigurable extends BaseConfigurable {
? configurationType.getConfigurationTypeDescription()
: ExecutionBundle.message("run.configuration.default.type.description");
browser.setText(ExecutionBundle.message("empty.run.configuration.panel.text.label", font.getFontName(), addUrl, defaultsURL,
configurationTypeDescription));
configurationTypeDescription, configurationType != null ? configurationType.getId() : ""));
browser.setPreferredSize(new Dimension(200, 50));
browser.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(final HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
if (Comparing.strEqual(e.getDescription(), "add")) {
final String description = e.getDescription();
final String addPrefix = "add";
if (description.startsWith(addPrefix)) {
final String typeId = description.substring(addPrefix.length());
if (!typeId.isEmpty()) {
for (ConfigurationType type : Extensions.getExtensions(ConfigurationType.CONFIGURATION_TYPE_EP)) {
if (Comparing.strEqual(type.getId(), typeId)) {
final ConfigurationFactory[] factories = type.getConfigurationFactories();
if (factories.length > 0) {
createNewConfiguration(factories[0]);
}
return;
}
}
}
new MyToolbarAddAction().actionPerformed(null);
}
}
@@ -222,7 +222,7 @@ no.applet.class.specified.error.message=No applet class specified
no.main.class.specified.error.text=No main class specified
action.name.save.configuration=Save Configuration
#2 - configuration type description
empty.run.configuration.panel.text.label=<html><body><br><br><font face=\"{0}\" size=\"-1\">Press the <a href=\"add\"><image src=\"{1}\" border=\"0\"></a> \\&nbsp; button \
empty.run.configuration.panel.text.label=<html><body><br><br><font face=\"{0}\" size=\"-1\">Press the <a href=\"add{4}\"><image src=\"{1}\" border=\"0\"></a> \\&nbsp; button \
to create a new {3} based on default settings.</font></body></html>
default.package.presentable.name=<default>
default.package.configuration.name=default package