Navigate through Extension Manager tabs via Ctrl-(Shift)-Tab #8856

Merged
merged 1 commit into from Sep 15, 2014

Projects

None yet

5 participants

@MarcelGerber
Member

Now that we have three tabs, it's useful to be able to navigate through the tabs via Ctrl-Tab and Ctrl-Shift-Tab.
It's the shortcut used by browsers like Chrome.

@ingorichter
Contributor

Looks good to me. Thanks @MarcelGerber.

@ingorichter ingorichter merged commit 6b5437c into adobe:master Sep 15, 2014

1 check passed

continuous-integration/travis-ci The Travis CI build passed
Details
@MarcelGerber MarcelGerber deleted the MarcelGerber:extman-navigate-tabs branch Sep 16, 2014
@peterflynn peterflynn commented on the diff Sep 17, 2014
src/extensibility/ExtensionManagerDialog.js
});
-
+
+ // navigate through tabs via Ctrl-(Shift)-Tab
+ $dlg.on("keyup", function (event) {
+ if (event.keyCode === KeyEvent.DOM_VK_TAB && event.ctrlKey) {
@peterflynn
peterflynn Sep 17, 2014 Member

Belated question @MarcelGerber @ingorichter: any idea why this doesn't get snarled up by colliding with the global Ctrl-Tab shortcut for navigating between editors? Is it because we're in a modal dialog here and native menu commands are disabled while a modal is open? (On Windows at least, the menu items themselves remain enabled though, so I'm surprised that doesn't "eat" the key event). Have we tested to make sure this works ok with the non-native HTML menu bar, e.g. on Linux?

@Mark-Simulacrum
Mark-Simulacrum Sep 17, 2014 Contributor

It works for me on Linux (Ubuntu 14.04).

@peterflynn
peterflynn Sep 17, 2014 Member

Answering the 2nd part of my own question -- it does work with HTML menus, because Dialogs disables regular KeyBindingManager handling too.

@RaymondLim
RaymondLim Sep 17, 2014 Contributor

@MarcelGerber is using "keyup" events here and global shortcuts work on keydown events.

@MarcelGerber
MarcelGerber Sep 18, 2014 Member

@RaymondLim is right, I didn't get an keydown event for "Tab" key. At first I thought it was a bug...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment