|
|
|
@ -720,8 +720,13 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements
@@ -720,8 +720,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); |
|
|
|
@ -761,11 +766,24 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements
@@ -761,11 +766,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); |
|
|
|
|
} |
|
|
|
|