From b19eca2aff5c5f510c4176b043696d65657b0318 Mon Sep 17 00:00:00 2001 From: "Jamin W. Collins" Date: Thu, 16 Aug 2018 17:52:42 -0600 Subject: [PATCH] only display the ante tab when playing for ante Closes: core-developers/forge#381 Signed-off-by: Jamin W. Collins --- .../main/java/forge/gui/framework/SLayoutIO.java | 4 +++- .../main/java/forge/screens/match/CMatchUI.java | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java b/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java index 14e039765a1..ae712b1a908 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java @@ -432,7 +432,9 @@ public final class SLayoutIO { for(EDocID edoc : kv.getValue()) { try { //System.out.println(String.format("adding doc %s -> %s", edoc, edoc.getDoc())); - cell.addDoc(edoc.getDoc()); + if (edoc.getDoc() != null ) { + cell.addDoc(edoc.getDoc()); + } } catch (IllegalArgumentException e) { System.err.println("Failed to get doc for " + edoc); diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java index 1a3b34cb2d6..174c28be469 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java @@ -28,6 +28,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.atomic.AtomicReference; +import java.util.prefs.Preferences; import javax.swing.JMenu; import javax.swing.JPopupMenu; @@ -143,7 +144,12 @@ public final class CMatchUI this.myDocs = new EnumMap>(EDocID.class); this.myDocs.put(EDocID.CARD_PICTURE, cDetailPicture.getCPicture().getView()); this.myDocs.put(EDocID.CARD_DETAIL, cDetailPicture.getCDetail().getView()); - this.myDocs.put(EDocID.CARD_ANTES, cAntes.getView()); + // only create an ante doc if playing for ante + if (isPreferenceEnabled(FPref.UI_ANTE)) { + this.myDocs.put(EDocID.CARD_ANTES, cAntes.getView()); + } else { + this.myDocs.put(EDocID.CARD_ANTES, null); + } this.myDocs.put(EDocID.REPORT_MESSAGE, getCPrompt().getView()); this.myDocs.put(EDocID.REPORT_STACK, getCStack().getView()); this.myDocs.put(EDocID.REPORT_COMBAT, cCombat.getView()); @@ -158,6 +164,10 @@ public final class CMatchUI } } + private static boolean isPreferenceEnabled(final ForgePreferences.FPref preferenceName) { + return FModel.getPreferences().getPrefBoolean(preferenceName); + } + FScreen getScreen() { return this.screen; } @@ -486,6 +496,9 @@ public final class CMatchUI updatePlayerControl(); KeyboardShortcuts.attachKeyboardShortcuts(this); for (final IVDoc view : myDocs.values()) { + if (view == null) { + continue; + } final ICDoc layoutControl = view.getLayoutControl(); layoutControl.initialize(); layoutControl.update();