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; }