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 + "