Make toggle button filters more usable without a long press being required

This commit is contained in:
drdev
2014-06-21 03:28:51 +00:00
parent 46a7fe15a9
commit ce30fa2e96

View File

@@ -30,13 +30,18 @@ public abstract class StatTypeFilter<T extends InventoryItem> extends ToggleButt
final ToggleButton button = addToggleButton(widget, FSkin.getImages().get(st.skinProp)); final ToggleButton button = addToggleButton(widget, FSkin.getImages().get(st.skinProp));
buttonMap.put(st, button); buttonMap.put(st, button);
//hook so long-pressing a button toggles itself on and toggles off all other buttons //hook so pressing a selected button toggles off all other buttons while remaining toggled
button.setLongPressHandler(new FEventHandler() { button.setCommand(new FEventHandler() {
@Override @Override
public void handleEvent(FEvent e) { public void handleEvent(FEvent e) {
lockFiltering = true; if (lockFiltering) { return; }
SFilterUtil.showOnlyStat(st, button, buttonMap);
lockFiltering = false; if (!button.isSelected()) {
lockFiltering = true;
button.setSelected(true);
SFilterUtil.showOnlyStat(st, button, buttonMap);
lockFiltering = false;
}
applyChange(); applyChange();
} }
}); });