Author: rwhitcomb
Date: Tue Dec 17 23:52:51 2013
New Revision: 1551768

URL: http://svn.apache.org/r1551768
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.

Modified:
    
pivot/branches/2.0.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java

Modified: 
pivot/branches/2.0.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java
URL: 
http://svn.apache.org/viewvc/pivot/branches/2.0.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java?rev=1551768&r1=1551767&r2=1551768&view=diff
==============================================================================
--- 
pivot/branches/2.0.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java
 (original)
+++ 
pivot/branches/2.0.x/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFileBrowserSkin.java
 Tue Dec 17 23:52:51 2013
@@ -677,6 +677,7 @@ public class TerraFileBrowserSkin extend
 
     private boolean updatingSelection = false;
     private boolean refreshRoots = true;
+    private boolean selectingDriveFromRootDirectory = false;
 
     private RefreshFileListTask refreshFileListTask = null;
 
@@ -717,7 +718,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);
@@ -1117,7 +1120,9 @@ public class TerraFileBrowserSkin extend
             drive = path.get(path.getLength() - 1);
         }
 
+        selectingDriveFromRootDirectory = true;
         driveListButton.setSelectedItem(drive);
+        selectingDriveFromRootDirectory = false;
 
         pathListButton.setListData(path);
         pathListButton.setButtonData(rootDirectory);


Reply via email to