From 749eea6f5776108c936de9957f2004a016573e63 Mon Sep 17 00:00:00 2001 From: "Jamin W. Collins" Date: Tue, 4 Sep 2018 17:47:14 -0600 Subject: [PATCH] default to creating a new deck of a given gameType Signed-off-by: Jamin W. Collins --- .../java/forge/itemmanager/DeckManager.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java index 04f935ecffa..9843f97c683 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java @@ -12,6 +12,7 @@ import javax.swing.JTable; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; +import forge.deck.Deck; import forge.screens.deckeditor.controllers.CEditorConstructed; import forge.screens.home.quest.DialogChooseFormats; import org.apache.commons.lang3.StringUtils; @@ -268,9 +269,7 @@ public final class DeckManager extends ItemManager implements IHasGam }); } - private void editDeck(final DeckProxy deck) { - if (deck == null) { return; } - + public void editDeck(final DeckProxy deck) { ACEditorBase editorCtrl = null; FScreen screen = null; @@ -281,18 +280,22 @@ public final class DeckManager extends ItemManager implements IHasGam break; case Constructed: screen = FScreen.DECK_EDITOR_CONSTRUCTED; - DeckPreferences.setCurrentDeck(deck.toString()); - //re-use constructed controller + DeckPreferences.setCurrentDeck((deck != null) ? deck.toString() : ""); editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType); break; case Commander: screen = FScreen.DECK_EDITOR_CONSTRUCTED; // re-use "Deck Editor", rather than creating a new top level tab - DeckPreferences.setCommanderDeck(deck.toString()); + DeckPreferences.setCommanderDeck((deck != null) ? deck.toString() : ""); editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType); break; case Brawl: screen = FScreen.DECK_EDITOR_CONSTRUCTED; // re-use "Deck Editor", rather than creating a new top level tab - DeckPreferences.setCommanderDeck(deck.toString()); + DeckPreferences.setBrawlDeck((deck != null) ? deck.toString() : ""); + editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType); + break; + case TinyLeaders: + screen = FScreen.DECK_EDITOR_CONSTRUCTED; // re-use "Deck Editor", rather than creating a new top level tab + DeckPreferences.setTinyLeadersDeck((deck != null) ? deck.toString() : ""); editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType); break; case Sealed: @@ -324,7 +327,11 @@ public final class DeckManager extends ItemManager implements IHasGam return; } //ensure previous deck on screen is saved if needed - CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController().getDeckController().load(deck.getPath(), deck.getName()); + if (deck != null) { + CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController().getDeckController().load(deck.getPath(), deck.getName()); + } else { + CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController().getDeckController().loadDeck(new Deck()); + } } public boolean deleteDeck(final DeckProxy deck) {