From 4ba11947ca1167c07c9a413e0a9f516d3cf5212e Mon Sep 17 00:00:00 2001 From: drdev Date: Wed, 26 Nov 2014 17:11:29 +0000 Subject: [PATCH] Auto-hide floating zone window after last card removed from it Reduce default size of zone windows slightly --- .../main/java/forge/view/arcane/FloatingCardArea.java | 10 +++++++++- forge-gui/CHANGES.txt | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java index c4b8a1df9b1..328f6eb57f3 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java @@ -249,7 +249,7 @@ public class FloatingCardArea extends CardArea { } //fallback default size FFrame mainFrame = Singletons.getView().getFrame(); - window.setSize(mainFrame.getWidth() / 4, mainFrame.getHeight() * 2 / 3); + window.setSize(mainFrame.getWidth() / 5, mainFrame.getHeight() / 2); } public void refresh() { @@ -270,8 +270,16 @@ public class FloatingCardArea extends CardArea { cardPanels.add(cardPanel); } } + + boolean hadCardPanels = getCardPanels().size() > 0; setCardPanels(cardPanels); window.setTitle(String.format(title, cardPanels.size())); + + //if window had cards and now doesn't, hide window + //(e.g. cast final card from Flashback zone) + if (hadCardPanels && cardPanels.size() == 0) { + window.setVisible(false); + } } @Override diff --git a/forge-gui/CHANGES.txt b/forge-gui/CHANGES.txt index 7e5ce70ed6d..72789b922c4 100644 --- a/forge-gui/CHANGES.txt +++ b/forge-gui/CHANGES.txt @@ -19,6 +19,8 @@ You can still customize these by clicking on the phase stop indicator, and your - Zone Window Improvements - Popup windows for zones (Hand, Library, Graveyard, Exile, Flashback) will now remember their position and size between sessions. Human and AI zones will each be remembered separately. Clicking the zone icon under a player's avatar will now hide the zone window if its currently open. +After the last card is removed from a zone window, that window will now automatically be hidden. An example of this would be casting the last card in the Flashback zone. +Default size of zone windows has been slightly reduced. --------- New Cards