You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2013/12/18 01:01:59 UTC

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

Author: rwhitcomb
Date: Wed Dec 18 00:01:58 2013
New Revision: 1551771

URL: http://svn.apache.org/r1551771
Log:
PIVOT-932: Setting root directory of a file browser that points to a non-default
drive (on Windows) leaves the display inconsistent:  the correct directory is
displayed but the file list is from the root of that drive.

So, suppress changing the root directory when a different drive is selected
while setting the root directory.

This is a merge of revision 1551768 from branches/2.0.x to trunk.

Modified:
    pivot/trunk/   (props changed)
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java

Propchange: pivot/trunk/
------------------------------------------------------------------------------
  Merged /pivot/branches/2.0.x:r1551768

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java?rev=1551771&r1=1551770&r2=1551771&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java Wed Dec 18 00:01:58 2013
@@ -684,6 +684,7 @@ public class TerraFileBrowserSkin extend
 
     private boolean updatingSelection = false;
     private boolean refreshRoots = true;
+    private boolean selectingDriveFromRootDirectory = false;
 
     private RefreshFileListTask refreshFileListTask = null;
 
@@ -724,7 +725,9 @@ public class TerraFileBrowserSkin extend
                     if (previousSelectedItem != null) {
                         File drive = (File) listButton.getSelectedItem();
                         if (drive != null && drive.canRead()) {
-                            fileBrowser.setRootDirectory(drive);
+                            if (!selectingDriveFromRootDirectory) {
+                                fileBrowser.setRootDirectory(drive);
+                            }
                         } else {
                             refreshRoots = true;
                             listButton.setSelectedItem(previousSelectedItem);
@@ -1125,7 +1128,9 @@ public class TerraFileBrowserSkin extend
             drive = path.get(path.getLength() - 1);
         }
 
+        selectingDriveFromRootDirectory = true;
         driveListButton.setSelectedItem(drive);
+        selectingDriveFromRootDirectory = false;
 
         pathListButton.setListData(path);
         pathListButton.setButtonData(rootDirectory);