From aa48e9caccafb1e6c97bf5d565bad87f13ddf48c Mon Sep 17 00:00:00 2001 From: drdev Date: Wed, 4 Dec 2013 03:44:32 +0000 Subject: [PATCH] Fix so Ok button in DualListBox dialog receives focus as soon as it's been enabled so spacebar will activate it --- .../main/java/forge/game/player/PlayerControllerHuman.java | 5 +---- forge-gui/src/main/java/forge/gui/DualListBox.java | 6 +++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/forge-gui/src/main/java/forge/game/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/game/player/PlayerControllerHuman.java index 7efca655a9a..523b509a93f 100644 --- a/forge-gui/src/main/java/forge/game/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/game/player/PlayerControllerHuman.java @@ -598,7 +598,6 @@ public class PlayerControllerHuman extends PlayerController { return GuiDialog.confirm(replacementEffect.getHostCard(), question); } - @Override public List getCardsToMulligan(boolean isCommander, Player firstPlayer) { final InputConfirmMulligan inp = new InputConfirmMulligan(player, firstPlayer, isCommander); @@ -715,7 +714,6 @@ public class PlayerControllerHuman extends PlayerController { return GuiDialog.confirm(sa.getSourceCard(), question, labels); } - @Override public boolean chooseFlipResult(SpellAbility sa, Player flipper, boolean[] results, boolean call) { String[] labelsSrc = call ? new String[]{"heads", "tails"} : new String[]{"win the flip", "lose the flip"}; @@ -773,7 +771,6 @@ public class PlayerControllerHuman extends PlayerController { GuiDialog.message(message, sa.getSourceCard().getName()); } - // These are not much related to PlayerController private String formatNotificationMessage(SpellAbility sa, GameObject target, String value) { if (sa.getApi() == null) { @@ -831,7 +828,7 @@ public class PlayerControllerHuman extends PlayerController { public List chooseColors(String message, SpellAbility sa, int min, int max, List options) { return GuiChoose.getChoices(message, min, max, options); } - + @Override public String chooseSingleColor(ImmutableList names) { return GuiChoose.one("Choose a color:", names); diff --git a/forge-gui/src/main/java/forge/gui/DualListBox.java b/forge-gui/src/main/java/forge/gui/DualListBox.java index 14633498c42..dad993f60ba 100644 --- a/forge-gui/src/main/java/forge/gui/DualListBox.java +++ b/forge-gui/src/main/java/forge/gui/DualListBox.java @@ -92,6 +92,9 @@ public class DualListBox extends FPanel { clearSourceSelected(); sourceList.validate(); _setButtonState(); + if (okButton.isEnabled()) { + okButton.requestFocusInWindow(); + } } }; @@ -217,7 +220,7 @@ public class DualListBox extends FPanel { } } - private void _handleListKey (KeyEvent e, Runnable onSpace, FList arrowFocusTarget) { + private void _handleListKey(KeyEvent e, Runnable onSpace, FList arrowFocusTarget) { switch (e.getKeyCode()) { case KeyEvent.VK_SPACE: onSpace.run(); @@ -409,6 +412,7 @@ public class DualListBox extends FPanel { addDestinationElements(sourceListModel); clearSourceListModel(); _setButtonState(); + okButton.requestFocusInWindow(); } private void _removeAll() {