diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2010-07-15 18:21:40 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2010-07-15 18:21:40 +0000 |
commit | 72663203f4e4be9032597d68d5973dcea4fb2669 (patch) | |
tree | d39aeb44b8fbcead13c1516d089068702f19462e | |
parent | 163d7078fff841009552a3297d78c4609df31f53 (diff) | |
download | vaadin-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.java | 19 |
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); } |