From 08cda3f0eae5ca714799a3540bdc5d94f19d1501 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Mon, 13 Dec 2010 10:00:54 +0000 Subject: [PATCH] #6026 Keyboard multiselection in Firefox broken in Table and Tree svn changeset:16462/svn branch:6.5 --- src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java | 7 ++++++- src/com/vaadin/terminal/gwt/client/ui/VTree.java | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java index f743e8d7c6..a46a9df7e2 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java @@ -5398,7 +5398,12 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler, // scrolling) event.preventDefault(); } else if (hasFocus) { - if (handleNavigation(event.getNativeEvent().getKeyCode(), + int keyCode = event.getNativeEvent().getKeyCode(); + if (keyCode == 0) { + keyCode = event.getNativeEvent().getCharCode(); + } + + if (handleNavigation(keyCode, event.isControlKeyDown() || event.isMetaKeyDown(), event.isShiftKeyDown())) { event.preventDefault(); diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTree.java b/src/com/vaadin/terminal/gwt/client/ui/VTree.java index f903d60cc4..ec09b4299b 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTree.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTree.java @@ -1556,7 +1556,11 @@ public class VTree extends SimpleFocusablePanel implements Paintable, * .gwt.event.dom.client.KeyPressEvent) */ public void onKeyPress(KeyPressEvent event) { - if (handleKeyNavigation(event.getNativeEvent().getKeyCode(), + int keyCode = event.getNativeEvent().getKeyCode(); + if (keyCode == 0) { + keyCode = event.getNativeEvent().getCharCode(); + } + if (handleKeyNavigation(keyCode, event.isControlKeyDown() || event.isMetaKeyDown(), event.isShiftKeyDown())) { event.preventDefault(); -- 2.39.5