use natural ordering for nodes in Project Structure dialog

This commit is contained in:
nik
2014-02-05 12:00:56 +04:00
parent ae32dbba37
commit cd2d98447d
3 changed files with 4 additions and 3 deletions
@@ -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());
}
};
}
@@ -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();
@@ -541,7 +541,7 @@ public abstract class MasterDetailsComponent implements Configurable, DetailsCom
protected Comparator<MyNode> getNodeComparator() {
return new Comparator<MyNode>() {
public int compare(final MyNode o1, final MyNode o2) {
return o1.getDisplayName().compareToIgnoreCase(o2.getDisplayName());
return StringUtil.naturalCompare(o1.getDisplayName(), o2.getDisplayName());
}
};
}