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/11/07 06:33:15 UTC
svn commit: r1539528 - in /pivot/trunk:
wtk-terra/src/org/apache/pivot/wtk/skin/terra/ wtk/src/org/apache/pivot/wtk/
Author: rwhitcomb
Date: Thu Nov 7 05:33:15 2013
New Revision: 1539528
URL: http://svn.apache.org/r1539528
Log:
PIVOT-864: Fix the Home button so that the home location can be set for remote
systems (instead of the default local Home location). Extend this to all the
listeners also.
Modified:
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java
pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserListener.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java
pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheetListener.java
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java?rev=1539528&r1=1539527&r2=1539528&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSheetSkin.java Thu Nov 7 05:33:15 2013
@@ -112,13 +112,20 @@ public class TerraVFSBrowserSheetSkin ex
bxmlSerializer.bind(this, TerraVFSBrowserSheetSkin.class);
- // set the same rootDirectory to fileBrowser
+ // set the same rootDirectory as the component
try {
fileBrowser.setRootDirectory(fileBrowserSheet.getRootDirectory());
} catch (FileSystemException fse) {
throw new RuntimeException(fse);
}
+ // set the same homeDirectory as the component
+ try {
+ fileBrowser.setHomeDirectory(fileBrowserSheet.getHomeDirectory());
+ } catch (FileSystemException fse) {
+ throw new RuntimeException(fse);
+ }
+
saveAsTextInput.getTextInputContentListeners().add(new TextInputContentListener.Adapter() {
@Override
public void textChanged(TextInput textInput) {
@@ -146,6 +153,19 @@ public class TerraVFSBrowserSheetSkin ex
}
@Override
+ public void homeDirectoryChanged(VFSBrowser fileBrowserArgument,
+ FileObject previousHomeDirectory) {
+ updatingSelection = true;
+
+ try {
+ fileBrowserSheet.setHomeDirectory(fileBrowserArgument.getHomeDirectory());
+ } catch (FileSystemException fse) {
+ throw new RuntimeException(fse);
+ }
+ updatingSelection = false;
+ }
+
+ @Override
public void selectedFileAdded(VFSBrowser fileBrowserArgument, FileObject file) {
if (file.getName().getType() == FileType.FOLDER) {
selectedDirectoryCount++;
@@ -239,6 +259,7 @@ public class TerraVFSBrowserSheetSkin ex
fileBrowserSheet.getFileBrowserSheetListeners().add(this);
modeChanged(fileBrowserSheet, null);
+ homeDirectoryChanged(fileBrowserSheet, null);
rootDirectoryChanged(fileBrowserSheet, null);
selectedFilesChanged(fileBrowserSheet, null);
}
@@ -452,6 +473,18 @@ public class TerraVFSBrowserSheetSkin ex
}
@Override
+ public void homeDirectoryChanged(VFSBrowserSheet fileBrowserSheet,
+ FileObject previousHomeDirectory) {
+ if (!updatingSelection) {
+ try {
+ fileBrowser.setHomeDirectory(fileBrowserSheet.getHomeDirectory());
+ } catch (FileSystemException fse) {
+ throw new RuntimeException(fse);
+ }
+ }
+ }
+
+ @Override
public void selectedFilesChanged(VFSBrowserSheet fileBrowserSheet,
Sequence<FileObject> previousSelectedFiles) {
if (!updatingSelection) {
Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java?rev=1539528&r1=1539527&r2=1539528&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraVFSBrowserSkin.java Thu Nov 7 05:33:15 2013
@@ -90,8 +90,6 @@ import org.apache.pivot.wtk.skin.VFSBrow
*/
public class TerraVFSBrowserSkin extends VFSBrowserSkin {
- public static final String HOME_DIRECTORY = System.getProperty("user.home");
-
/**
* Abstract renderer for displaying file system contents.
*/
@@ -135,19 +133,23 @@ public class TerraVFSBrowserSkin extends
validate();
}
+ private static VFSBrowser getBrowser(Component component) {
+ Component parent = component;
+ while (!(parent instanceof VFSBrowser)) {
+ parent = parent.getParent();
+ }
+ return (VFSBrowser)parent;
+ }
+
/**
* Obtains the icon to display for a given file.
*
* @param file
*/
- public static Image getIcon(FileObject file) {
+ public static Image getIcon(FileObject file, Component component) {
Image icon;
if (file.getName().getType() == FileType.FOLDER) {
- // TODO: should this check be the full URI? What about remote
- // file systems?
- // seems like it should be the original home directory, and not
- // the local file system home
- icon = file.getName().getPath().equals(HOME_DIRECTORY) ? HOME_FOLDER_IMAGE
+ icon = file.equals(getBrowser(component).getHomeDirectory()) ? HOME_FOLDER_IMAGE
: FOLDER_IMAGE;
} else {
icon = FILE_IMAGE;
@@ -171,13 +173,13 @@ public class TerraVFSBrowserSkin extends
FileObject file = (FileObject) data;
// Update the image view
- imageView.setImage(getIcon(file));
+ imageView.setImage(getIcon(file, button));
imageView.getStyles().put("opacity", button.isEnabled() ? 1.0f : 0.5f);
// Update the label
String text = file.getName().getBaseName();
if (text.length() == 0) {
- text = System.getProperty("file.separator");
+ text = FileName.ROOT_PATH;
}
label.setText(text);
@@ -189,7 +191,7 @@ public class TerraVFSBrowserSkin extends
FileObject file = (FileObject) item;
String text = file.getName().getBaseName();
if (text.length() == 0) {
- text = System.getProperty("file.separator");
+ text = FileName.ROOT_PATH;
}
return text;
@@ -231,12 +233,11 @@ public class TerraVFSBrowserSkin extends
FileObject file = (FileObject) item;
// Update the image view
- imageView.setImage(getIcon(file));
+ imageView.setImage(getIcon(file, listView));
imageView.getStyles().put("opacity",
(listView.isEnabled() && !disabled) ? 1.0f : 0.5f);
// Update the label
- // TODO: should this be the full path or the base name?
String text = file.getName().getBaseName();
if (text.length() == 0) {
text = FileName.ROOT_PATH;
@@ -286,7 +287,7 @@ public class TerraVFSBrowserSkin extends
FileType type = file.getType();
if (columnName.equals(NAME_KEY)) {
text = file.getName().getBaseName();
- icon = getIcon(file);
+ icon = getIcon(file, tableView);
getStyles().put("horizontalAlignment", HorizontalAlignment.LEFT);
} else if (columnName.equals(SIZE_KEY)) {
if (type == FileType.FOLDER || type == FileType.IMAGINARY) {
@@ -784,6 +785,8 @@ public class TerraVFSBrowserSkin extends
private RefreshFileListTask refreshFileListTask = null;
+ private FileObject homeDirectory = null;
+
private static final FileFilter HIDDEN_FILE_FILTER = new FileFilter() {
@Override
public boolean accept(FileSelectInfo fileInfo) {
@@ -815,6 +818,8 @@ public class TerraVFSBrowserSkin extends
bxmlSerializer.bind(this, TerraVFSBrowserSkin.class);
+ homeDirectory = fileBrowser.getHomeDirectory();
+
driveListButton.getListButtonSelectionListeners().add(
new ListButtonSelectionListener.Adapter() {
@Override
@@ -875,9 +880,7 @@ public class TerraVFSBrowserSkin extends
@Override
public void buttonPressed(Button button) {
try {
- // TODO: should this be the remote file system's home and
- // not the local home?
- fileBrowser.setRootDirectory(HOME_DIRECTORY);
+ fileBrowser.setRootDirectory(fileBrowser.getHomeDirectory());
} catch (FileSystemException fse) {
throw new RuntimeException(fse);
}
@@ -1232,7 +1235,7 @@ public class TerraVFSBrowserSkin extends
goUpButton.setEnabled(pathListButton.isEnabled());
- goHomeButton.setEnabled(!rootDirectory.getName().getPath().equals(HOME_DIRECTORY));
+ goHomeButton.setEnabled(!rootDirectory.equals(homeDirectory));
fileScrollPane.setScrollTop(0);
fileScrollPane.setScrollLeft(0);
@@ -1243,6 +1246,14 @@ public class TerraVFSBrowserSkin extends
}
@Override
+ public void homeDirectoryChanged(VFSBrowser fileBrowser, FileObject previousHomeDirectory) {
+ this.homeDirectory = fileBrowser.getHomeDirectory();
+ goHomeButton.setEnabled(!fileBrowser.getRootDirectory().equals(homeDirectory));
+ // Refresh the list in order to redo the icons correctly
+ refreshFileList();
+ }
+
+ @Override
public void selectedFileAdded(VFSBrowser fileBrowser, FileObject file) {
if (!updatingSelection) {
@SuppressWarnings("unchecked")
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java?rev=1539528&r1=1539527&r2=1539528&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowser.java Thu Nov 7 05:33:15 2013
@@ -64,6 +64,13 @@ public class VFSBrowser extends Containe
}
@Override
+ public void homeDirectoryChanged(VFSBrowser fileBrowser, FileObject previousHomeDirectory) {
+ for (VFSBrowserListener listener : this) {
+ listener.homeDirectoryChanged(fileBrowser, previousHomeDirectory);
+ }
+ }
+
+ @Override
public void selectedFileAdded(VFSBrowser fileBrowser, FileObject file) {
for (VFSBrowserListener listener : this) {
listener.selectedFileAdded(fileBrowser, file);
@@ -104,6 +111,7 @@ public class VFSBrowser extends Containe
private FileSystemManager manager;
private FileName baseFileName;
private FileObject rootDirectory;
+ private FileObject homeDirectory;
private FileObjectList selectedFiles = new FileObjectList();
private boolean multiSelect = false;
private Filter<FileObject> disabledFileFilter = null;
@@ -111,11 +119,11 @@ public class VFSBrowser extends Containe
private FileBrowserListenerList fileBrowserListeners = new FileBrowserListenerList();
/**
- * Creates a new VFSBrowser <p> Note that this version set by default mode
- * to open.
+ * Creates a new VFSBrowser <p> Note that this version sets, by default,
+ * the mode to open.
*/
public VFSBrowser() throws FileSystemException {
- this(null, USER_HOME);
+ this(null, USER_HOME, null);
}
/**
@@ -125,26 +133,12 @@ public class VFSBrowser extends Containe
*
* @param manager The virtual file system we're going to manage.
* @param rootFolder The root folder full name.
+ * @param homeFolder The default home folder full name.
*/
- public VFSBrowser(FileSystemManager manager, URI rootFolder) throws FileSystemException {
- if (rootFolder == null) {
- throw new IllegalArgumentException();
- }
-
- if (manager == null) {
- this.manager = VFS.getManager();
- } else {
- this.manager = manager;
- }
- FileObject baseFile = this.manager.getBaseFile();
- if (baseFile != null) {
- baseFileName = baseFile.getName();
- }
- rootDirectory = this.manager.resolveFile(rootFolder);
- if (rootDirectory.getType() != FileType.FOLDER) {
- throw new IllegalArgumentException();
- }
- installSkin(VFSBrowser.class);
+ public VFSBrowser(FileSystemManager manager, URI rootFolder, URI homeFolder) throws FileSystemException {
+ this(manager,
+ rootFolder == null ? null : rootFolder.toString(),
+ homeFolder == null ? null : homeFolder.toString());
}
/**
@@ -153,25 +147,20 @@ public class VFSBrowser extends Containe
*
* @param manager The virtual file system we're going to manage.
* @param rootFolder The root folder full name.
+ * @param homeFolder The home folder full name.
*/
- public VFSBrowser(FileSystemManager manager, String rootFolder) throws FileSystemException {
+ public VFSBrowser(FileSystemManager manager, String rootFolder, String homeFolder) throws FileSystemException {
if (rootFolder == null) {
- throw new IllegalArgumentException();
+ throw new IllegalArgumentException("Root folder is null.");
}
- if (manager == null) {
- this.manager = VFS.getManager();
- } else {
- this.manager = manager;
- }
- FileObject baseFile = this.manager.getBaseFile();
- if (baseFile != null) {
- baseFileName = baseFile.getName();
- }
- rootDirectory = this.manager.resolveFile(rootFolder);
- if (rootDirectory.getType() != FileType.FOLDER) {
- throw new IllegalArgumentException();
- }
+ // Note: these methods all could trigger events, but since we're
+ // in the constructor and the skin isn't set yet, there will not
+ // be any listeners registered yet
+ setManager(manager);
+ setRootDirectory(rootFolder);
+ setHomeDirectory(homeFolder == null ? USER_HOME.toString() : homeFolder);
+
installSkin(VFSBrowser.class);
}
@@ -184,6 +173,24 @@ public class VFSBrowser extends Containe
return manager;
}
+ public void setManager(FileSystemManager manager) throws FileSystemException {
+ FileSystemManager previousManager = this.manager;
+
+ if (manager == null) {
+ this.manager = VFS.getManager();
+ } else {
+ this.manager = manager;
+ }
+ FileObject baseFile = this.manager.getBaseFile();
+ if (baseFile != null) {
+ baseFileName = baseFile.getName();
+ }
+
+ if (previousManager != null && previousManager != this.manager) {
+ fileBrowserListeners.managerChanged(this, previousManager);
+ }
+ }
+
/**
* Returns the current root directory.
*
@@ -209,8 +216,17 @@ public class VFSBrowser extends Containe
* @param rootDirectory
*/
public void setRootDirectory(FileObject rootDirectory) throws FileSystemException {
- if (rootDirectory == null || rootDirectory.getType() != FileType.FOLDER) {
- throw new IllegalArgumentException();
+ if (rootDirectory == null) {
+ throw new IllegalArgumentException("Root directory is null.");
+ }
+
+ // Give some grace to set the root folder to an actual file and
+ // have it work (by using the parent folder instead)
+ if (rootDirectory.getType() != FileType.FOLDER) {
+ rootDirectory = rootDirectory.getParent();
+ if (rootDirectory == null || rootDirectory.getType() != FileType.FOLDER) {
+ throw new IllegalArgumentException("Root file is not a directory.");
+ }
}
if (rootDirectory.exists()) {
@@ -227,6 +243,53 @@ public class VFSBrowser extends Containe
}
/**
+ * Returns the current home directory.
+ */
+ public FileObject getHomeDirectory() {
+ return homeDirectory;
+ }
+
+ /**
+ * Sets the home directory from a string.
+ *
+ * @param homeDirectory
+ */
+ public void setHomeDirectory(String homeDirectory) throws FileSystemException {
+ setHomeDirectory(manager.resolveFile(homeDirectory));
+ }
+
+ /**
+ * Sets the home directory.
+ *
+ * @param homeDirectory
+ */
+ public void setHomeDirectory(FileObject homeDirectory) throws FileSystemException {
+ if (homeDirectory == null) {
+ throw new IllegalArgumentException("Home directory is null.");
+ }
+
+ // Give some grace to set the home folder to an actual file and
+ // have it work (by using the parent folder instead)
+ if (homeDirectory.getType() != FileType.FOLDER) {
+ homeDirectory = homeDirectory.getParent();
+ if (homeDirectory == null || homeDirectory.getType() != FileType.FOLDER) {
+ throw new IllegalArgumentException("Home file is not a directory.");
+ }
+ }
+
+ if (homeDirectory.exists()) {
+ FileObject previousHomeDirectory = this.homeDirectory;
+
+ if (!homeDirectory.equals(previousHomeDirectory)) {
+ this.homeDirectory = homeDirectory;
+ fileBrowserListeners.homeDirectoryChanged(this, previousHomeDirectory);
+ }
+ } else {
+ setHomeDirectory(homeDirectory.getParent());
+ }
+ }
+
+ /**
* Adds a file to the file selection.
*
* @param file
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserListener.java?rev=1539528&r1=1539527&r2=1539528&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserListener.java Thu Nov 7 05:33:15 2013
@@ -40,6 +40,11 @@ public interface VFSBrowserListener {
}
@Override
+ public void homeDirectoryChanged(VFSBrowser fileBrowser, FileObject previousHomeDirectory) {
+ // empty block
+ }
+
+ @Override
public void selectedFileAdded(VFSBrowser fileBrowser, FileObject file) {
// empty block
}
@@ -85,6 +90,14 @@ public interface VFSBrowserListener {
public void rootDirectoryChanged(VFSBrowser fileBrowser, FileObject previousRootDirectory);
/**
+ * Called when a file browser's home directory has changed.
+ *
+ * @param fileBrowser
+ * @param previousHomeDirectory
+ */
+ public void homeDirectoryChanged(VFSBrowser fileBrowser, FileObject previousHomeDirectory);
+
+ /**
* Called when a file has been added to a file browser's selection.
*
* @param fileBrowser
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java?rev=1539528&r1=1539527&r2=1539528&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheet.java Thu Nov 7 05:33:15 2013
@@ -70,6 +70,14 @@ public class VFSBrowserSheet extends She
}
@Override
+ public void homeDirectoryChanged(VFSBrowserSheet fileBrowserSheet,
+ FileObject previousHomeDirectory) {
+ for (VFSBrowserSheetListener listener : this) {
+ listener.homeDirectoryChanged(fileBrowserSheet, previousHomeDirectory);
+ }
+ }
+
+ @Override
public void selectedFilesChanged(VFSBrowserSheet fileBrowserSheet,
Sequence<FileObject> previousSelectedFiles) {
for (VFSBrowserSheetListener listener : this) {
@@ -90,6 +98,7 @@ public class VFSBrowserSheet extends She
private FileSystemManager manager;
private FileName baseFileName;
private FileObject rootDirectory;
+ private FileObject homeDirectory;
private FileObjectList selectedFiles = new FileObjectList();
private Filter<FileObject> disabledFileFilter = null;
@@ -138,6 +147,31 @@ public class VFSBrowserSheet extends She
*/
public VFSBrowserSheet(FileSystemManager manager, Mode mode, String rootFolder)
throws FileSystemException {
+ this(manager, mode, rootFolder, null);
+ }
+
+ /**
+ * Creates a new VFSBrowserSheet
+ * <p>
+ * Note that this version of the constructor must be used when a custom home folder has to be set.
+ *
+ * @param manager
+ * The VFS FileSystemManager that we will be browsing. If <tt>null</tt> the default (local) will
+ * be used.
+ *
+ * @param mode
+ * The mode for opening the sheet.
+ * @see Mode
+ *
+ * @param rootFolder
+ * The root folder full name.
+ *
+ * @param homeFolder
+ * The default for the "home" folder (full name).
+ */
+ public VFSBrowserSheet(FileSystemManager manager, Mode mode, String rootFolder, String homeFolder)
+ throws FileSystemException
+ {
if (mode == null) {
throw new IllegalArgumentException("Mode is null.");
}
@@ -146,11 +180,14 @@ public class VFSBrowserSheet extends She
throw new IllegalArgumentException("Root folder is null.");
}
- setManager(manager);
-
this.mode = mode;
- setRootFolder(rootFolder);
+ // Note: these three methods all could trigger events, but since we're
+ // in the constructor and the skin isn't set yet, there will not be any
+ // listeners registered yet
+ setManager(manager);
+ setRootDirectory(rootFolder);
+ setHomeDirectory(homeFolder == null ? USER_HOME : homeFolder);
installSkin(VFSBrowserSheet.class);
}
@@ -202,31 +239,13 @@ public class VFSBrowserSheet extends She
return rootDirectory;
}
- // set the root folder but without firing events
- public void setRootFolder(String rootFolder) throws FileSystemException {
- if (rootFolder == null) {
- throw new IllegalArgumentException("Root folder is null.");
- }
-
- // Give some grace to set the root folder to an actual file and
- // have it work (by using the parent folder instead)
- rootDirectory = manager.resolveFile(rootFolder);
- if (rootDirectory.getType() != FileType.FOLDER) {
- rootDirectory = rootDirectory.getParent();
- if (rootDirectory == null || rootDirectory.getType() != FileType.FOLDER) {
- throw new IllegalArgumentException("Root file is not a directory.");
- }
- }
-
- }
-
public void setRootDirectory(String rootDirectory) throws FileSystemException {
setRootDirectory(manager.resolveFile(rootDirectory));
}
public void setRootDirectory(FileObject rootDirectory) throws FileSystemException {
if (rootDirectory == null) {
- throw new IllegalArgumentException("Root file is null.");
+ throw new IllegalArgumentException("Root directory is null.");
}
// Give some grace to set the root folder to an actual file and
@@ -251,6 +270,44 @@ public class VFSBrowserSheet extends She
}
}
+ public FileObject getHomeDirectory() {
+ return homeDirectory;
+ }
+
+ public void setHomeDirectory(String homeDirectory)
+ throws FileSystemException
+ {
+ setHomeDirectory(manager.resolveFile(homeDirectory));
+ }
+
+ public void setHomeDirectory(FileObject homeDirectory)
+ throws FileSystemException
+ {
+ if (homeDirectory == null) {
+ throw new IllegalArgumentException("Home file is null.");
+ }
+
+ // Give some grace to set the home folder to an actual file and
+ // have it work (by using the parent folder instead)
+ if (homeDirectory.getType() != FileType.FOLDER) {
+ homeDirectory = homeDirectory.getParent();
+ if (homeDirectory == null || homeDirectory.getType() != FileType.FOLDER) {
+ throw new IllegalArgumentException("Root file is not a directory.");
+ }
+ }
+
+ if (homeDirectory.exists()) {
+ FileObject previousHomeDirectory = this.homeDirectory;
+
+ if (!homeDirectory.equals(previousHomeDirectory)) {
+ this.homeDirectory = homeDirectory;
+ fileBrowserSheetListeners.homeDirectoryChanged(this, previousHomeDirectory);
+ }
+ } else {
+ setHomeDirectory(homeDirectory.getParent());
+ }
+ }
+
/**
* When in single-select mode, returns the currently selected file.
*
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheetListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheetListener.java?rev=1539528&r1=1539527&r2=1539528&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheetListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/VFSBrowserSheetListener.java Thu Nov 7 05:33:15 2013
@@ -47,6 +47,12 @@ public interface VFSBrowserSheetListener
}
@Override
+ public void homeDirectoryChanged(VFSBrowserSheet fileBrowserSheet,
+ FileObject previousHomeDirectory) {
+ // empty block
+ }
+
+ @Override
public void selectedFilesChanged(VFSBrowserSheet fileBrowserSheet,
Sequence<FileObject> previousSelectedFiles) {
// empty block
@@ -86,6 +92,16 @@ public interface VFSBrowserSheetListener
FileObject previousRootDirectory);
/**
+ * Called when a file browser sheet's home directory has changed.
+ * <p> Usually this would only be when you browse to another file system.
+ *
+ * @param fileBrowserSheet
+ * @param previousHomeDirectory
+ */
+ public void homeDirectoryChanged(VFSBrowserSheet fileBrowserSheet,
+ FileObject previousHomeDirectory);
+
+ /**
* Called when a file browser sheet's selection state has been reset.
*
* @param fileBrowserSheet