aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2010-07-15 18:21:40 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2010-07-15 18:21:40 +0000
commit72663203f4e4be9032597d68d5973dcea4fb2669 (patch)
treed39aeb44b8fbcead13c1516d089068702f19462e
parent163d7078fff841009552a3297d78c4609df31f53 (diff)
downloadvaadin-framework-72663203f4e4be9032597d68d5973dcea4fb2669.tar.gz
vaadin-framework-72663203f4e4be9032597d68d5973dcea4fb2669.zip
fixes #5358
svn changeset:14211/svn branch:6.4
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
index acc5731339..d917f68a91 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
@@ -3825,12 +3825,23 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
// click
} else {
- if (multiselectmode == MULTISELECT_MODE_DEFAULT) {
- deselectAll();
- }
+ boolean currentlyJustThisRowSelected = selectedRowKeys
+ .size() == 1
+ && selectedRowKeys
+ .contains(getKey());
+
+ if (!currentlyJustThisRowSelected) {
+ if (multiselectmode == MULTISELECT_MODE_DEFAULT) {
+ deselectAll();
+ }
+ toggleSelection();
+ } /*
+ * else NOP to avoid excessive server
+ * visits (selection is removed with
+ * CTRL/META click)
+ */
selectionRangeStart = this;
- toggleSelection();
setRowFocus(this);
}