diff --git a/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.java b/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.java index 2c0b6686ddb9..e2489df17ff1 100644 --- a/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.java +++ b/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.java @@ -252,7 +252,7 @@ public class LibraryOptionsPanel implements Disposable { private void doCreate() { final NewLibraryConfiguration libraryConfiguration = mySettings.getLibraryDescription().createNewLibrary(myPanel, getBaseDirectory()); if (libraryConfiguration != null) { - final NewLibraryEditor libraryEditor = new NewLibraryEditor(); + final NewLibraryEditor libraryEditor = new NewLibraryEditor(libraryConfiguration.getLibraryType(), libraryConfiguration.getProperties()); libraryEditor.setName(myLibrariesContainer.suggestUniqueLibraryName(libraryConfiguration.getDefaultLibraryName())); libraryConfiguration.addRoots(libraryEditor); if (myLibraryComboBoxModel.get(0) == null) { diff --git a/java/idea-ui/src/com/intellij/framework/library/impl/DownloadableLibraryEditor.java b/java/idea-ui/src/com/intellij/framework/library/impl/DownloadableLibraryEditor.java index a52040e9758d..8869844290bd 100644 --- a/java/idea-ui/src/com/intellij/framework/library/impl/DownloadableLibraryEditor.java +++ b/java/idea-ui/src/com/intellij/framework/library/impl/DownloadableLibraryEditor.java @@ -57,6 +57,7 @@ public class DownloadableLibraryEditor extends LibraryPropertiesEditor { myLibraryType = libraryType; updateDescription(); myCurrentVersionString = myEditorComponent.getProperties().getVersionString(); + myChangeVersionButton.setVisible(!myEditorComponent.isNewLibrary()); myChangeVersionButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { diff --git a/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/CustomLibraryDescriptionBase.java b/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/CustomLibraryDescriptionBase.java index 3e4c1bfa40b9..f38787f33257 100644 --- a/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/CustomLibraryDescriptionBase.java +++ b/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/CustomLibraryDescriptionBase.java @@ -15,6 +15,7 @@ */ package com.intellij.ide.util.frameworkSupport; +import com.intellij.framework.library.LibraryVersionProperties; import com.intellij.ide.IdeBundle; import com.intellij.openapi.fileChooser.FileChooser; import com.intellij.openapi.fileChooser.FileChooserDescriptor; @@ -46,7 +47,7 @@ public abstract class CustomLibraryDescriptionBase extends CustomLibraryDescript if (files.length == 0) { return null; } - return new NewLibraryConfiguration(myDefaultLibraryName) { + return new NewLibraryConfiguration(myDefaultLibraryName, getDownloadableLibraryType(), new LibraryVersionProperties()) { @Override public void addRoots(@NotNull LibraryEditor editor) { for (VirtualFile file : files) { diff --git a/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/CustomLibraryDescriptionImpl.java b/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/CustomLibraryDescriptionImpl.java index 1b862cb1abca..15cb3b424ddd 100644 --- a/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/CustomLibraryDescriptionImpl.java +++ b/java/idea-ui/src/com/intellij/ide/util/frameworkSupport/CustomLibraryDescriptionImpl.java @@ -17,6 +17,7 @@ package com.intellij.ide.util.frameworkSupport; import com.intellij.framework.library.DownloadableLibraryDescription; import com.intellij.framework.library.DownloadableLibraryType; +import com.intellij.framework.library.LibraryVersionProperties; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.roots.libraries.LibraryType; import com.intellij.openapi.roots.ui.configuration.libraries.LibraryFilter; diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/CreateCustomLibraryAction.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/CreateCustomLibraryAction.java index 27c8a73c43b9..d6f6a71232b3 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/CreateCustomLibraryAction.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/CreateCustomLibraryAction.java @@ -57,7 +57,7 @@ public class CreateCustomLibraryAction extends CustomLibraryActionBase { return; } - final NewLibraryEditor libraryEditor = new NewLibraryEditor(); + final NewLibraryEditor libraryEditor = new NewLibraryEditor(libraryConfiguration.getLibraryType(), libraryConfiguration.getProperties()); libraryEditor.setName(libraryConfiguration.getDefaultLibraryName()); libraryConfiguration.addRoots(libraryEditor); LibraryTablesRegistrar registrar = LibraryTablesRegistrar.getInstance(); diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/NewLibraryConfiguration.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/NewLibraryConfiguration.java index 0d49470d9f40..1aa57a1ec1d2 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/NewLibraryConfiguration.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraries/NewLibraryConfiguration.java @@ -15,17 +15,36 @@ */ package com.intellij.openapi.roots.ui.configuration.libraries; +import com.intellij.openapi.roots.libraries.LibraryProperties; +import com.intellij.openapi.roots.libraries.LibraryType; import com.intellij.openapi.roots.ui.configuration.libraryEditor.LibraryEditor; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * @author nik */ public abstract class NewLibraryConfiguration { - private String myDefaultLibraryName; + private final String myDefaultLibraryName; + private final LibraryType> myLibraryType; + private final LibraryProperties myProperties; - protected NewLibraryConfiguration(String defaultLibraryName) { + protected NewLibraryConfiguration(@NotNull String defaultLibraryName) { + this(defaultLibraryName, null, null); + } + + protected
NewLibraryConfiguration(@NotNull String defaultLibraryName, @Nullable LibraryType
libraryType, @Nullable P properties) {
myDefaultLibraryName = defaultLibraryName;
+ myLibraryType = libraryType;
+ myProperties = properties;
+ }
+
+ public LibraryType> getLibraryType() {
+ return myLibraryType;
+ }
+
+ public LibraryProperties getProperties() {
+ return myProperties;
}
public String getDefaultLibraryName() {
diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryRootsComponent.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryRootsComponent.java
index 6fd95fc5b1f9..05a50f69dbc2 100644
--- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryRootsComponent.java
+++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryRootsComponent.java
@@ -125,6 +125,11 @@ public class LibraryRootsComponent implements Disposable, LibraryEditorComponent
return getLibraryEditor().getProperties();
}
+ @Override
+ public boolean isNewLibrary() {
+ return getLibraryEditor() instanceof NewLibraryEditor;
+ }
+
public void updatePropertiesLabel() {
StringBuilder text = new StringBuilder();
for (String description : LibraryPresentationManager.getInstance().getDescriptions(getLibraryEditor().getFiles(OrderRootType.CLASSES))) {
diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/NewLibraryEditor.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/NewLibraryEditor.java
index 7020888eacb8..60906d471313 100644
--- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/NewLibraryEditor.java
+++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/NewLibraryEditor.java
@@ -47,7 +47,7 @@ public class NewLibraryEditor extends LibraryEditorBase {
this(null, null);
}
- public NewLibraryEditor(LibraryType type, LibraryProperties properties) {
+ public NewLibraryEditor(@Nullable LibraryType type, @Nullable LibraryProperties properties) {
myType = type;
myProperties = properties;
myRoots = new MultiMap {
@NotNull
P getProperties();
-
+
+ boolean isNewLibrary();
+
LibraryEditor getLibraryEditor();
@Nullable
diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyLibraryDescription.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyLibraryDescription.java
index 36aa97da258a..7b46d9a2cb8c 100644
--- a/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyLibraryDescription.java
+++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyLibraryDescription.java
@@ -19,7 +19,6 @@ import com.intellij.openapi.fileChooser.FileChooser;
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
import com.intellij.openapi.roots.libraries.LibraryKind;
import com.intellij.openapi.roots.libraries.LibraryPresentationProvider;
-import com.intellij.openapi.roots.libraries.LibraryProperties;
import com.intellij.openapi.roots.libraries.LibraryType;
import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription;
import com.intellij.openapi.roots.ui.configuration.libraries.LibraryFilter;
@@ -147,7 +146,7 @@ public class GroovyLibraryDescription extends CustomLibraryDescription {
}
@Nullable
- private VirtualFile findFile(String path) {
+ private static VirtualFile findFile(String path) {
if (path != null && path.length() > 0) {
return LocalFileSystem.getInstance().findFileByPath(FileUtil.toSystemIndependentName(path));
}