X-Git-Url: https://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2FSaveConfig.java;h=489486d64b1119775455a66cead0a47d02eea03b;hb=8c8868ae29b3252f02e094c02307384cf61ba667;hp=6c0e4d089cedcfc43e9b17ef7f5c0f328efcd6fb;hpb=f35b6d628f68e3b5ef19965ad8988d0dd1eb8efa;p=GpsPrune.git diff --git a/tim/prune/function/SaveConfig.java b/tim/prune/function/SaveConfig.java index 6c0e4d0..489486d 100644 --- a/tim/prune/function/SaveConfig.java +++ b/tim/prune/function/SaveConfig.java @@ -86,13 +86,16 @@ public class SaveConfig extends GenericFunction { mainPanel.add(new JLabel(keyLabel)); String val = conf.getProperty(key); + String tipText = val; if (Config.isKeyBoolean(key)) { val = Config.getConfigBoolean(key)?I18nManager.getText("dialog.about.yes"):I18nManager.getText("dialog.about.no"); } else if (val != null && val.length() > 30) { val = val.substring(0, 30) + " ..."; } - mainPanel.add(new JLabel(val)); + JLabel label = new JLabel(val); + label.setToolTipText(tipText); + mainPanel.add(label); } } dialogPanel.add(mainPanel, BorderLayout.CENTER); @@ -128,28 +131,46 @@ public class SaveConfig extends GenericFunction private void finish() { File configFile = Config.getConfigFile(); - if (configFile == null) {configFile = new File(".pruneconfig");} + if (configFile == null) {configFile = Config.HOME_CONFIG_FILE;} JFileChooser chooser = new JFileChooser(configFile.getAbsoluteFile().getParent()); chooser.setSelectedFile(configFile); int response = chooser.showSaveDialog(_parentFrame); if (response == JFileChooser.APPROVE_OPTION) { File saveFile = chooser.getSelectedFile(); - FileOutputStream outStream = null; - try - { - outStream = new FileOutputStream(saveFile); - Config.getAllConfig().store(outStream, "Prune config file"); - } - catch (IOException ioe) { - _app.showErrorMessageNoLookup(getNameKey(), - I18nManager.getText("error.save.failed") + " : " + ioe.getMessage()); - } - finally { - try {outStream.close();} catch (Exception e) {} - } + saveConfig(saveFile); } _dialog.dispose(); _dialog = null; } + + /** + * Autosave the settings file without any prompts + */ + public void silentSave() + { + saveConfig(Config.getConfigFile()); + } + + /** + * Actually save the config file + * @param inSaveFile file to save to + */ + private void saveConfig(File inSaveFile) + { + FileOutputStream outStream = null; + try + { + outStream = new FileOutputStream(inSaveFile); + Config.getAllConfig().store(outStream, "GpsPrune config file"); + } + catch (IOException ioe) { + _app.showErrorMessageNoLookup(getNameKey(), + I18nManager.getText("error.save.failed") + " : " + ioe.getMessage()); + } + catch (NullPointerException npe) {} // no config file given + finally { + try {outStream.close();} catch (Exception e) {} + } + } }