From a3090f7d8ad8e4e0f98259b07bb70f10904847f2 Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Mon, 27 Jun 2016 16:55:29 +0200 Subject: [PATCH] improve keyboard navigation - focussing after removing --- .../parts/search/browser/searchActions.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/parts/search/browser/searchActions.ts b/src/vs/workbench/parts/search/browser/searchActions.ts index 2cdfff3e50d..ea4e57d6810 100644 --- a/src/vs/workbench/parts/search/browser/searchActions.ts +++ b/src/vs/workbench/parts/search/browser/searchActions.ts @@ -97,14 +97,24 @@ export class RemoveAction extends Action { super('remove', nls.localize('RemoveAction.label', "Remove"), 'action-remove'); } - public run(): TPromise { + public run(retainFocus: boolean= true): TPromise { + if (this.viewer.getFocus() === this.viewer.getNavigator().last()) { + this.viewer.focusPrevious(); + } else { + this.viewer.focusNext(); + } + + let parent: any; if (this.element instanceof FileMatch) { - let parent:SearchResult = this.element.parent(); + parent= this.element.parent(); parent.remove(this.element); } else { - let parent:FileMatch = this.element.parent(); + parent= this.element.parent(); parent.remove(this.element); } + if (retainFocus) { + this.viewer.DOMFocus(); + } return this.viewer.refresh(parent); } } @@ -139,7 +149,7 @@ export class ReplaceAction extends Action { this.telemetryService.publicLog('replace.action.selected'); return this.replaceService.replace(this.element, this.element.parent().parent().replaceText).then(() => { this.viewlet.open(this.element).done(() => { - new RemoveAction(this.viewer, this.element).run(); + new RemoveAction(this.viewer, this.element).run(false); }, errors.onUnexpectedError); }); } -- GitLab