From a3e3a27844c19c73f1746cc893ea05d083cd2bc1 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Tue, 15 May 2018 16:41:30 +0200 Subject: [PATCH] use WorkbenchTreeController --- .../parts/outline/electron-browser/outlinePanel.ts | 14 +++++++++----- .../parts/outline/electron-browser/outlineTree.ts | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/vs/workbench/parts/outline/electron-browser/outlinePanel.ts b/src/vs/workbench/parts/outline/electron-browser/outlinePanel.ts index aa1dac38fec..009949217bb 100644 --- a/src/vs/workbench/parts/outline/electron-browser/outlinePanel.ts +++ b/src/vs/workbench/parts/outline/electron-browser/outlinePanel.ts @@ -176,9 +176,9 @@ export class OutlinePanel extends ViewsViewletPanel { @IThemeService private readonly _themeService: IThemeService, @IStorageService private readonly _storageService: IStorageService, @IWorkbenchEditorService private readonly _editorService: IWorkbenchEditorService, + @IConfigurationService configurationService: IConfigurationService, @IKeybindingService keybindingService: IKeybindingService, @IContextMenuService contextMenuService: IContextMenuService, - @IConfigurationService configurationService: IConfigurationService ) { super(options, keybindingService, contextMenuService, configurationService); @@ -231,7 +231,10 @@ export class OutlinePanel extends ViewsViewletPanel { const controller = new class extends OutlineController { private readonly _mapper = KeyboardMapperFactory.INSTANCE; - // private readonly _ignored = { [KeyCode.Shift]: true,/* [KeyCode.Ctrl]: true, [KeyCode.Alt]: true, [KeyCode.Meta]: true */ }; + + constructor() { + super({}, $this.configurationService); + } onKeyDown(tree: ITree, event: IKeyboardEvent) { let handled = super.onKeyDown(tree, event); @@ -248,11 +251,12 @@ export class OutlinePanel extends ViewsViewletPanel { if (!mapping) { return false; } - const value = mapping[event.code]; - if (value.value) { + const keyInfo = mapping[event.code]; + if (keyInfo.value) { $this._input.focus(); + return true; } - return true; + return false; } }; const dataSource = new OutlineDataSource(); diff --git a/src/vs/workbench/parts/outline/electron-browser/outlineTree.ts b/src/vs/workbench/parts/outline/electron-browser/outlineTree.ts index bbc1568963a..ae8fbc1d12f 100644 --- a/src/vs/workbench/parts/outline/electron-browser/outlineTree.ts +++ b/src/vs/workbench/parts/outline/electron-browser/outlineTree.ts @@ -12,7 +12,6 @@ import { onUnexpectedError } from 'vs/base/common/errors'; import { createMatches } from 'vs/base/common/filters'; import { TPromise } from 'vs/base/common/winjs.base'; import { IDataSource, IFilter, IRenderer, ISorter, ITree } from 'vs/base/parts/tree/browser/tree'; -import { DefaultController } from 'vs/base/parts/tree/browser/treeDefaults'; import 'vs/css!./media/symbol-icons'; import { Range } from 'vs/editor/common/core/range'; import { symbolKindToCssClass } from 'vs/editor/common/modes'; @@ -22,6 +21,7 @@ import { getPathLabel } from 'vs/base/common/labels'; import { IEnvironmentService } from 'vs/platform/environment/common/environment'; import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { localize } from 'vs/nls'; +import { WorkbenchTreeController } from 'vs/platform/list/browser/listService'; export enum OutlineItemCompareType { ByPosition, @@ -234,7 +234,7 @@ export class OutlineTreeState { } } -export class OutlineController extends DefaultController { +export class OutlineController extends WorkbenchTreeController { protected onLeftClick(tree: ITree, element: any, event: IMouseEvent, origin: string = 'mouse'): boolean {