X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Fsave%2FFileSaver.java;h=5991b8636ef8b26f99b14a160016f109906f708f;hp=c42a644c4c7cf3562a7e85f78367f6bc25d79f4d;hb=52bf9e8686c916be37a26a0b75340393d4478b05;hpb=ca9bdb3916f9c39adbbf95d06ac95c21dafbb4e6 diff --git a/tim/prune/save/FileSaver.java b/tim/prune/save/FileSaver.java index c42a644..5991b86 100644 --- a/tim/prune/save/FileSaver.java +++ b/tim/prune/save/FileSaver.java @@ -32,6 +32,7 @@ import javax.swing.ListSelectionModel; import javax.swing.table.TableModel; import tim.prune.App; +import tim.prune.Config; import tim.prune.I18nManager; import tim.prune.UpdateMessageBroker; import tim.prune.data.Altitude; @@ -41,6 +42,7 @@ import tim.prune.data.Field; import tim.prune.data.FieldList; import tim.prune.data.Timestamp; import tim.prune.data.Track; +import tim.prune.load.GenericFileFilter; import tim.prune.load.OneCharDocument; /** @@ -220,7 +222,7 @@ public class FileSaver // header checkbox firstCard.add(Box.createRigidArea(new Dimension(0,10))); - _headerRowCheckbox = new JCheckBox(I18nManager.getText("dialog.save.headerrow")); + _headerRowCheckbox = new JCheckBox(I18nManager.getText("dialog.save.headerrow"), true); firstCard.add(_headerRowCheckbox); _cards.add(firstCard, "card1"); @@ -382,8 +384,17 @@ public class FileSaver boolean saveOK = true; FileWriter writer = null; if (_fileChooser == null) + { _fileChooser = new JFileChooser(); - _fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); + _fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); + _fileChooser.addChoosableFileFilter(new GenericFileFilter("filetype.txt", new String[] {"txt", "text"})); + _fileChooser.addChoosableFileFilter(new GenericFileFilter("filetype.gpx", new String[] {"gpx"})); + _fileChooser.addChoosableFileFilter(new GenericFileFilter("filetype.kml", new String[] {"kml"})); + _fileChooser.setAcceptAllFileFilterUsed(true); + // start from directory in config which should be set + File configDir = Config.getWorkingDirectory(); + if (configDir != null) {_fileChooser.setCurrentDirectory(configDir);} + } if (_fileChooser.showSaveDialog(_parentFrame) == JFileChooser.APPROVE_OPTION) { File saveFile = _fileChooser.getSelectedFile(); @@ -485,7 +496,7 @@ public class FileSaver { try { - buffer.append(point.getAltitude().getValue(altitudeFormat)); + buffer.append(point.getAltitude().getStringValue(altitudeFormat)); } catch (NullPointerException npe) {} } @@ -518,6 +529,8 @@ public class FileSaver writer.write(buffer.toString()); writer.write(lineSeparator); } + // Store directory in config for later + Config.setWorkingDirectory(saveFile.getParentFile()); // Save successful UpdateMessageBroker.informSubscribers(I18nManager.getText("confirm.save.ok1") + " " + numPoints + " " + I18nManager.getText("confirm.save.ok2")