From 8b2f4340811f1950daf91db50e3786d6302ea291 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Thu, 21 Jan 2016 11:25:14 +0100 Subject: [PATCH] quick open: enable tab to jump into tree and actions --- src/vs/base/parts/quickopen/browser/quickOpenWidget.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts index d8aa438ae66..ed7b7d1a477 100644 --- a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts +++ b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts @@ -130,8 +130,14 @@ export class QuickOpenWidget implements IModelProvider { DOM.addDisposableListener(this.inputBox.inputElement, DOM.EventType.KEY_DOWN, (e: KeyboardEvent) => { let keyboardEvent: StandardKeyboardEvent = new StandardKeyboardEvent(e); + + // Do not handle Tab: It is used to navigate between elements without mouse + if (keyboardEvent.keyCode === KeyCode.Tab) { + return; + } + // Pass tree navigation keys to the tree but leave focus in input field - if (keyboardEvent.keyCode === KeyCode.Tab || keyboardEvent.keyCode === KeyCode.DownArrow || keyboardEvent.keyCode === KeyCode.UpArrow || keyboardEvent.keyCode === KeyCode.PageDown || keyboardEvent.keyCode === KeyCode.PageUp) { + else if (keyboardEvent.keyCode === KeyCode.Tab || keyboardEvent.keyCode === KeyCode.DownArrow || keyboardEvent.keyCode === KeyCode.UpArrow || keyboardEvent.keyCode === KeyCode.PageDown || keyboardEvent.keyCode === KeyCode.PageUp) { DOM.EventHelper.stop(e, true); this.navigateInTree(keyboardEvent.keyCode, keyboardEvent.shiftKey); @@ -825,7 +831,6 @@ export class QuickOpenWidget implements IModelProvider { const relatedTarget = (e).relatedTarget; if (!this.quickNavigateConfiguration && DOM.isAncestor(relatedTarget, this.builder.getHTMLElement())) { - this.inputBox.focus(); // user clicked somewhere into quick open, so we restore focus to input return; } -- GitLab