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;
import forge.deck.DeckBase;
import forge.deck.DeckProxy;
import forge.gui.framework.ICDoc;
import forge.item.InventoryItem;
import forge.itemmanager.DeckManager;
import forge.itemmanager.ItemManagerConfig;
import forge.screens.deckeditor.CDeckEditorUI;
import forge.screens.deckeditor.views.VCommanderDecks;
/**
@@ -39,6 +43,20 @@ public enum CCommanderDecks implements ICDoc {
*/
@Override
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 forge.deck.DeckProxy;
import forge.deck.io.DeckPreferences;
import forge.game.GameType;
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.add(new ItemManagerContainer(lstDecks), "push, grow");
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