X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Fgui%2Futil%2FSwingPreferences.java;h=13b24962b81e309b9ae0e546966e1cc31f28005e;hb=2bddccc8c2e80651f15e0b6c22c23f113c17610a;hp=45f2e0dc2944d074d5f4d5153ed819f5258bf2b6;hpb=6c4eb714ac079706cd21cec4b4556bda0a795cbf;p=debian%2Fopenrocket diff --git a/core/src/net/sf/openrocket/gui/util/SwingPreferences.java b/core/src/net/sf/openrocket/gui/util/SwingPreferences.java index 45f2e0dc..13b24962 100644 --- a/core/src/net/sf/openrocket/gui/util/SwingPreferences.java +++ b/core/src/net/sf/openrocket/gui/util/SwingPreferences.java @@ -5,6 +5,7 @@ import java.awt.Dimension; import java.awt.Point; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -14,9 +15,11 @@ import java.util.prefs.BackingStoreException; import java.util.prefs.Preferences; import net.sf.openrocket.arch.SystemInfo; +import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.document.Simulation; import net.sf.openrocket.logging.LogHelper; import net.sf.openrocket.material.Material; +import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.rocketcomponent.Rocket; import net.sf.openrocket.simulation.FlightDataType; import net.sf.openrocket.simulation.RK4SimulationStepper; @@ -36,7 +39,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { private static final List SUPPORTED_LOCALES; static { List list = new ArrayList(); - for (String lang : new String[] { "en", "de", "es", "fr", "it", "ru" }) { + for (String lang : new String[] { "en", "de", "es", "fr", "it", "ru","cs","pl" }) { list.add(new Locale(lang)); } SUPPORTED_LOCALES = Collections.unmodifiableList(list); @@ -396,7 +399,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { } public Simulation getBackgroundSimulation(Rocket rocket) { - Simulation s = new Simulation(rocket); + Simulation s = new Simulation(new OpenRocketDocument(rocket), rocket); SimulationOptions cond = s.getOptions(); cond.setTimeStep(RK4SimulationStepper.RECOMMENDED_TIME_STEP * 2); @@ -468,6 +471,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { * * @param m the material to add. */ + @Override public void addUserMaterial(Material m) { Preferences prefs = PREFNODE.node("userMaterials"); @@ -495,6 +499,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { * * @param m the material to remove. */ + @Override public void removeUserMaterial(Material m) { Preferences prefs = PREFNODE.node("userMaterials"); @@ -505,7 +510,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { String value = prefs.get(key, null); try { - Material existing = Material.fromStorableString(value, true); + Material existing = Material.fromStorableString(value); if (existing.equals(m)) { prefs.remove(key); } @@ -527,6 +532,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { * * @return a set of all user-defined materials. */ + @Override public Set getUserMaterials() { Preferences prefs = PREFNODE.node("userMaterials"); @@ -537,7 +543,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { String value = prefs.get(key, null); try { - Material m = Material.fromStorableString(value, true); + Material m = Material.fromStorableString(value); materials.add(m); } catch (IllegalArgumentException e) { @@ -553,7 +559,27 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences { return materials; } + @Override + public void setComponentFavorite( ComponentPreset preset, ComponentPreset.Type type, boolean favorite ) { + Preferences prefs = PREFNODE.node("favoritePresets").node(type.name()); + if ( favorite ) { + prefs.putBoolean(preset.preferenceKey(), true); + } else { + prefs.remove(preset.preferenceKey()); + } + } + @Override + public Set getComponentFavorites( ComponentPreset.Type type) { + Preferences prefs = PREFNODE.node("favoritePresets").node(type.name()); + Set collection = new HashSet(); + try { + collection.addAll( Arrays.asList(prefs.keys())); + } catch ( BackingStoreException bex ) { + + } + return collection; + } //// Helper methods }