]> source.dussan.org Git - vaadin-framework.git/commitdiff
Table is now in multiselectmode.SIMPLE always on touch devices.
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 4 May 2011 11:51:09 +0000 (11:51 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 4 May 2011 11:51:09 +0000 (11:51 +0000)
svn changeset:18626/svn branch:6.6

src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
src/com/vaadin/ui/Table.java

index 08b622050d8e912a9a619f41d9f5ea5a86d37315..13d73e7291c5fedba565d38cdd747928f2cccc9e 100644 (file)
@@ -414,7 +414,8 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
     private boolean hasFocus = false;
     private int dragmode;
 
-    private int multiselectmode;
+    private int multiselectmode = BrowserInfo.get().isTouchDevice() ? MULTISELECT_MODE_SIMPLE
+            : MULTISELECT_MODE_DEFAULT;;
     private int tabIndex;
     private TouchScrollDelegate touchScrollDelegate;
 
@@ -826,8 +827,11 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
         tabIndex = uidl.hasAttribute("tabindex") ? uidl
                 .getIntAttribute("tabindex") : 0;
 
-        multiselectmode = uidl.hasAttribute("multiselectmode") ? uidl
-                .getIntAttribute("multiselectmode") : MULTISELECT_MODE_DEFAULT;
+        if (!BrowserInfo.get().isTouchDevice()) {
+            multiselectmode = uidl.hasAttribute("multiselectmode") ? uidl
+                    .getIntAttribute("multiselectmode")
+                    : MULTISELECT_MODE_DEFAULT;
+        }
 
         if (uidl.hasAttribute("alb")) {
             bodyActionKeys = uidl.getStringArrayAttribute("alb");
index 93987cff3566c86509a04e4607b1b93872a6fd46..738f9c53c501699f6fd0b8cdbbf6df2425d7b6e3 100644 (file)
@@ -3815,6 +3815,10 @@ public class Table extends AbstractSelect implements Action.Container,
     /**
      * Sets the behavior of how the multi-select mode should behave when the
      * table is both selectable and in multi-select mode.
+     * <p>
+     * Note, that on some clients the mode may not be respected. E.g. on touch
+     * based devices CTRL/SHIFT base selection method is invalid, so touch based
+     * browsers always use the {@link MultiSelectMode#SIMPLE}.
      * 
      * @param mode
      *            The select mode of the table