Support toggling want unique on the fly for Catalog

This commit is contained in:
drdev
2014-08-01 16:40:49 +00:00
parent 91ac72b55e
commit 6534fcb575
2 changed files with 22 additions and 2 deletions

View File

@@ -33,6 +33,7 @@ import forge.itemmanager.ItemColumn;
import forge.itemmanager.ItemManager.ContextMenuBuilder; import forge.itemmanager.ItemManager.ContextMenuBuilder;
import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerConfig;
import forge.limited.BoosterDraft; import forge.limited.BoosterDraft;
import forge.menu.FCheckBoxMenuItem;
import forge.menu.FDropDownMenu; import forge.menu.FDropDownMenu;
import forge.menu.FMenuItem; import forge.menu.FMenuItem;
import forge.menu.FPopupMenu; import forge.menu.FPopupMenu;
@@ -320,6 +321,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
}); });
} }
})); }));
((DeckEditorPage)getSelectedPage()).buildDeckMenu(this);
} }
}; };
menu.show(btnMoreOptions, 0, btnMoreOptions.getHeight()); menu.show(btnMoreOptions, 0, btnMoreOptions.getHeight());
@@ -496,6 +498,9 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
super(caption0, icon0); super(caption0, icon0);
} }
protected void buildDeckMenu(FPopupMenu menu) {
}
protected abstract void initialize(); protected abstract void initialize();
} }
@@ -740,7 +745,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
cardManager.setPool(cardpool); cardManager.setPool(cardpool);
break; break;
default: default:
cardManager.setPool(ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getUniqueCards(), PaperCard.class), true); cardManager.setPool(ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class), true);
break; break;
} }
} }
@@ -851,6 +856,21 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
} }
} }
} }
@Override
protected void buildDeckMenu(FPopupMenu menu) {
if (cardManager.getConfig().getShowUniqueCardsOption()) {
menu.addItem(new FCheckBoxMenuItem("Unique Cards Only", cardManager.getWantUnique(), new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
boolean wantUnique = !cardManager.getWantUnique();
cardManager.setWantUnique(wantUnique);
cardManager.refresh();
cardManager.getConfig().setUniqueCardsOnly(wantUnique);
}
}));
}
}
} }
protected static class DeckSectionPage extends CardManagerPage { protected static class DeckSectionPage extends CardManagerPage {

View File

@@ -24,7 +24,7 @@ import org.w3c.dom.NodeList;
public enum ItemManagerConfig { public enum ItemManagerConfig {
STRING_ONLY(SColumnUtil.getStringColumn(), false, false, true, STRING_ONLY(SColumnUtil.getStringColumn(), false, false, true,
null, null, 1, 0), null, null, 1, 0),
CARD_CATALOG(SColumnUtil.getCatalogDefaultColumns(true), true, false, false, CARD_CATALOG(SColumnUtil.getCatalogDefaultColumns(true), true, true, false,
null, null, 4, 0), null, null, 4, 0),
DECK_EDITOR(SColumnUtil.getDeckEditorDefaultColumns(), false, false, true, DECK_EDITOR(SColumnUtil.getDeckEditorDefaultColumns(), false, false, true,
GroupDef.DEFAULT, ColumnDef.CMC, 4, 1), GroupDef.DEFAULT, ColumnDef.CMC, 4, 1),