diff --git a/.gitattributes b/.gitattributes
index 8bc21f871ff..17fba4bff81 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -12512,6 +12512,7 @@ res/pics_product/tournamentpacks/TMP.jpg -text
res/pics_product/tournamentpacks/TSP.jpg -text
res/pics_product/tournamentpacks/USG.jpg -text
res/preferences/.project -text
+res/preferences/editor.default.preferences -text svneol=native#application/xml
res/preferences/editor.preferences -text
res/preferences/main.properties -text
res/product-images.txt -text
diff --git a/res/preferences/editor.default.preferences b/res/preferences/editor.default.preferences
new file mode 100644
index 00000000000..b44db0a2864
--- /dev/null
+++ b/res/preferences/editor.default.preferences
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/forge/gui/deckeditor/SEditorIO.java b/src/main/java/forge/gui/deckeditor/SEditorIO.java
index 59bdc3dba62..9429f5cb41b 100644
--- a/src/main/java/forge/gui/deckeditor/SEditorIO.java
+++ b/src/main/java/forge/gui/deckeditor/SEditorIO.java
@@ -16,6 +16,7 @@ import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLEventWriter;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;
@@ -268,12 +269,20 @@ public class SEditorIO {
} // END TEMPORARY CONSOLIDATION FACILITATION
final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
- final String fileAddress = NewConstants.PREFS_EDITOR_FILE;
- final XMLEventReader reader = inputFactory.createXMLEventReader(new FileInputStream(fileAddress));
PREFS.clear();
COLS.clear();
+ // read in defaults
+ loadPrefs(inputFactory.createXMLEventReader(new FileInputStream(NewConstants.PREFS_DEFAULT_EDITOR_FILE)));
+
+ // overwrite defaults with user preferences
+ loadPrefs(inputFactory.createXMLEventReader(new FileInputStream(NewConstants.PREFS_EDITOR_FILE)));
+
+ SColumnUtil.attachSortAndDisplayFunctions();
+ }
+
+ private static void loadPrefs(final XMLEventReader reader) throws XMLStreamException {
XMLEvent event;
StartElement element;
Iterator> attributes;
@@ -309,7 +318,7 @@ public class SEditorIO {
attribute = (Attribute) attributes.next();
if (attribute.getName().toString().equals(ColumnProperty.enumval.toString())) {
try { COLS.put(ColumnName.valueOf(attribute.getValue()), tempcol); }
- catch (final Exception e) { }
+ catch (final Exception e) { /* ignore invalid entries */ }
tempcol.setEnumValue(attribute.getValue());
}
@@ -333,7 +342,5 @@ public class SEditorIO {
}
}
}
-
- SColumnUtil.attachSortAndDisplayFunctions();
}
}
diff --git a/src/main/java/forge/gui/deckeditor/controllers/CEditorPreferences.java b/src/main/java/forge/gui/deckeditor/controllers/CEditorPreferences.java
index 4f611eb9f75..5f034096ef9 100644
--- a/src/main/java/forge/gui/deckeditor/controllers/CEditorPreferences.java
+++ b/src/main/java/forge/gui/deckeditor/controllers/CEditorPreferences.java
@@ -72,7 +72,6 @@ public enum CEditorPreferences implements ICDoc {
final ColumnName name = prefsDict.get(key);
key.setSelected(SColumnUtil.getColumn(name).isShowing());
key.addItemListener(new ItemListener() {
-
@Override
public void itemStateChanged(ItemEvent arg0) {
SColumnUtil.toggleColumn(SColumnUtil.getColumn(name));
diff --git a/src/main/java/forge/properties/NewConstants.java b/src/main/java/forge/properties/NewConstants.java
index d1142e2d8e5..4fcb78e0ffe 100644
--- a/src/main/java/forge/properties/NewConstants.java
+++ b/src/main/java/forge/properties/NewConstants.java
@@ -47,6 +47,7 @@ public final class NewConstants {
public static final String PREFS_GLOBAL_FILE = "res/preferences/forge.preferences";
/** Constant PREFS_GLOBAL_FILE = "editor.preferences". */
public static final String PREFS_EDITOR_FILE = "res/preferences/editor.preferences";
+ public static final String PREFS_DEFAULT_EDITOR_FILE = "res/preferences/editor.default.preferences";
/** */
public static final String PREFS_MAIN_PROPERTIES_FILE = "res/preferences/main.properties";