summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2011-03-14 13:25:28 -0700
committerMichael Kolb <kolby@google.com>2011-03-16 16:20:56 -0700
commit0035fadb375ff0b549b84605eb9aea150d31677a (patch)
tree4510bc618f54c86156de197ba2ec55f4e1bc2add
parent5007d212e8cf1aa863e97519501492d4d2bba839 (diff)
downloadpackages_apps_Browser-0035fadb375ff0b549b84605eb9aea150d31677a.zip
packages_apps_Browser-0035fadb375ff0b549b84605eb9aea150d31677a.tar.gz
packages_apps_Browser-0035fadb375ff0b549b84605eb9aea150d31677a.tar.bz2
more hw keyboard fixes
Bug: 3270434 added Ctrl-Tab/ Shft-Ctrl-Tab to navigate next/prev tab Change-Id: I9c874cbe2f23c9916044a2ffd8b9e82e510f21ac
-rw-r--r--src/com/android/browser/Controller.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 82aea47..80cc7ca 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2459,6 +2459,23 @@ public class Controller
}
/**
+ * helper method for key handler
+ * returns the current tab if it can't advance
+ */
+ private int getNextTabIndex() {
+ return Math.min(mTabControl.getTabCount() - 1,
+ mTabControl.getCurrentIndex() + 1);
+ }
+
+ /**
+ * helper method for key handler
+ * returns the current tab if it can't advance
+ */
+ private int getPrevTabIndex() {
+ return Math.max(0, mTabControl.getCurrentIndex() - 1);
+ }
+
+ /**
* handle key events in browser
*
* @param keyCode
@@ -2485,6 +2502,18 @@ public class Controller
boolean shift = event.hasModifiers(KeyEvent.META_SHIFT_ON);
switch(keyCode) {
+ case KeyEvent.KEYCODE_TAB:
+ if (event.isCtrlPressed()) {
+ if (event.isShiftPressed()) {
+ // prev tab
+ switchToTab(getPrevTabIndex());
+ } else {
+ // next tab
+ switchToTab(getNextTabIndex());
+ }
+ return true;
+ }
+ break;
case KeyEvent.KEYCODE_ESCAPE:
if (!noModifiers) break;
stopLoading();