diff options
author | Michael Kolb <kolby@google.com> | 2011-03-14 13:25:28 -0700 |
---|---|---|
committer | Michael Kolb <kolby@google.com> | 2011-03-16 16:20:56 -0700 |
commit | 0035fadb375ff0b549b84605eb9aea150d31677a (patch) | |
tree | 4510bc618f54c86156de197ba2ec55f4e1bc2add /src/com/android | |
parent | 5007d212e8cf1aa863e97519501492d4d2bba839 (diff) | |
download | packages_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
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/browser/Controller.java | 29 |
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(); |