FIXING same bug for Commander editor too

This commit is contained in:
leriomaggio
2021-10-31 08:54:05 +00:00
parent 003646be6e
commit c0e7e2f63a
2 changed files with 25 additions and 2 deletions

View File

@@ -1,8 +1,12 @@
package forge.screens.deckeditor.controllers; package forge.screens.deckeditor.controllers;
import forge.deck.DeckBase;
import forge.deck.DeckProxy; import forge.deck.DeckProxy;
import forge.gui.framework.ICDoc; import forge.gui.framework.ICDoc;
import forge.item.InventoryItem;
import forge.itemmanager.DeckManager;
import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerConfig;
import forge.screens.deckeditor.CDeckEditorUI;
import forge.screens.deckeditor.views.VCommanderDecks; import forge.screens.deckeditor.views.VCommanderDecks;
/** /**
@@ -39,6 +43,20 @@ public enum CCommanderDecks implements ICDoc {
*/ */
@Override @Override
public void update() { public void update() {
view.getLstDecks().setup(ItemManagerConfig.CONSTRUCTED_DECKS); DeckManager deckManager = view.getLstDecks();
deckManager.setup(ItemManagerConfig.CONSTRUCTED_DECKS);
if (deckManager.getSelectedIndex() == 0) {
// This may be default and so requiring potential update!
ACEditorBase<? extends InventoryItem, ? extends DeckBase> editorCtrl =
CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController();
if (editorCtrl != null) {
String currentDeckName = editorCtrl.getDeckController().getModelName();
if (currentDeckName != null && currentDeckName.length() > 0) {
DeckProxy deckProxy = deckManager.stringToItem(currentDeckName);
if (deckProxy != null && !deckManager.getSelectedItem().equals(deckProxy))
view.getLstDecks().setSelectedItem(deckProxy);
}
}
}
} }
} }

View File

@@ -2,6 +2,7 @@ package forge.screens.deckeditor.views;
import javax.swing.JPanel; import javax.swing.JPanel;
import forge.deck.DeckProxy;
import forge.deck.io.DeckPreferences; import forge.deck.io.DeckPreferences;
import forge.game.GameType; import forge.game.GameType;
import forge.gui.framework.DragCell; import forge.gui.framework.DragCell;
@@ -84,7 +85,11 @@ public enum VCommanderDecks implements IVDoc<CCommanderDecks> {
parentBody.setLayout(new MigLayout("insets 5, gap 0, wrap, hidemode 3")); parentBody.setLayout(new MigLayout("insets 5, gap 0, wrap, hidemode 3"));
parentBody.add(new ItemManagerContainer(lstDecks), "push, grow"); parentBody.add(new ItemManagerContainer(lstDecks), "push, grow");
String preferredDeck = DeckPreferences.getCommanderDeck(); String preferredDeck = DeckPreferences.getCommanderDeck();
lstDecks.editDeck(lstDecks.stringToItem(preferredDeck)); DeckProxy deckProxy = lstDecks.stringToItem(preferredDeck);
if (deckProxy != null) {
lstDecks.editDeck(deckProxy);
lstDecks.setSelectedItem(deckProxy);
}
} }
//========== Retrieval methods //========== Retrieval methods