diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/elements/FacetBasedPackagingElementType.java b/java/compiler/impl/src/com/intellij/packaging/impl/elements/FacetBasedPackagingElementType.java index e655141d15d6..c8095dab4413 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/elements/FacetBasedPackagingElementType.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/elements/FacetBasedPackagingElementType.java @@ -81,7 +81,7 @@ public abstract class FacetBasedPackagingElementType { private ChooseFacetsDialog(Project project, List items, String title, String description) { - super(project, items, title, description); + super(project, items, title, description, true); } @Override diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ClasspathPanel.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ClasspathPanel.java index b0acf7b44886..1119075c48e2 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ClasspathPanel.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ClasspathPanel.java @@ -81,11 +81,6 @@ public class ClasspathPanel extends JPanel { private final EventDispatcher myListeners = EventDispatcher.create(OrderPanelListener.class); private PopupAction[] myPopupActions = null; private Icon[] myIcons = null; - private static final Comparator MODULES_COMPARATOR = new Comparator() { - public int compare(Module elem1, Module elem2) { - return elem1.getName().compareToIgnoreCase(elem2.getName()); - } - }; private JButton myEditButton; protected ClasspathPanel(Project project, ModifiableRootModel rootModel, final ModulesProvider modulesProvider) { @@ -691,7 +686,6 @@ public class ClasspathPanel extends JPanel { elements.add(module); } } - Collections.sort(elements, MODULES_COMPARATOR); return elements; } diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorContextImpl.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorContextImpl.java index edf3b635de22..caf65e3bd9e3 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorContextImpl.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorContextImpl.java @@ -79,7 +79,7 @@ public class ArtifactEditorContextImpl implements ArtifactEditorContext { } public List chooseArtifacts(final List artifacts, final String title) { - ChooseArtifactsDialog dialog = new ChooseArtifactsDialog(getProject(), artifacts, title, ""); + ChooseArtifactsDialog dialog = new ChooseArtifactsDialog(getProject(), artifacts, title, null); dialog.show(); return dialog.isOK() ? dialog.getChosenElements() : Collections.emptyList(); } @@ -118,14 +118,14 @@ public class ArtifactEditorContextImpl implements ArtifactEditorContext { } public List chooseModules(final List modules, final String title) { - ChooseModulesDialog dialog = new ChooseModulesDialog(getProject(), modules, title, ""); + ChooseModulesDialog dialog = new ChooseModulesDialog(getProject(), modules, title, null); dialog.show(); List selected = dialog.getChosenElements(); return dialog.isOK() ? selected : Collections.emptyList(); } public List chooseLibraries(final List libraries, final String title) { - ChooseLibrariesDialog dialog = new ChooseLibrariesDialog(getProject(), libraries, title, ""); + ChooseLibrariesDialog dialog = new ChooseLibrariesDialog(getProject(), libraries, title, null); dialog.show(); return dialog.isOK() ? dialog.getChosenElements() : Collections.emptyList(); } diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ChooseArtifactsDialog.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ChooseArtifactsDialog.java index 23da2268b333..7c36d7bf0694 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ChooseArtifactsDialog.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ChooseArtifactsDialog.java @@ -13,11 +13,7 @@ import java.util.List; public class ChooseArtifactsDialog extends ChooseElementsDialog { public ChooseArtifactsDialog(Project project, List items, String title, String description) { - super(project, items, title, description); - } - - public ChooseArtifactsDialog(JComponent component, String title, List items) { - super(component, items, title, true); + super(project, items, title, description, true); } protected String getItemText(Artifact item) { diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/ChooseModulesDialog.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/ChooseModulesDialog.java index 82141c6dea4d..08fd7f06a61d 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/ChooseModulesDialog.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/ChooseModulesDialog.java @@ -21,11 +21,11 @@ import java.util.List; public class ChooseModulesDialog extends ChooseElementsDialog { public ChooseModulesDialog(Component parent, final List items, final String title) { - super(parent, items, title); + super(parent, items, title, null, true); } public ChooseModulesDialog(final Project project, final List items, final String title, final String description) { - super(project, items, title, description); + super(project, items, title, description, true); } protected Icon getItemIcon(final Module item) { diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryTableEditor.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryTableEditor.java index 02db7efd4fdb..c5731e49fdcf 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryTableEditor.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/LibraryTableEditor.java @@ -470,11 +470,6 @@ public class LibraryTableEditor implements Disposable { private void appendLibraryToModules(final ModuleStructureConfigurable rootConfigurable, final Library libraryToSelect) { final List modules = new ArrayList(); modules.addAll(Arrays.asList(rootConfigurable.getModules())); - Collections.sort(modules, new Comparator() { - public int compare(final Module m1, final Module m2) { - return m1.getName().compareToIgnoreCase(m2.getName()); - } - }); final ChooseModulesDialog dlg = new ChooseModulesDialog(myProject, modules, ProjectBundle.message("choose.modules.dialog.title"), ProjectBundle.message("choose.modules.dialog.description", libraryToSelect.getName())); diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/packaging/ChooseLibrariesDialog.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/packaging/ChooseLibrariesDialog.java index b95c2d57e156..e9f9f1aca5e8 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/packaging/ChooseLibrariesDialog.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/packaging/ChooseLibrariesDialog.java @@ -16,11 +16,7 @@ import java.util.List; public class ChooseLibrariesDialog extends ChooseElementsDialog { public ChooseLibrariesDialog(Project project, List items, String title, String description) { - super(project, items, title, description); - } - - public ChooseLibrariesDialog(JComponent component, String title, List items) { - super(component, items, title, true); + super(project, items, title, description, true); } protected String getItemText(final Library item) { diff --git a/platform/platform-impl/src/com/intellij/ide/util/ChooseElementsDialog.java b/platform/platform-impl/src/com/intellij/ide/util/ChooseElementsDialog.java index c862c8e85c48..80a6d09937e0 100644 --- a/platform/platform-impl/src/com/intellij/ide/util/ChooseElementsDialog.java +++ b/platform/platform-impl/src/com/intellij/ide/util/ChooseElementsDialog.java @@ -9,9 +9,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.*; import java.awt.event.*; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; +import java.util.*; import java.util.List; /** @@ -22,28 +20,26 @@ public abstract class ChooseElementsDialog extends DialogWrapper { private String myDescription; public ChooseElementsDialog(Project project, List items, String title, final String description) { + this(project, items, title, description, false); + } + + public ChooseElementsDialog(Project project, List items, String title, final String description, boolean sort) { super(project, true); myDescription = description; - initializeDialog(items, title); + initializeDialog(items, title, sort); } public ChooseElementsDialog(Component parent, List items, String title) { - this(parent, items, title, false); + this(parent, items, title, null, false); } - public ChooseElementsDialog(Component parent, List items, String title, final boolean sort) { + public ChooseElementsDialog(Component parent, List items, String title, @Nullable String description, final boolean sort) { super(parent, true); - if (sort) { - Collections.sort(items, new Comparator() { - public int compare(final T o1, final T o2) { - return getItemText(o1).compareToIgnoreCase(getItemText(o2)); - } - }); - } - initializeDialog(items, title); + myDescription = description; + initializeDialog(items, title, sort); } - private void initializeDialog(final List items, final String title) { + private void initializeDialog(final List items, final String title, boolean sort) { setTitle(title); myChooser = new ElementsChooser(false) { protected String getItemText(@NotNull final T item) { @@ -52,7 +48,15 @@ public abstract class ChooseElementsDialog extends DialogWrapper { }; myChooser.setColorUnmarkedElements(false); - setElements(items, items.size() > 0 ? items.subList(0, 1) : Collections.emptyList()); + List elements = new ArrayList(items); + if (sort) { + Collections.sort(elements, new Comparator() { + public int compare(final T o1, final T o2) { + return getItemText(o1).compareToIgnoreCase(getItemText(o2)); + } + }); + } + setElements(elements, elements.size() > 0 ? elements.subList(0, 1) : Collections.emptyList()); myChooser.getComponent().registerKeyboardAction(new ActionListener() { public void actionPerformed(ActionEvent e) { doOKAction();