Arik Hadas has uploaded a new change for review.

Change subject: userportal,webadmin: switch tab with space key
......................................................................

userportal,webadmin: switch tab with space key

It is now possible to switch tab in a dialog that contains multiple tabs
by pressing the space key when the header of the tab we want to switch to
is focused

Change-Id: Ic0e727e81b0dc0e96dd81a22b338a2362cb46e7c
Signed-off-by: Arik Hadas <aha...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTab.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.java
2 files changed, 20 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/37/9637/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTab.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTab.java
index 5523605..0cc1731 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTab.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTab.java
@@ -9,6 +9,8 @@
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasKeyUpHandlers;
+import com.google.gwt.event.dom.client.KeyUpHandler;
 import com.google.gwt.event.shared.HandlerRegistration;
 import com.google.gwt.resources.client.CssResource;
 import com.google.gwt.uibinder.client.UiBinder;
@@ -20,7 +22,7 @@
 import com.google.gwt.user.client.ui.InlineLabel;
 import com.google.gwt.user.client.ui.Widget;
 
-public class DialogTab extends AbstractValidatedWidget implements 
HasClickHandlers, HasLabel, HasElementId, FocusableComponentsContainer {
+public class DialogTab extends AbstractValidatedWidget implements 
HasClickHandlers, HasLabel, HasElementId, HasKeyUpHandlers, 
FocusableComponentsContainer {
 
     interface WidgetUiBinder extends UiBinder<Widget, DialogTab> {
         WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class);
@@ -64,6 +66,11 @@
     }
 
     @Override
+    public HandlerRegistration addKeyUpHandler(KeyUpHandler handler) {
+        return tabContainer.addKeyUpHandler(handler);
+    }
+
+    @Override
     public String getLabel() {
         return tabLabel.getText();
     }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.java
index 77a4e37..4e36fe4 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/tab/DialogTabPanel.java
@@ -3,6 +3,8 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiChild;
 import com.google.gwt.uibinder.client.UiConstructor;
@@ -43,6 +45,16 @@
             }
         });
 
+        tab.addKeyUpHandler(new KeyUpHandler() {
+            @Override
+            public void onKeyUp(KeyUpEvent event) {
+                // if space key was pressed
+                if (32 == event.getNativeKeyCode()) {
+                    switchTab(tab);
+                }
+            }
+        });
+
         // Switch to first tab automatically
         if (tabContainer.getWidgetCount() == 1) {
             switchTab(tab);


--
To view, visit http://gerrit.ovirt.org/9637
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic0e727e81b0dc0e96dd81a22b338a2362cb46e7c
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <aha...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to