From 3858c869f9d4e42f77e76225be31c842c85c5188 Mon Sep 17 00:00:00 2001 From: skprabhanjan Date: Mon, 14 Oct 2019 11:57:53 +0530 Subject: [PATCH 1/3] Added tab functionality for preserve case button in search viewlet --- .../workbench/contrib/search/browser/searchWidget.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/vs/workbench/contrib/search/browser/searchWidget.ts b/src/vs/workbench/contrib/search/browser/searchWidget.ts index 96631434ff14..324da9405016 100644 --- a/src/vs/workbench/contrib/search/browser/searchWidget.ts +++ b/src/vs/workbench/contrib/search/browser/searchWidget.ts @@ -389,6 +389,7 @@ export class SearchWidget extends Widget { this.replaceInputFocusTracker = this._register(dom.trackFocus(this.replaceInput.inputBox.inputElement)); this._register(this.replaceInputFocusTracker.onDidFocus(() => this.replaceInputBoxFocused.set(true))); this._register(this.replaceInputFocusTracker.onDidBlur(() => this.replaceInputBoxFocused.set(false))); + this._register(this.replaceInput.onPreserveCaseKeyDown((keyboardEvent: IKeyboardEvent) => this.onPreserveCaseKeyDown(keyboardEvent))); } triggerReplaceAll(): Promise { @@ -495,6 +496,15 @@ export class SearchWidget extends Widget { } private onRegexKeyDown(keyboardEvent: IKeyboardEvent) { + if (keyboardEvent.equals(KeyCode.Tab)) { + if (this.isReplaceShown()) { + this.replaceInput.focusOnPreserve(); + keyboardEvent.preventDefault(); + } + } + } + + private onPreserveCaseKeyDown(keyboardEvent: IKeyboardEvent) { if (keyboardEvent.equals(KeyCode.Tab)) { if (this.isReplaceActive()) { this.focusReplaceAllAction(); From 3b4f1dd2eb0fb1ef1090c9ebdd0455753649ef88 Mon Sep 17 00:00:00 2001 From: skprabhanjan Date: Wed, 16 Oct 2019 22:59:30 +0530 Subject: [PATCH 2/3] Shift + tab event handling for going back --- src/vs/workbench/contrib/search/browser/searchView.ts | 2 +- src/vs/workbench/contrib/search/browser/searchWidget.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/search/browser/searchView.ts b/src/vs/workbench/contrib/search/browser/searchView.ts index 326e78344bbb..2d57050e52f1 100644 --- a/src/vs/workbench/contrib/search/browser/searchView.ts +++ b/src/vs/workbench/contrib/search/browser/searchView.ts @@ -245,7 +245,7 @@ export class SearchView extends ViewletPanel { if (this.searchWidget.isReplaceActive()) { this.searchWidget.focusReplaceAllAction(); } else { - this.searchWidget.focusRegexAction(); + this.searchWidget.replaceInput.focusOnPreserve(); } dom.EventHelper.stop(e); } diff --git a/src/vs/workbench/contrib/search/browser/searchWidget.ts b/src/vs/workbench/contrib/search/browser/searchWidget.ts index 324da9405016..263b79b88f72 100644 --- a/src/vs/workbench/contrib/search/browser/searchWidget.ts +++ b/src/vs/workbench/contrib/search/browser/searchWidget.ts @@ -513,6 +513,10 @@ export class SearchWidget extends Widget { } keyboardEvent.preventDefault(); } + else if (KeyMod.Shift | KeyCode.Tab) { + this.focusRegexAction(); + keyboardEvent.preventDefault(); + } } private onReplaceInputKeyDown(keyboardEvent: IKeyboardEvent) { From 427df96180d103e97b9753de5003df222b8173b0 Mon Sep 17 00:00:00 2001 From: skprabhanjan Date: Tue, 22 Oct 2019 22:32:42 +0530 Subject: [PATCH 3/3] replace input collapsed fix --- src/vs/workbench/contrib/search/browser/searchView.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/search/browser/searchView.ts b/src/vs/workbench/contrib/search/browser/searchView.ts index 2d57050e52f1..9b3f6f0eed67 100644 --- a/src/vs/workbench/contrib/search/browser/searchView.ts +++ b/src/vs/workbench/contrib/search/browser/searchView.ts @@ -245,7 +245,7 @@ export class SearchView extends ViewletPanel { if (this.searchWidget.isReplaceActive()) { this.searchWidget.focusReplaceAllAction(); } else { - this.searchWidget.replaceInput.focusOnPreserve(); + this.searchWidget.isReplaceShown() ? this.searchWidget.replaceInput.focusOnPreserve() : this.searchWidget.focusRegexAction(); } dom.EventHelper.stop(e); }