diff --git a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorCommander.java b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorCommander.java index 169fbf59249..3627e69ca86 100644 --- a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorCommander.java +++ b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorCommander.java @@ -213,8 +213,7 @@ public final class CEditorCommander extends ACEditorBase { */ public void cycleEditorMode() { int curindex = allSections.indexOf(sectionMode); - - curindex = curindex == (allSections.size()-1) ? 0 : curindex+1; + curindex = (curindex + 1) % allSections.size(); sectionMode = allSections.get(curindex); final List> lstCatalogCols = SColumnUtil.getCatalogDefaultColumns(); diff --git a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorConstructed.java b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorConstructed.java index 93ad728ba3b..c43eee04e25 100644 --- a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorConstructed.java +++ b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorConstructed.java @@ -72,7 +72,6 @@ public final class CEditorConstructed extends ACEditorBase { allSections.add(DeckSection.Avatar); allSections.add(DeckSection.Schemes); allSections.add(DeckSection.Planes); - //allSections.add(DeckSection.Commander); normalPool = ItemPool.createFrom(Singletons.getMagicDb().getCommonCards().getAllCards(), PaperCard.class); avatarPool = ItemPool.createFrom(Singletons.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_VANGUARD, PaperCard.FN_GET_RULES)),PaperCard.class); @@ -127,8 +126,14 @@ public final class CEditorConstructed extends ACEditorBase { else { editor.getDeckManager().addItems(itemsToAdd); - //also select all added cards in Catalog - editor.getCatalogManager().selectItemEntrys(itemsToAdd); + if (editor.getCatalogManager().isInfinite()) { + //select all added cards in Catalog if infinite + editor.getCatalogManager().selectItemEntrys(itemsToAdd); + } + else { + //remove all added cards from Catalog if not infinite + editor.getCatalogManager().removeItems(items); + } } controller.notifyModelChanged(); @@ -267,8 +272,7 @@ public final class CEditorConstructed extends ACEditorBase { */ public void cycleEditorMode() { int curindex = allSections.indexOf(sectionMode); - - curindex = curindex == (allSections.size()-1) ? 0 : curindex+1; + curindex = (curindex + 1) % allSections.size(); sectionMode = allSections.get(curindex); final List> lstCatalogCols = SColumnUtil.getCatalogDefaultColumns(); diff --git a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java index 7c0741dcc87..63bf108a641 100644 --- a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java +++ b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/CEditorQuest.java @@ -32,7 +32,6 @@ import forge.deck.Deck; import forge.deck.DeckSection; import forge.gui.deckeditor.SEditorIO; import forge.gui.deckeditor.views.VAllDecks; -import forge.gui.deckeditor.views.VCardCatalog; import forge.gui.deckeditor.views.VCurrentDeck; import forge.gui.deckeditor.views.VDeckgen; import forge.gui.framework.DragCell; @@ -69,7 +68,6 @@ public final class CEditorQuest extends ACEditorBase { private final List allSections = new ArrayList(); private DragCell allDecksParent = null; private DragCell deckGenParent = null; - private boolean sideboardMode = false; private Map decksUsingMyCards; @@ -192,6 +190,8 @@ public final class CEditorQuest extends ACEditorBase { */ @Override public void resetTables() { + this.sectionMode = DeckSection.Main; + final Deck deck = this.controller.getModel(); final ItemPool cardpool = new ItemPool(PaperCard.class); @@ -220,27 +220,17 @@ public final class CEditorQuest extends ACEditorBase { /** * Switch between the main deck and the sideboard editor. */ - public void switchEditorMode(boolean isSideboarding) { + public void cycleEditorMode() { int curindex = allSections.indexOf(sectionMode); - - curindex = curindex == (allSections.size()-1) ? 0 : curindex+1; + curindex = (curindex + 1) % allSections.size(); sectionMode = allSections.get(curindex); - if (isSideboarding) { - this.getCatalogManager().setPool(this.controller.getModel().getMain()); + if (sectionMode == DeckSection.Sideboard) { this.getDeckManager().setPool(this.controller.getModel().getOrCreate(DeckSection.Sideboard)); - } else { - resetTables(); } - - VCardCatalog.SINGLETON_INSTANCE.getTabLabel().setText(isSideboarding ? "Main Deck" : "Card Catalog"); - VCurrentDeck.SINGLETON_INSTANCE.getBtnNew().setVisible(!isSideboarding); - VCurrentDeck.SINGLETON_INSTANCE.getBtnOpen().setVisible(!isSideboarding); - VCurrentDeck.SINGLETON_INSTANCE.getBtnSave().setVisible(!isSideboarding); - VCurrentDeck.SINGLETON_INSTANCE.getBtnSaveAs().setVisible(!isSideboarding); - VCurrentDeck.SINGLETON_INSTANCE.getBtnPrintProxies().setVisible(!isSideboarding); - VCurrentDeck.SINGLETON_INSTANCE.getTxfTitle().setVisible(!isSideboarding); - VCurrentDeck.SINGLETON_INSTANCE.getLblTitle().setText(isSideboarding ? "Sideboard" : "Title:"); + else { + this.getDeckManager().setPool(this.controller.getModel().getMain()); + } this.controller.updateCaptions(); } @@ -285,8 +275,7 @@ public final class CEditorQuest extends ACEditorBase { this.getBtnCycleSection().setCommand(new Command() { @Override public void run() { - sideboardMode = !sideboardMode; - switchEditorMode(sideboardMode); + cycleEditorMode(); } }); deckGenParent = removeTab(VDeckgen.SINGLETON_INSTANCE); diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java index 545190dc078..810bde66087 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java @@ -972,6 +972,16 @@ public abstract class ItemManager extends JPanel { this.table.setAllowMultipleSelections(allowMultipleSelections0); } + /** + * + * isInfinite. + * + * @return whether item manager's pool of items is in infinite supply + */ + public boolean isInfinite() { + return this.model.isInfinite(); + } + /** * * focus.