From e9b0276465bf4299d833a34c6dfe478a1c2fccc6 Mon Sep 17 00:00:00 2001 From: hneemann Date: Thu, 25 Aug 2016 18:14:11 +0200 Subject: [PATCH] export remembers last path used --- src/main/java/de/neemann/digital/gui/Main.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/de/neemann/digital/gui/Main.java b/src/main/java/de/neemann/digital/gui/Main.java index d87e2c9fc..c9c0bab48 100644 --- a/src/main/java/de/neemann/digital/gui/Main.java +++ b/src/main/java/de/neemann/digital/gui/Main.java @@ -65,6 +65,8 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E private static final ArrayList ATTR_LIST = new ArrayList<>(); private static boolean experimental; + private static File LAST_EXPORT_DIRECTORY; + /** * @return true if experimental features are enabled */ @@ -918,10 +920,17 @@ public class Main extends JFrame implements ClosingWindowListener.ConfirmSave, E if (filename != null) fc.setSelectedFile(checkSuffix(filename, suffix)); + if (LAST_EXPORT_DIRECTORY != null) + fc.setCurrentDirectory(LAST_EXPORT_DIRECTORY); + fc.addChoosableFileFilter(new FileNameExtensionFilter(name, suffix)); if (fc.showSaveDialog(Main.this) == JFileChooser.APPROVE_OPTION) { + + LAST_EXPORT_DIRECTORY=fc.getSelectedFile().getParentFile(); + try (OutputStream out = new FileOutputStream(checkSuffix(fc.getSelectedFile(), suffix))) { new Export(circuitComponent.getCircuit(), exportFactory).export(out); + } catch (IOException e1) { new ErrorMessage(Lang.get("msg_errorWritingFile")).addCause(e1).show(Main.this); }