From aa154c49da7b3a11ba7936e4ce4f82eabf018638 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Tue, 6 Jun 2023 18:21:34 +0200 Subject: [PATCH] Ensure units are updated upon preferences importing --- .../gui/dialogs/preferences/PreferencesDialog.java | 3 --- .../sf/openrocket/gui/util/PreferencesImporter.java | 4 ++++ .../net/sf/openrocket/gui/util/SwingPreferences.java | 10 ++++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java index cb846d7ac..4f689507d 100644 --- a/swing/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java +++ b/swing/src/net/sf/openrocket/gui/dialogs/preferences/PreferencesDialog.java @@ -154,9 +154,6 @@ public class PreferencesDialog extends JDialog { initPrefsFile.delete(); } - // Ensure the units are properly stored - preferences.storeDefaultUnits(); - // Make sure unit change applies to the rocket figure if (parent != null) { parent.getRocketPanel().updateExtras(); diff --git a/swing/src/net/sf/openrocket/gui/util/PreferencesImporter.java b/swing/src/net/sf/openrocket/gui/util/PreferencesImporter.java index e2e8114f2..4621d360c 100644 --- a/swing/src/net/sf/openrocket/gui/util/PreferencesImporter.java +++ b/swing/src/net/sf/openrocket/gui/util/PreferencesImporter.java @@ -49,6 +49,10 @@ public abstract class PreferencesImporter { public static boolean importPreferences(File importFile) { try (FileInputStream fis = new FileInputStream(importFile)) { Preferences.importPreferences(fis); + + // Ensure units are updated + ((SwingPreferences) Application.getPreferences()).loadDefaultUnits(); + log.info("Preferences imported successfully."); return true; } catch (IOException | InvalidPreferencesFormatException e) { diff --git a/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java b/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java index 51be68159..7e9db6af1 100644 --- a/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java +++ b/swing/src/net/sf/openrocket/gui/util/SwingPreferences.java @@ -625,7 +625,10 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { ///////// Default unit storage - + + /** + * Loads the default units from the preferences. + */ public void loadDefaultUnits() { Preferences prefs = PREFNODE.node("units"); try { @@ -645,7 +648,10 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { Application.getExceptionHandler().handleErrorCondition(e); } } - + + /** + * Stores the standard default units in the preferences. + */ public void storeDefaultUnits() { Preferences prefs = PREFNODE.node("units");