diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java index f50d66019..45b7d7215 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java @@ -1397,7 +1397,7 @@ public final class Configuration { private static void saveToFile(String file) { HashMap config = new HashMap<>(); - for (Entry entry : getConfigurationFields().entrySet()) { + for (Entry entry : getConfigurationFields(false, true).entrySet()) { try { String name = entry.getKey(); Field field = entry.getValue(); @@ -1450,7 +1450,7 @@ public final class Configuration { public static void setConfigurationFields() { try { HashMap config = loadFromFile(getConfigFile()); - for (Entry entry : getConfigurationFields().entrySet()) { + for (Entry entry : getConfigurationFields(false, true).entrySet()) { String name = entry.getKey(); Field field = entry.getValue(); /* Unsupported in java 9+ @@ -1541,26 +1541,28 @@ public final class Configuration { return defaultValue; } - /** + /* * Get configuration fields * @return Configuration fields */ - public static Map getConfigurationFields() { - return getConfigurationFields(false); - } + /*public static Map getConfigurationFields(boolean alsoRemoved) { + return getConfigurationFields(false, alsoRemoved); + }*/ /** * Get configuration fields * @param lowerCaseNames Lower case names * @return Configuration fields */ - public static Map getConfigurationFields(boolean lowerCaseNames) { + public static Map getConfigurationFields(boolean lowerCaseNames, boolean alsoRemoved) { Field[] fields = Configuration.class.getDeclaredFields(); Map result = new HashMap<>(); for (Field field : fields) { - ConfigurationRemoved removedAnnotation = field.getAnnotation(ConfigurationRemoved.class); - if (removedAnnotation != null) { - continue; + if (!alsoRemoved) { + ConfigurationRemoved removedAnnotation = field.getAnnotation(ConfigurationRemoved.class); + if (removedAnnotation != null) { + continue; + } } if (ConfigurationItem.class.isAssignableFrom(field.getType())) { String name = ConfigurationItem.getName(field); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationItem.java index 2e7fe41bd..deaa31029 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationItem.java @@ -130,6 +130,11 @@ public class ConfigurationItem { ConfigurationInternal cint = field.getAnnotation(ConfigurationInternal.class); return cint != null; } + + public static boolean isRemoved(Field field) { + ConfigurationRemoved removedAnnotation = field.getAnnotation(ConfigurationRemoved.class); + return removedAnnotation != null; + } @Override public String toString() { diff --git a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java index f4c1c1ec9..717f7bc89 100644 --- a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java +++ b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java @@ -271,7 +271,7 @@ public class CommandLineArgumentParser { } public static void printConfigurationSettings() { - Map fields = Configuration.getConfigurationFields(); + Map fields = Configuration.getConfigurationFields(false, false); String[] keys = new String[fields.size()]; keys = fields.keySet().toArray(keys); Arrays.sort(keys); @@ -282,7 +282,7 @@ public class CommandLineArgumentParser { if (ConfigurationItem.isInternal(field)) { continue; } - + ConfigurationItem item = ConfigurationItem.getItem(field); Object value = item.get(); Class type = ConfigurationItem.getConfigurationFieldType(field); @@ -852,7 +852,7 @@ public class CommandLineArgumentParser { cfgs = new String[]{cfgStr}; } - Map fields = Configuration.getConfigurationFields(true); + Map fields = Configuration.getConfigurationFields(true, false); for (String c : cfgs) { String[] cp = c.split("="); if (cp.length == 1) { diff --git a/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java b/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java index 58e83ee91..4108f38fb 100644 --- a/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java @@ -327,7 +327,7 @@ public class AdvancedSettingsDialog extends AppDialog { public static void getCategories(String hilightBackgroundColorHex, String hilightForegroundColorHex, Map allComponentsMap, Map categoryCounts, String filter, Map titleToNameMap, Map labelsMap, Map componentsMap, Map tabs, JComboBox skinComboBox, ResourceBundle resourceBundle) { Map> categorized = new HashMap<>(); - Map fields = Configuration.getConfigurationFields(); + Map fields = Configuration.getConfigurationFields(false, false); String[] keys = new String[fields.size()]; keys = fields.keySet().toArray(keys); Arrays.sort(keys); @@ -592,7 +592,7 @@ public class AdvancedSettingsDialog extends AppDialog { @SuppressWarnings("unchecked") private void okButtonActionPerformed(ActionEvent evt) { boolean modified = false; - Map fields = Configuration.getConfigurationFields(); + Map fields = Configuration.getConfigurationFields(false, false); Map values = new HashMap<>(); for (String name : fields.keySet()) { Component c = allComponentsMap.get(name); @@ -691,7 +691,7 @@ public class AdvancedSettingsDialog extends AppDialog { } private void resetButtonActionPerformed(ActionEvent evt) { - Map rfields = Configuration.getConfigurationFields(); + Map rfields = Configuration.getConfigurationFields(false, false); for (Entry entry : rfields.entrySet()) { String name = entry.getKey(); Field field = entry.getValue();