68 // Return the default shellfolder for a new filechooser
69 File homeDir = new File(System.getProperty("user.home"));
70 try {
71 return createShellFolder(homeDir);
72 } catch (FileNotFoundException e) {
73 return homeDir;
74 }
75 } else if (key.equals("roots")) {
76 // The root(s) of the displayable hierarchy
77 return File.listRoots();
78 } else if (key.equals("fileChooserComboBoxFolders")) {
79 // Return an array of ShellFolders representing the list to
80 // show by default in the file chooser's combobox
81 return get("roots");
82 } else if (key.equals("fileChooserShortcutPanelFolders")) {
83 // Return an array of ShellFolders representing well-known
84 // folders, such as Desktop, Documents, History, Network, Home, etc.
85 // This is used in the shortcut panel of the filechooser on Windows 2000
86 // and Windows Me
87 return new File[] { (File)get("fileChooserDefaultFolder") };
88 }
89 return null;
90 }
91
92 /**
93 * Does {@code dir} represent a "computer" such as a node on the network, or
94 * "My Computer" on the desktop.
95 */
96 public boolean isComputerNode(File dir) {
97 return false;
98 }
99
100 public boolean isFileSystemRoot(File dir) {
101 if (dir instanceof ShellFolder && !((ShellFolder) dir).isFileSystem()) {
102 return false;
103 }
104 return (dir.getParentFile() == null);
105 }
106
107 protected ShellFolder.Invoker createInvoker() {
|
68 // Return the default shellfolder for a new filechooser
69 File homeDir = new File(System.getProperty("user.home"));
70 try {
71 return createShellFolder(homeDir);
72 } catch (FileNotFoundException e) {
73 return homeDir;
74 }
75 } else if (key.equals("roots")) {
76 // The root(s) of the displayable hierarchy
77 return File.listRoots();
78 } else if (key.equals("fileChooserComboBoxFolders")) {
79 // Return an array of ShellFolders representing the list to
80 // show by default in the file chooser's combobox
81 return get("roots");
82 } else if (key.equals("fileChooserShortcutPanelFolders")) {
83 // Return an array of ShellFolders representing well-known
84 // folders, such as Desktop, Documents, History, Network, Home, etc.
85 // This is used in the shortcut panel of the filechooser on Windows 2000
86 // and Windows Me
87 return new File[] { (File)get("fileChooserDefaultFolder") };
88 } else if(key.startsWith("parseDisplayName ")) {
89 String path = key.substring("parseDisplayName ".length());
90 return new File(path);
91 }
92 return null;
93 }
94
95 /**
96 * Does {@code dir} represent a "computer" such as a node on the network, or
97 * "My Computer" on the desktop.
98 */
99 public boolean isComputerNode(File dir) {
100 return false;
101 }
102
103 public boolean isFileSystemRoot(File dir) {
104 if (dir instanceof ShellFolder && !((ShellFolder) dir).isFileSystem()) {
105 return false;
106 }
107 return (dir.getParentFile() == null);
108 }
109
110 protected ShellFolder.Invoker createInvoker() {
|