diff --git a/forge-gui/src/main/java/forge/gui/deckchooser/FDeckViewer.java b/forge-gui/src/main/java/forge/gui/deckchooser/FDeckViewer.java index c1a81337293..5398873d9a2 100644 --- a/forge-gui/src/main/java/forge/gui/deckchooser/FDeckViewer.java +++ b/forge-gui/src/main/java/forge/gui/deckchooser/FDeckViewer.java @@ -25,7 +25,9 @@ import forge.gui.toolbox.FButton; import forge.gui.toolbox.FOptionPane; import forge.gui.toolbox.itemmanager.CardManager; import forge.gui.toolbox.itemmanager.ItemManagerContainer; +import forge.gui.toolbox.itemmanager.ItemManagerModel; import forge.gui.toolbox.itemmanager.views.GroupDef; +import forge.gui.toolbox.itemmanager.views.ImageView; import forge.gui.toolbox.itemmanager.views.ItemColumn; import forge.gui.toolbox.itemmanager.views.SColumnUtil; import forge.gui.toolbox.itemmanager.views.ColumnDef; @@ -56,7 +58,21 @@ public class FDeckViewer extends FDialog { private FDeckViewer(Deck deck0) { this.deck = deck0; this.setTitle(deck.getName()); - this.cardManager = new CardManager(false); + this.cardManager = new CardManager(false) { + @Override //show hovered card in Image View in dialog instead of main Detail/Picture panes + protected ImageView createImageView(final ItemManagerModel model0) { + return new ImageView(this, model0) { + @Override + protected void showHoveredItem(PaperCard item) { + Card card = Card.getCardForUi(item); + if (card == null) { return; } + + cardDetail.setCard(card); + cardPicture.setCard(card); + } + }; + } + }; this.cardManager.setPool(deck.getMain()); this.cardManager.addSelectionListener(new ListSelectionListener() { @Override diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/CardManager.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/CardManager.java index 95c31feb330..c39b28e805e 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/CardManager.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/CardManager.java @@ -27,7 +27,7 @@ import forge.quest.QuestWorld; * */ @SuppressWarnings("serial") -public final class CardManager extends ItemManager { +public class CardManager extends ItemManager { public CardManager(boolean wantUnique0) { super(PaperCard.class, wantUnique0); } diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java index abf3752cafa..0ae32c9c5c1 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/ItemManager.java @@ -139,13 +139,17 @@ public abstract class ItemManager extends JPanel { this.model = new ItemManagerModel(genericType0); this.listView = new ItemListView(this, this.model); - this.imageView = new ImageView(this, this.model); + this.imageView = createImageView(this.model); this.views.add(this.listView); this.views.add(this.imageView); this.currentView = this.listView; } + protected ImageView createImageView(final ItemManagerModel model0) { + return new ImageView(this, model0); + } + /** * Initialize item manager if needed */ diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java index 93f4be5f396..2757f8325e7 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/views/ImageView.java @@ -356,12 +356,16 @@ public class ImageView extends ItemView { if (hoveredItem == item) { return false; } hoveredItem = item; if (item != null) { - CDetail.SINGLETON_INSTANCE.showCard(item.item); - CPicture.SINGLETON_INSTANCE.showImage(item.item); + showHoveredItem(item.item); } return true; } + protected void showHoveredItem(T item) { + CDetail.SINGLETON_INSTANCE.showCard(item); + CPicture.SINGLETON_INSTANCE.showImage(item); + } + @Override public JComponent getComponent() { return display;