From ce30fa2e96eb2a4a217c4b11b4ad895974ed708c Mon Sep 17 00:00:00 2001 From: drdev Date: Sat, 21 Jun 2014 03:28:51 +0000 Subject: [PATCH] Make toggle button filters more usable without a long press being required --- .../forge/itemmanager/filters/StatTypeFilter.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/StatTypeFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/StatTypeFilter.java index 629f9116d55..a81834abb4f 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/StatTypeFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/StatTypeFilter.java @@ -30,13 +30,18 @@ public abstract class StatTypeFilter extends ToggleButt final ToggleButton button = addToggleButton(widget, FSkin.getImages().get(st.skinProp)); buttonMap.put(st, button); - //hook so long-pressing a button toggles itself on and toggles off all other buttons - button.setLongPressHandler(new FEventHandler() { + //hook so pressing a selected button toggles off all other buttons while remaining toggled + button.setCommand(new FEventHandler() { @Override public void handleEvent(FEvent e) { - lockFiltering = true; - SFilterUtil.showOnlyStat(st, button, buttonMap); - lockFiltering = false; + if (lockFiltering) { return; } + + if (!button.isSelected()) { + lockFiltering = true; + button.setSelected(true); + SFilterUtil.showOnlyStat(st, button, buttonMap); + lockFiltering = false; + } applyChange(); } });