private static File requestFolderForSave2(String title, final String preferenceKey) { Assert.notNull(preferenceKey, "preferenceKey"); String lastDir = SnapApp.getDefault().getPreferences().get(preferenceKey, SystemUtils.getUserHomeDir().getPath()); File currentDir = new File(lastDir); SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setCurrentDirectory(currentDir); fileChooser.setDialogTitle(Dialogs.getDialogTitle(title)); fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); fileChooser.setAcceptAllFileFilterUsed(false); int result = fileChooser.showSaveDialog(SnapApp.getDefault().getMainFrame()); if (fileChooser.getCurrentDirectory() != null) { SnapApp.getDefault().getPreferences().put(preferenceKey, fileChooser.getCurrentDirectory().getPath()); } if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file == null || file.getName().equals("")) { return null; } String path = file.getPath(); return new File(path); } return null; }
if (fileChooser.getCurrentDirectory() != null) { getPreferences().put(preferenceKey, fileChooser.getCurrentDirectory().getPath());
fileChooser.setFileSelectionMode(dirsOnly ? JFileChooser.DIRECTORIES_ONLY : JFileChooser.FILES_ONLY); int result = fileChooser.showOpenDialog(SnapApp.getDefault().getMainFrame()); if (fileChooser.getCurrentDirectory() != null) { getPreferences().put(preferencesKey, fileChooser.getCurrentDirectory().getPath());
/** * Sets the current filename. * * @param currentFilename The current filename, or {@code null}. */ public void setCurrentFilename(String currentFilename) { Debug.trace("SnapFileChooser: setCurrentFilename(\"" + currentFilename + "\")"); String defaultExtension = getDefaultExtension(); if (getDialogType() != JFileChooser.OPEN_DIALOG) { if (currentFilename != null && defaultExtension != null) { FileFilter fileFilter = getFileFilter(); if (fileFilter instanceof SnapFileFilter) { SnapFileFilter filter = (SnapFileFilter) fileFilter; if (!filter.checkExtension(currentFilename)) { currentFilename = FileUtils.exchangeExtension(currentFilename, defaultExtension); } } else if (fileFilter instanceof FileNameExtensionFilter) { FileNameExtensionFilter filter = (FileNameExtensionFilter) fileFilter; if (!SnapFileFilter.checkExtensions(currentFilename, filter.getExtensions())) { currentFilename = FileUtils.exchangeExtension(currentFilename, defaultExtension); } } } } if (currentFilename != null && currentFilename.length() > 0) { setSelectedFile(new File(getCurrentDirectory(), currentFilename)); } }
/** * Called by the UI when the user hits the Approve button (labeled "Open" or "Save", by default). This can also be * called by the programmer. */ @Override public void approveSelection() { Debug.trace("SnapFileChooser: approveSelection(): selectedFile = " + getSelectedFile()); Debug.trace("SnapFileChooser: approveSelection(): currentFilename = " + getCurrentFilename()); Debug.trace("SnapFileChooser: approveSelection(): currentDirectory = " + getCurrentDirectory()); if (getDialogType() != JFileChooser.OPEN_DIALOG) { ensureSelectedFileHasValidExtension(); } super.approveSelection(); }
final File currentDirectory = fileChooser.getCurrentDirectory(); if (currentDirectory != null) { Config.instance().preferences().put(IMAGE_EXPORT_DIR_PREFERENCES_KEY, currentDirectory.getPath());
final File currentDirectory = fileChooser.getCurrentDirectory(); if (currentDirectory != null) { Config.instance().load().preferences().get(