From cd2d98447d8df1d7b59b12674dccdd93c1efe17d Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 5 Feb 2014 12:00:20 +0400 Subject: [PATCH] use natural ordering for nodes in Project Structure dialog --- .../configuration/projectRoot/FacetStructureConfigurable.java | 3 ++- .../configuration/projectRoot/ModuleStructureConfigurable.java | 2 +- .../src/com/intellij/openapi/ui/MasterDetailsComponent.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/FacetStructureConfigurable.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/FacetStructureConfigurable.java index 75899d359927..e5a008d3dcbb 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/FacetStructureConfigurable.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/FacetStructureConfigurable.java @@ -35,6 +35,7 @@ import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.FacetProje import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement; import com.intellij.openapi.ui.DetailsComponent; import com.intellij.openapi.ui.NamedConfigurable; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.treeStructure.filtered.FilteringTreeBuilder; import com.intellij.util.ui.tree.TreeUtil; import org.jetbrains.annotations.NonNls; @@ -154,7 +155,7 @@ public class FacetStructureConfigurable extends BaseStructureConfigurable { if (c1 instanceof FrameworkDetectionConfigurable && !(c2 instanceof FrameworkDetectionConfigurable)) return 1; if (!(c1 instanceof FrameworkDetectionConfigurable) && c2 instanceof FrameworkDetectionConfigurable) return -1; - return node1.getDisplayName().compareToIgnoreCase(node2.getDisplayName()); + return StringUtil.naturalCompare(node1.getDisplayName(), node2.getDisplayName()); } }; } diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ModuleStructureConfigurable.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ModuleStructureConfigurable.java index 15be3db2a602..44d7820feb88 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ModuleStructureConfigurable.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/projectRoot/ModuleStructureConfigurable.java @@ -90,7 +90,7 @@ public class ModuleStructureConfigurable extends BaseStructureConfigurable imple final NamedConfigurable configurable1 = o1.getConfigurable(); final NamedConfigurable configurable2 = o2.getConfigurable(); if (configurable1.getClass() == configurable2.getClass()) { - return o1.getDisplayName().compareToIgnoreCase(o2.getDisplayName()); + return StringUtil.naturalCompare(o1.getDisplayName(), o2.getDisplayName()); } final Object editableObject1 = configurable1.getEditableObject(); final Object editableObject2 = configurable2.getEditableObject(); diff --git a/platform/platform-api/src/com/intellij/openapi/ui/MasterDetailsComponent.java b/platform/platform-api/src/com/intellij/openapi/ui/MasterDetailsComponent.java index a286a800a244..677de1872eb9 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/MasterDetailsComponent.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/MasterDetailsComponent.java @@ -541,7 +541,7 @@ public abstract class MasterDetailsComponent implements Configurable, DetailsCom protected Comparator getNodeComparator() { return new Comparator() { public int compare(final MyNode o1, final MyNode o2) { - return o1.getDisplayName().compareToIgnoreCase(o2.getDisplayName()); + return StringUtil.naturalCompare(o1.getDisplayName(), o2.getDisplayName()); } }; }