fc.setSelectedFile(new File(getDefaultDirectory(fc),
defaultFilename));
fc.setDialogTitle(resources.getString("Save_Backup.Window_Title"));
String defaultType = Settings.getVal(TYPE_PREF, ZIP);
for (String type : BACKUP_FILE_TYPES) {
ExampleFileFilter filter = makeFilter(type);
fc.addChoosableFileFilter(filter);
if (type.equalsIgnoreCase(defaultType))
fc.setFileFilter(filter);
}
if (fc.showSaveDialog(null) != JFileChooser.APPROVE_OPTION)
return null;
File dest = fc.getSelectedFile();
saveDefaultDirectory(dest);
if (dest == null)
return null;
ExampleFileFilter ff = (ExampleFileFilter) fc.getFileFilter();
File result = ff.maybeAppendExtension(dest);
String resultType = ff.getExtension(result);
if (StringUtils.hasValue(resultType))
InternalSettings.set(TYPE_PREF, resultType);
return result;
}