@ -750,8 +750,13 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements
@@ -750,8 +750,13 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements
@Override
public boolean dispatchKeyEvent ( KeyEvent event ) {
// Keyboard shortcuts
if ( event . isCtrlPressed ( ) & & event . getAction ( ) = = KeyEvent . ACTION_DOWN ) {
if ( event . getAction ( ) = = KeyEvent . ACTION_DOWN ) {
if ( event . isCtrlPressed ( ) ) {
switch ( event . getKeyCode ( ) ) {
case KeyEvent . KEYCODE_F :
// Search in page
findInPage ( ) ;
return true ;
case KeyEvent . KEYCODE_T :
// Open new tab
newTab ( null , true ) ;
@ -791,11 +796,24 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements
@@ -791,11 +796,24 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements
mPresenter . tabChanged ( nextIndex ) ;
return true ;
}
} else if ( event . getAction ( ) = = KeyEvent . ACTION_DOWN & & event . getKeyCode ( ) = = KeyEvent . KEYCODE_SEARCH ) {
} else if ( event . getKeyCode ( ) = = KeyEvent . KEYCODE_SEARCH ) {
// Highlight search field
mSearch . requestFocus ( ) ;
mSearch . selectAll ( ) ;
return true ;
} else if ( event . isAltPressed ( ) ) {
// Alt + tab number
if ( KeyEvent . KEYCODE_0 < = event . getKeyCode ( ) & & event . getKeyCode ( ) < = KeyEvent . KEYCODE_9 ) {
int nextIndex ;
if ( event . getKeyCode ( ) > mTabsManager . last ( ) + KeyEvent . KEYCODE_1 | | event . getKeyCode ( ) = = KeyEvent . KEYCODE_0 ) {
nextIndex = mTabsManager . last ( ) ;
} else {
nextIndex = event . getKeyCode ( ) - KeyEvent . KEYCODE_1 ;
}
mPresenter . tabChanged ( nextIndex ) ;
return true ;
}
}
}
return super . dispatchKeyEvent ( event ) ;
}