Make preset favorites per component type. That is, a single preset can be a favorite...
[debian/openrocket] / core / src / net / sf / openrocket / gui / util / SwingPreferences.java
index 40b4942afa6cac5cdd58b54debcd3b7caa1fa9c2..13b24962b81e309b9ae0e546966e1cc31f28005e 100644 (file)
@@ -471,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");
                
@@ -498,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");
                
@@ -508,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);
                                        }
@@ -530,6 +532,7 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences {
         * 
         * @return      a set of all user-defined materials.
         */
+       @Override
        public Set<Material> getUserMaterials() {
                Preferences prefs = PREFNODE.node("userMaterials");
                
@@ -540,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) {
@@ -556,8 +559,9 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences {
                return materials;
        }
        
-       public void setComponentFavorite( ComponentPreset preset, boolean favorite ) {
-               Preferences prefs = PREFNODE.node("favoritePresets");
+       @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 {
@@ -565,8 +569,9 @@ public class SwingPreferences extends net.sf.openrocket.startup.Preferences {
                }
        }
        
-       public Set<String> getComponentFavorites( ) {
-               Preferences prefs = PREFNODE.node("favoritePresets");
+       @Override
+       public Set<String> getComponentFavorites( ComponentPreset.Type type) {
+               Preferences prefs = PREFNODE.node("favoritePresets").node(type.name());
                Set<String> collection = new HashSet<String>();
                try {
                        collection.addAll( Arrays.asList(prefs.keys()));