From 3bfc8a926e89d4cceab080ac9a867c37f1d799fd Mon Sep 17 00:00:00 2001 From: drdev Date: Sat, 3 May 2014 17:21:11 +0000 Subject: [PATCH] Support using Escape to cancel card selection --- .../forge/screens/match/InputSelectCard.java | 25 ++++++++++--------- .../src/forge/screens/match/MatchScreen.java | 5 +++- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/forge-gui-mobile/src/forge/screens/match/InputSelectCard.java b/forge-gui-mobile/src/forge/screens/match/InputSelectCard.java index 2b556200c83..cc26b6d60ed 100644 --- a/forge-gui-mobile/src/forge/screens/match/InputSelectCard.java +++ b/forge-gui-mobile/src/forge/screens/match/InputSelectCard.java @@ -55,7 +55,7 @@ public class InputSelectCard { } return; //don't select already selected card } - CardOptionsList.hide(); //hide previous card options list before showing a new one + hide(); //hide previous card options list before showing a new one } lastSelectTime = now; @@ -94,6 +94,18 @@ public class InputSelectCard { } } + public static boolean hide() { + if (activeList == null) { return false; } + FControl.getView().remove(activeList); + FControl.getView().remove(CardOptionsList.backdrop); + activeList = null; + zoomPressed = false; + detailsPressed = false; + ownerPressed = false; + pannedOverOptions = false; + return true; + } + public static boolean handlePan(CardAreaPanel cardPanel, float x, float y, boolean isPanStop) { if (simulatedListPress) { //prevent pressed item getting stuck @@ -213,17 +225,6 @@ public class InputSelectCard { owner = owner0; } - public static void hide() { - if (activeList == null) { return; } - FControl.getView().remove(activeList); - FControl.getView().remove(backdrop); - activeList = null; - zoomPressed = false; - detailsPressed = false; - ownerPressed = false; - pannedOverOptions = false; - } - @Override protected void drawBackground(Graphics g) { g.fillRect(BACK_COLOR, 0, 0, getWidth(), getHeight()); diff --git a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java index 549d9e4a5c3..a6d46e0d35f 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java @@ -176,7 +176,10 @@ public class MatchScreen extends FScreen { } return prompt.getBtnCancel().trigger(); //trigger Cancel if can't trigger OK case Keys.ESCAPE: - return prompt.getBtnCancel().trigger(); //trigger Cancel on Escape + if (InputSelectCard.hide()) { //hide card selection if one active on Escape + return true; + } + return prompt.getBtnCancel().trigger(); //otherwise trigger Cancel } return super.keyDown(keyCode); }