Ensure units are updated upon preferences importing

This commit is contained in:
SiboVG 2023-06-06 18:21:34 +02:00
parent 5af6827e92
commit aa154c49da
3 changed files with 12 additions and 5 deletions

View File

@ -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();

View File

@ -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) {

View File

@ -626,6 +626,9 @@ 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 {
@ -646,6 +649,9 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences {
}
}
/**
* Stores the standard default units in the preferences.
*/
public void storeDefaultUnits() {
Preferences prefs = PREFNODE.node("units");