diff --git a/.gitattributes b/.gitattributes
index 3d7a949cd6c..cdde395f346 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -11087,6 +11087,7 @@ res/pics_product/tournamentpacks/SHM.jpg -text
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.preferences -text
res/preferences/main.properties -text
res/product-images.txt -text
diff --git a/res/preferences/.project b/res/preferences/.project
new file mode 100644
index 00000000000..0dd752fd79a
--- /dev/null
+++ b/res/preferences/.project
@@ -0,0 +1,11 @@
+
+
+ preferences
+
+
+
+
+
+
+
+
diff --git a/res/preferences/editor.preferences b/res/preferences/editor.preferences
index e205c2da6de..f8fdc945931 100644
--- a/res/preferences/editor.preferences
+++ b/res/preferences/editor.preferences
@@ -2,31 +2,31 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/forge/gui/deckeditor/SEditorIO.java b/src/main/java/forge/gui/deckeditor/SEditorIO.java
index 9037d0103c3..f943c7d0355 100644
--- a/src/main/java/forge/gui/deckeditor/SEditorIO.java
+++ b/src/main/java/forge/gui/deckeditor/SEditorIO.java
@@ -90,6 +90,24 @@ public class SEditorIO {
* @return TableColumnInfo
*/
public static TableColumnInfo getColumn(final ColumnName name0) {
+ /* final ColumnName[] vals = ColumnName.values();
+ boolean exists = false;
+ for (int i = 0; i < vals.length; i++) {
+ if (vals.equals(name0)) { exists = true; break; }
+ }
+
+ // Columns that are not in the enum must be created.
+ if (!exists) {
+ final TableColumnInfo col;
+ col = new TableColumnInfo();
+ col.setIdentifier(name0.toString());
+ col.setShowing(true);
+ col.setSortPriority(0);
+ col.setSortState(SortState.NONE);
+ col.setPreferredWidth(100);
+ COLS.put(name0, col);
+ }*/
+
return COLS.get(name0);
}
@@ -294,7 +312,9 @@ public class SEditorIO {
while (attributes.hasNext()) {
attribute = (Attribute) attributes.next();
if (attribute.getName().toString().equals(ColumnProperty.enumval.toString())) {
- COLS.put(ColumnName.valueOf(attribute.getValue()), tempcol);
+ try { COLS.put(ColumnName.valueOf(attribute.getValue()), tempcol); }
+ catch (final Exception e) { }
+
tempcol.setEnumValue(attribute.getValue());
}
else if (attribute.getName().toString().equals(ColumnProperty.identifier.toString())) {
diff --git a/src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java b/src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java
index 9d68d838d06..80088d18c5d 100644
--- a/src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java
+++ b/src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java
@@ -18,7 +18,10 @@
package forge.gui.deckeditor.controllers;
// import java.awt.Font;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
import forge.AllZone;
import forge.Constant;
@@ -37,6 +40,7 @@ import forge.item.InventoryItem;
import forge.item.ItemPool;
import forge.quest.QuestController;
import forge.util.closures.Lambda0;
+import forge.util.closures.Lambda1;
//import forge.quest.data.QuestBoosterPack;
@@ -54,6 +58,25 @@ public final class CEditorQuest extends ACEditorBase {
private final QuestController questData;
private final DeckController controller;
+ private Map decksUsingMyCards;
+
+ @SuppressWarnings("rawtypes")
+ private final Lambda1> fnDeckCompare = new Lambda1>() {
+ @Override
+ public Comparable apply(final Entry from) {
+ final Integer iValue = CEditorQuest.this.decksUsingMyCards.get(from.getKey());
+ return iValue == null ? Integer.valueOf(0) : iValue;
+ }
+ };
+
+ private final Lambda1