diff options
author | Automerge <automerge@vaadin.com> | 2012-04-05 13:08:30 +0000 |
---|---|---|
committer | Automerge <automerge@vaadin.com> | 2012-04-05 13:08:30 +0000 |
commit | 18dd267cfe3757adee20aaae556b64746c677683 (patch) | |
tree | e8c4226ad6e4815d80c9d48e9f933ad9f38b4abe | |
parent | 6dee9c8fb0799af3bca1376d79449260279c4d67 (diff) | |
download | vaadin-framework-18dd267cfe3757adee20aaae556b64746c677683.tar.gz vaadin-framework-18dd267cfe3757adee20aaae556b64746c677683.zip |
[merge from 6.7] Fix #8595: Always use MULTISELECT_MODE_SIMPLE for touch devices
svn changeset:23414/svn branch:6.8
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/VTree.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTree.java b/src/com/vaadin/terminal/gwt/client/ui/VTree.java index 2be01df8cc..1d5ec206aa 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTree.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTree.java @@ -66,7 +66,14 @@ public class VTree extends FocusElementPanel implements Paintable, public static final String ITEM_CLICK_EVENT_ID = "itemClick"; + /** + * Click selects the current node, ctrl/shift toggles multi selection + */ public static final int MULTISELECT_MODE_DEFAULT = 0; + + /** + * Click/touch on node toggles its selected status + */ public static final int MULTISELECT_MODE_SIMPLE = 1; private static final int CHARCODE_SPACE = 32; @@ -299,7 +306,13 @@ public class VTree extends FocusElementPanel implements Paintable, isMultiselect = "multi".equals(selectMode); if (isMultiselect) { - multiSelectMode = uidl.getIntAttribute("multiselectmode"); + if (BrowserInfo.get().isTouchDevice()) { + // Always use the simple mode for touch devices that do not have + // shift/ctrl keys (#8595) + multiSelectMode = MULTISELECT_MODE_SIMPLE; + } else { + multiSelectMode = uidl.getIntAttribute("multiselectmode"); + } } selectedIds = uidl.getStringArrayVariableAsSet("selected"); |