From 3bf4e9be2c4858e3a36b421b1e676079425fb0f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Kov=C3=A1r?= <matko@192.168.1.105> Date: Fri, 25 Feb 2022 16:14:53 +0100 Subject: [PATCH] fixed saving project --- .../analyst/project/ProjectPanel.java | 23 ++++++++++++++----- .../analyst/project/ProjectTopComp.java | 2 +- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/GUI/src/main/java/cz/fidentis/analyst/project/ProjectPanel.java b/GUI/src/main/java/cz/fidentis/analyst/project/ProjectPanel.java index 70cc97b4..38af8f99 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/project/ProjectPanel.java +++ b/GUI/src/main/java/cz/fidentis/analyst/project/ProjectPanel.java @@ -782,6 +782,7 @@ public class ProjectPanel extends JPanel { model.setRowCount(0); checkFaceState(null, false); selectedRows.clear(); + userPreferences.remove("pathToMostRecentProject"); } /** @@ -813,13 +814,23 @@ public class ProjectPanel extends JPanel { */ public void saveProject() { - JFileChooser chooser = new JFileChooser(); - //chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); - chooser.setFileFilter(new FileNameExtensionFilter("json files (*.json)", "json")); - chooser.setAcceptAllFileFilterUsed(true); - chooser.showSaveDialog(null); + File file; - File file = chooser.getSelectedFile(); + // If current project was saved before + String path = userPreferences.get("pathToMostRecentProject", ""); + if (path != null && !path.isEmpty()) { + file = Paths.get(path).toFile(); + + // Project was not saved before, user chooses new path where to save project + } else { + JFileChooser chooser = new JFileChooser(); + //chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + chooser.setFileFilter(new FileNameExtensionFilter("json files (*.json)", "json")); + chooser.setAcceptAllFileFilterUsed(true); + chooser.showSaveDialog(null); + + file = chooser.getSelectedFile(); + } if (file != null) { String filePath = file.getAbsolutePath(); diff --git a/GUI/src/main/java/cz/fidentis/analyst/project/ProjectTopComp.java b/GUI/src/main/java/cz/fidentis/analyst/project/ProjectTopComp.java index 06ae6879..ad98c996 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/project/ProjectTopComp.java +++ b/GUI/src/main/java/cz/fidentis/analyst/project/ProjectTopComp.java @@ -108,7 +108,7 @@ public final class ProjectTopComp extends TopComponent { // Asks user whether he wants to create new project or open existing projectPanel.openExistingOrNewProject(); - + // Pass this class to installer so it can call method of this class on close Installer inst = new Installer(this); } -- GitLab