diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java index 2db718a3d7f..36d0000a1e2 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java @@ -91,17 +91,21 @@ public class DeckController { } public void loadDeck(Deck deck, boolean substituteCurrentDeck) { + boolean isStored; if (view.getCatalogManager().isInfinite()) { Deck currentDeck = view.getHumanDeck(); if (substituteCurrentDeck || currentDeck.isEmpty()) { newModel(); - } + isStored = false; + } else + isStored = !this.modelPath.equals(""); } else { CardPool catalogClone = new CardPool(view.getInitialCatalog()); deck = pickFromCatalog(deck, catalogClone); ItemPool catalogPool = view.getCatalogManager().getPool(); catalogPool.clear(); catalogPool.addAll(catalogClone); + isStored = false; } Deck currentDeck = view.getHumanDeck(); @@ -112,9 +116,9 @@ public class DeckController { } } // Allow to specify the name of Deck in DeckImporter - if ((deck.hasName()) && (!currentDeck.hasName())) - view.getHumanDeck().setName(deck.getName()); - onModelChanged(false); + if (deck.hasName()) + currentDeck.setName(deck.getName()); + this.setModel((T) currentDeck, isStored); } private Deck pickFromCatalog(Deck deck, CardPool catalog) { @@ -237,7 +241,7 @@ public class DeckController { } else { //TODO: Make this smarter currentFolder = rootFolder; modelPath = ""; - setSaved(true); + setSaved(this.model.isEmpty()); } }