You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by tv...@apache.org on 2009/10/21 12:42:49 UTC

svn commit: r827956 - /incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java

Author: tvolkert
Date: Wed Oct 21 10:42:49 2009
New Revision: 827956

URL: http://svn.apache.org/viewvc?rev=827956&view=rev
Log:
PIVOT-316 :: sort folders before files in TerraFileBrowserSkin when sorting on "name"

Modified:
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java?rev=827956&r1=827955&r2=827956&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java Wed Oct 21 10:42:49 2009
@@ -305,7 +305,16 @@
             int result;
 
             if (columnName.equals("name")) {
-                result = file1.getName().compareToIgnoreCase(file2.getName());
+                boolean file1IsDirectory = file1.isDirectory();
+                boolean file2IsDirectory = file2.isDirectory();
+
+                if (file1IsDirectory && !file2IsDirectory) {
+                    result = -1;
+                } else if (!file1IsDirectory && file2IsDirectory) {
+                    result = 1;
+                } else {
+                    result = file1.getName().compareToIgnoreCase(file2.getName());
+                }
             } else if (columnName.equals("size")) {
                 result = Long.signum(file1.length() - file2.length());
             } else if (columnName.equals("lastModified")) {