]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fixed #5797 for the case when enabled is toggled.
authorJohn Alhroos <john.ahlroos@itmill.com>
Wed, 27 Oct 2010 07:50:21 +0000 (07:50 +0000)
committerJohn Alhroos <john.ahlroos@itmill.com>
Wed, 27 Oct 2010 07:50:21 +0000 (07:50 +0000)
svn changeset:15737/svn branch:6.4

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

index dd8453c19b15a406f3ecd3d7af5feec503396113..ba7664f35d2ebe85a4c4888f19bfb57f0bce72d5 100644 (file)
@@ -5310,7 +5310,11 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
      * .gwt.event.dom.client.KeyPressEvent)
      */
     public void onKeyPress(KeyPressEvent event) {
-        if (hasFocus) {
+        if (!enabled) {
+            // Cancel default keyboard events on a disabled Table (prevents
+            // scrolling)
+            event.preventDefault();
+        } else if (hasFocus) {
             if (handleNavigation(event.getNativeEvent().getKeyCode(),
                     event.isControlKeyDown() || event.isMetaKeyDown(),
                     event.isShiftKeyDown())) {
@@ -5327,10 +5331,6 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
                 };
                 scrollingVelocityTimer.scheduleRepeating(100);
             }
-        } else if (!enabled) {
-            // Cancel default keyboard events on a disabled Table (prevents
-            // scrolling)
-            event.preventDefault();
         }
     }
 
@@ -5342,7 +5342,11 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
      * .event.dom.client.KeyDownEvent)
      */
     public void onKeyDown(KeyDownEvent event) {
-        if (hasFocus) {
+        if (!enabled) {
+            // Cancel default keyboard events on a disabled Table (prevents
+            // scrolling)
+            event.preventDefault();
+        } else if (hasFocus) {
             if (handleNavigation(event.getNativeEvent().getKeyCode(),
                     event.isControlKeyDown() || event.isMetaKeyDown(),
                     event.isShiftKeyDown())) {
@@ -5360,10 +5364,6 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
                 };
                 scrollingVelocityTimer.scheduleRepeating(100);
             }
-        } else if (!enabled) {
-            // Cancel default keyboard events on a disabled Table (prevents
-            // scrolling)
-            event.preventDefault();
         }
     }
 
@@ -5396,11 +5396,11 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
      * .dom.client.BlurEvent)
      */
     public void onBlur(BlurEvent event) {
-        if (isFocusable()) {
-            scrollBodyPanel.removeStyleName("focused");
-            hasFocus = false;
-            navKeyDown = false;
+        scrollBodyPanel.removeStyleName("focused");
+        hasFocus = false;
+        navKeyDown = false;
 
+        if (isFocusable()) {
             // Unfocus any row
             setRowFocus(null);
         }