diff --git a/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.form b/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.form
index 6ee5a7a64b98..2b24f0bcde72 100644
--- a/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.form
+++ b/java/idea-ui/src/com/intellij/facet/impl/ui/libraries/LibraryOptionsPanel.form
@@ -34,7 +34,7 @@
-
+
@@ -53,23 +53,32 @@
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
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 960bb183ddcf..806e175899e6 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
@@ -66,6 +66,7 @@ public class LibraryOptionsPanel {
private JButton myCreateButton;
private JRadioButton myDownloadRadioButton;
private JRadioButton myUseLibraryRadioButton;
+ private JLabel myUseLibraryLabel;
private ButtonGroup myButtonGroup;
private final LibraryCompositionSettings mySettings;
@@ -134,6 +135,7 @@ public class LibraryOptionsPanel {
if (!canDownload && !showDoNotCreateOption) {
myUseLibraryRadioButton.setVisible(false);
+ myUseLibraryLabel.setVisible(true);
}
myCreateButton.addActionListener(new ActionListener() {
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 a32a72118a3e..9d3546500f72 100644
--- a/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyLibraryDescription.java
+++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyLibraryDescription.java
@@ -16,7 +16,7 @@
package org.jetbrains.plugins.groovy.config;
import com.intellij.openapi.fileChooser.FileChooser;
-import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
+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.ui.configuration.libraries.CustomLibraryDescription;
@@ -110,13 +110,23 @@ public class GroovyLibraryDescription extends CustomLibraryDescription {
initial = LocalFileSystem.getInstance().findFileByPath(FileUtil.toSystemIndependentName(envHome));
}
- final VirtualFile[] files = FileChooser.chooseFiles(parentComponent, FileChooserDescriptorFactory.createSingleFolderDescriptor(), initial);
+ final FileChooserDescriptor descriptor = new FileChooserDescriptor(false, true, false, false, false, false) {
+ @Override
+ public boolean isFileSelectable(VirtualFile file) {
+ if (!super.isFileSelectable(file)) {
+ return false;
+ }
+ return findManager(file) != null;
+ }
+ };
+ descriptor.setTitle("Groovy SDK");
+ descriptor.setDescription("Choose a directory containing Groovy distribution");
+ final VirtualFile[] files = FileChooser.chooseFiles(parentComponent, descriptor, initial);
if (files.length != 1) return null;
final VirtualFile dir = files[0];
final GroovyLibraryPresentationProviderBase provider = findManager(dir);
if (provider == null) {
- //todo[nik,peter] show error message in file chooser
return null;
}