From b2e0192d685cb5f83f10c971662ee562713e4ecc Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 17 Feb 2012 13:25:58 +0100 Subject: [PATCH] sort files by extension in scope view when sort by type is on (IDEA-81520) --- .../intellij/packageDependencies/ui/FileNode.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/packageDependencies/ui/FileNode.java b/platform/lang-impl/src/com/intellij/packageDependencies/ui/FileNode.java index faa4a7324296..9c368a372ba7 100644 --- a/platform/lang-impl/src/com/intellij/packageDependencies/ui/FileNode.java +++ b/platform/lang-impl/src/com/intellij/packageDependencies/ui/FileNode.java @@ -18,6 +18,7 @@ package com.intellij.packageDependencies.ui; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Iconable; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vcs.FileStatusManager; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiElement; @@ -31,7 +32,7 @@ import java.awt.*; import java.util.Map; import java.util.Set; -public class FileNode extends PackageDependenciesNode { +public class FileNode extends PackageDependenciesNode implements Comparable{ private final VirtualFile myVFile; private final boolean myMarked; @@ -124,4 +125,13 @@ public class FileNode extends PackageDependenciesNode { private PsiFile getFile() { return myVFile.isValid() ? PsiManager.getInstance(myProject).findFile(myVFile) : null; } + + @Override + public int compareTo(FileNode o) { + final int compare = StringUtil.compare(myVFile != null ? myVFile.getFileType().getDefaultExtension() : null, + o.myVFile != null ? o.myVFile.getFileType().getDefaultExtension() : null, + true); + if (compare != 0) return compare; + return StringUtil.compare(toString(), o.toString(), true); + } }