diff --git a/src/main/java/forge/gui/deckeditor/VDeckEditorUI.java b/src/main/java/forge/gui/deckeditor/VDeckEditorUI.java index b84bdfeb400..60b41120407 100644 --- a/src/main/java/forge/gui/deckeditor/VDeckEditorUI.java +++ b/src/main/java/forge/gui/deckeditor/VDeckEditorUI.java @@ -36,10 +36,10 @@ public enum VDeckEditorUI implements IVTopLevelUI { @Override public Void doInBackground() { SLayoutIO.loadLayout(null); - CCardCatalog.SINGLETON_INSTANCE.applyCurrentFilter(); return null; } }; + CCardCatalog.SINGLETON_INSTANCE.applyCurrentFilter(); w.execute(); } } diff --git a/src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java b/src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java index 9e9a01c5cf2..bbb74a3087f 100644 --- a/src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java +++ b/src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java @@ -29,6 +29,7 @@ import javax.swing.JOptionPane; import com.google.common.base.Function; +import forge.Command; import forge.Singletons; import forge.deck.Deck; import forge.deck.DeckBase; @@ -45,6 +46,7 @@ import forge.gui.home.quest.CSubmenuQuestDecks; import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FSkin; import forge.item.BoosterPack; +import forge.item.CardDb; import forge.item.CardPrinted; import forge.item.FatPack; import forge.item.InventoryItem; @@ -66,14 +68,30 @@ import forge.quest.io.ReadPriceList; */ public final class CEditorQuestCardShop extends ACEditorBase { private final JLabel creditsLabel = new FLabel.Builder() - .icon(FSkin.getIcon(FSkin.QuestIcons.ICO_COINSTACK)) - .fontSize(15).build(); + .icon(FSkin.getIcon(FSkin.QuestIcons.ICO_COINSTACK)) + .fontSize(15).build(); + + // TODO: move these to the view where they belong private final JLabel sellPercentageLabel = new FLabel.Builder().text("0") .fontSize(11) .build(); + @SuppressWarnings("serial") + private final JLabel fullCatalogToggle = new FLabel.Builder().text("See full catalog") + .fontSize(14).hoverable(true).cmdClick(new Command() { + @Override + public void execute() { + toggleFullCatalog(); + } + }) + .build(); private double multiplier; private final QuestController questData; + + private ItemPoolView cardsForSale; + private final ItemPool fullCatalogCards = + ItemPool.createFrom(CardDb.instance().getAllTraditionalCards(), InventoryItem.class); + private boolean showingFullCatalog = false; // get pricelist: private final ReadPriceList r = new ReadPriceList(); @@ -108,11 +126,22 @@ public final class CEditorQuestCardShop extends ACEditorBase - * setup. - *

- */ + private void toggleFullCatalog() { + showingFullCatalog = !showingFullCatalog; + + if (showingFullCatalog) { + this.getTableCatalog().setDeck(fullCatalogCards); + VCardCatalog.SINGLETON_INSTANCE.getBtnAdd().setEnabled(false); + VCurrentDeck.SINGLETON_INSTANCE.getBtnRemove().setEnabled(false); + fullCatalogToggle.setText("Go back to spell shop"); + } else { + this.getTableCatalog().setDeck(cardsForSale); + VCardCatalog.SINGLETON_INSTANCE.getBtnAdd().setEnabled(true); + VCurrentDeck.SINGLETON_INSTANCE.getBtnRemove().setEnabled(true); + fullCatalogToggle.setText("See full catalog"); + } + } + private void setup() { final List> columnsCatalog = SColumnUtil.getCatalogDefaultColumns(); final List> columnsDeck = SColumnUtil.getDeckDefaultColumns(); @@ -259,6 +288,11 @@ public final class CEditorQuestCardShop extends ACEditorBase forSale = this.questData.getCards().getShopList(); - if (forSale.isEmpty()) { + cardsForSale = this.questData.getCards().getShopList(); + if (cardsForSale.isEmpty()) { this.questData.getCards().generateCardsInShop(); - forSale = this.questData.getCards().getShopList(); + cardsForSale = this.questData.getCards().getShopList(); } // newCardsList = questData.getCards().getNewCards(); final ItemPool ownedItems = new ItemPool(InventoryItem.class); ownedItems.addAll(this.questData.getCards().getCardpool().getView()); - this.getTableCatalog().setDeck(forSale); + this.getTableCatalog().setDeck(cardsForSale); this.getTableDeck().setDeck(ownedItems); VCurrentDeck.SINGLETON_INSTANCE.getPnlRemButtons().remove(VCurrentDeck.SINGLETON_INSTANCE.getBtnRemove4()); @@ -392,6 +430,7 @@ public final class CEditorQuestCardShop extends ACEditorBaseSelling cards at " + formatter.format(multiPercent) + "% of their value.
" + maxSellingPrice + ""); @@ -402,11 +441,16 @@ public final class CEditorQuestCardShop extends ACEditorBase, ITableContainer { JPanel parentBody = parentCell.getBody(); parentBody.setLayout(new MigLayout("insets 0, gap 0, wrap, hidemode 3")); parentBody.add(pnlHeader, "w 98%!, h 30px!, gap 1% 1% 0 0"); - parentBody.add(pnlStats, "w 96%, h 50px!, gap 2% 0 1% 1%"); - parentBody.add(pnlAddButtons, "w 96%!, gapleft 1%"); + parentBody.add(pnlStats, "w 96%, h 50px!, gap 1% 1% 0 0"); + parentBody.add(pnlAddButtons, "w 96%!, gap 1% 1% 1% 1%"); parentBody.add(pnlSearch, "w 96%, gapleft 1%"); parentBody.add(pnlRestrictions, "w 96%, gapleft 1%, gapright push"); parentBody.add(scroller, "w 98%!, h 100% - 35px, gap 1% 0 0 1%");