From 19ccab3d0033d60c9867c91a9a5c547c09539a6b Mon Sep 17 00:00:00 2001 From: drdev Date: Sun, 12 Apr 2015 20:36:48 +0000 Subject: [PATCH] Support clicking sort drop down item a second time to reverse sort --- .../src/forge/itemmanager/ItemManager.java | 6 +++--- forge-gui-mobile/src/forge/toolbox/FComboBox.java | 12 +++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/forge-gui-mobile/src/forge/itemmanager/ItemManager.java b/forge-gui-mobile/src/forge/itemmanager/ItemManager.java index 5071962d216..4e6ca102f34 100644 --- a/forge-gui-mobile/src/forge/itemmanager/ItemManager.java +++ b/forge-gui-mobile/src/forge/itemmanager/ItemManager.java @@ -187,7 +187,7 @@ public abstract class ItemManager extends FContainer im sortCols.clear(); if (cbxSortOptions != null) { - cbxSortOptions.setChangedHandler(null); + cbxSortOptions.setDropDownItemTap(null); cbxSortOptions.removeAllItems(); } @@ -226,10 +226,10 @@ public abstract class ItemManager extends FContainer im } if (cbxSortOptions != null) { - cbxSortOptions.setChangedHandler(new FEventHandler() { + cbxSortOptions.setDropDownItemTap(new FEventHandler() { @Override public void handleEvent(FEvent e) { - model.getCascadeManager().add(cbxSortOptions.getSelectedItem(), false); + model.getCascadeManager().add((ItemColumn)e.getArgs(), false); model.refreshSort(); ItemManagerConfig.save(); updateView(true, null); diff --git a/forge-gui-mobile/src/forge/toolbox/FComboBox.java b/forge-gui-mobile/src/forge/toolbox/FComboBox.java index f582701b1aa..206c2dbffb5 100644 --- a/forge-gui-mobile/src/forge/toolbox/FComboBox.java +++ b/forge-gui-mobile/src/forge/toolbox/FComboBox.java @@ -17,7 +17,7 @@ public class FComboBox extends FTextField implements IComboBox { private final List items = new ArrayList(); private T selectedItem; private final DropDown dropDown = new DropDown(); - private FEventHandler dropDownChangeHandler; + private FEventHandler dropDownItemTap, dropDownChangeHandler; public FComboBox() { initialize(); @@ -134,6 +134,13 @@ public class FComboBox extends FTextField implements IComboBox { return false; //don't allow editing text } + public FEventHandler getDropDownItemTap() { + return dropDownItemTap; + } + public void setDropDownItemTap(FEventHandler itemTap0) { + dropDownItemTap = itemTap0; + } + public FEventHandler getDropDownChangeHandler() { return dropDownChangeHandler; } @@ -193,6 +200,9 @@ public class FComboBox extends FTextField implements IComboBox { FMenuItem menuItem = new FMenuItem(item.toString(), new FEventHandler() { @Override public void handleEvent(FEvent e) { + if (dropDownItemTap != null) { + dropDownItemTap.handleEvent(new FEvent(FComboBox.this, FEventType.TAP, item)); + } if (item != selectedItem) { setSelectedItem(item); if (dropDownChangeHandler != null) {