From d2fd388ba42b22d8bbb4618549dc9c9140ef764f Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Mon, 5 Feb 2018 17:02:04 +0100 Subject: [PATCH] list/tree - control open behaviour in one place and prefer to open on mouse down vs mouse up --- .../base/parts/tree/browser/treeDefaults.ts | 2 +- src/vs/platform/list/browser/listService.ts | 20 +++++++++++++++---- .../workbench/browser/parts/views/treeView.ts | 3 +-- .../debug/electron-browser/baseDebugView.ts | 4 +--- .../debug/electron-browser/breakpointsView.ts | 2 +- .../debug/electron-browser/callStackView.ts | 4 ++-- .../debug/electron-browser/debugHover.ts | 16 +++++++++------ .../parts/debug/electron-browser/repl.ts | 4 ++-- .../debug/electron-browser/variablesView.ts | 4 ++-- .../electron-browser/watchExpressionsView.ts | 4 ++-- .../extensions/browser/dependenciesViewer.ts | 3 +-- .../electron-browser/extensionsViews.ts | 2 +- .../runtimeExtensionsEditor.ts | 2 +- .../electron-browser/views/explorerViewer.ts | 2 +- .../electron-browser/views/openEditorsView.ts | 5 +++-- .../parts/markers/browser/markersPanel.ts | 2 +- .../markers/browser/markersTreeController.ts | 3 +-- .../preferences/browser/keybindingsEditor.ts | 2 +- .../parts/scm/electron-browser/scmViewlet.ts | 4 ++-- 19 files changed, 50 insertions(+), 38 deletions(-) diff --git a/src/vs/base/parts/tree/browser/treeDefaults.ts b/src/vs/base/parts/tree/browser/treeDefaults.ts index 116c4c017e2..9f1cd3cd48d 100644 --- a/src/vs/base/parts/tree/browser/treeDefaults.ts +++ b/src/vs/base/parts/tree/browser/treeDefaults.ts @@ -88,7 +88,7 @@ export class DefaultController implements _.IController { private options: IControllerOptions; - constructor(options: IControllerOptions = { clickBehavior: ClickBehavior.ON_MOUSE_UP, keyboardSupport: true, openMode: OpenMode.SINGLE_CLICK }) { + constructor(options: IControllerOptions = { clickBehavior: ClickBehavior.ON_MOUSE_DOWN, keyboardSupport: true, openMode: OpenMode.SINGLE_CLICK }) { this.options = options; this.downKeyBindingDispatcher = new KeybindingDispatcher(); diff --git a/src/vs/platform/list/browser/listService.ts b/src/vs/platform/list/browser/listService.ts index e003a1378af..6bb2fc6c91e 100644 --- a/src/vs/platform/list/browser/listService.ts +++ b/src/vs/platform/list/browser/listService.ts @@ -152,7 +152,7 @@ function handleListControllers(options: IListOptions, configurationService function handleTreeController(configuration: ITreeConfiguration, instantiationService: IInstantiationService): ITreeConfiguration { if (!configuration.controller) { - configuration.controller = instantiationService.createInstance(WorkbenchTreeController, { clickBehavior: ClickBehavior.ON_MOUSE_UP }); + configuration.controller = instantiationService.createInstance(WorkbenchTreeController, {}); } return configuration; @@ -176,7 +176,7 @@ export class WorkbenchList extends List { @IThemeService themeService: IThemeService, @IConfigurationService private configurationService: IConfigurationService ) { - super(container, delegate, renderers, mixin(handleListControllers(options, configurationService), { keyboardSupport: false } as IListOptions, false)); + super(container, delegate, renderers, mixin(handleListControllers(options, configurationService), { keyboardSupport: false, selectOnMouseDown: true } as IListOptions, false)); this.contextKeyService = createScopedContextKeyService(contextKeyService, this); this.listDoubleSelection = WorkbenchListDoubleSelection.bindTo(this.contextKeyService); @@ -224,7 +224,7 @@ export class WorkbenchPagedList extends PagedList { @IThemeService themeService: IThemeService, @IConfigurationService private configurationService: IConfigurationService ) { - super(container, delegate, renderers, mixin(handleListControllers(options, configurationService), { keyboardSupport: false } as IListOptions, false)); + super(container, delegate, renderers, mixin(handleListControllers(options, configurationService), { keyboardSupport: false, selectOnMouseDown: true } as IListOptions, false)); this.contextKeyService = createScopedContextKeyService(contextKeyService, this); @@ -324,6 +324,18 @@ export class WorkbenchTree extends Tree { } } +function massageControllerOptions(options: IControllerOptions): IControllerOptions { + if (typeof options.keyboardSupport !== 'boolean') { + options.keyboardSupport = false; + } + + if (typeof options.clickBehavior !== 'number') { + options.clickBehavior = ClickBehavior.ON_MOUSE_DOWN; + } + + return options; +} + export class WorkbenchTreeController extends DefaultController { protected disposables: IDisposable[] = []; @@ -332,7 +344,7 @@ export class WorkbenchTreeController extends DefaultController { options: IControllerOptions, @IConfigurationService private configurationService: IConfigurationService ) { - super(options); + super(massageControllerOptions(options)); // if the open mode is not set, we configure it based on settings if (isUndefinedOrNull(options.openMode)) { diff --git a/src/vs/workbench/browser/parts/views/treeView.ts b/src/vs/workbench/browser/parts/views/treeView.ts index b3b5dfc4973..029fc406e03 100644 --- a/src/vs/workbench/browser/parts/views/treeView.ts +++ b/src/vs/workbench/browser/parts/views/treeView.ts @@ -14,7 +14,6 @@ import { IAction, IActionItem, ActionRunner } from 'vs/base/common/actions'; import { IMessageService } from 'vs/platform/message/common/message'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; -import { ClickBehavior } from 'vs/base/parts/tree/browser/treeDefaults'; import { IMenuService, MenuId, MenuItemAction } from 'vs/platform/actions/common/actions'; import { IThemeService, LIGHT } from 'vs/platform/theme/common/themeService'; import { fillInActions, ContextAwareMenuItemActionItem } from 'vs/platform/actions/browser/menuItemActionItem'; @@ -419,7 +418,7 @@ class TreeController extends WorkbenchTreeController { @IKeybindingService private _keybindingService: IKeybindingService, @IConfigurationService configurationService: IConfigurationService ) { - super({ clickBehavior: ClickBehavior.ON_MOUSE_UP /* do not change to not break DND */, keyboardSupport: false }, configurationService); + super({}, configurationService); } public onContextMenu(tree: ITree, node: ITreeItem, event: ContextMenuEvent): boolean { diff --git a/src/vs/workbench/parts/debug/electron-browser/baseDebugView.ts b/src/vs/workbench/parts/debug/electron-browser/baseDebugView.ts index 51060145213..a725b56fa5e 100644 --- a/src/vs/workbench/parts/debug/electron-browser/baseDebugView.ts +++ b/src/vs/workbench/parts/debug/electron-browser/baseDebugView.ts @@ -15,7 +15,7 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { once } from 'vs/base/common/functional'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { IMenuService, MenuId, IMenu } from 'vs/platform/actions/common/actions'; -import { ClickBehavior, IControllerOptions } from 'vs/base/parts/tree/browser/treeDefaults'; +import { IControllerOptions } from 'vs/base/parts/tree/browser/treeDefaults'; import { fillInActions } from 'vs/platform/actions/browser/menuItemActionItem'; import { KeyCode } from 'vs/base/common/keyCodes'; import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; @@ -192,8 +192,6 @@ export function renderRenameBox(debugService: IDebugService, contextViewService: })); } -export const DefaultDebugControllerOptions: IControllerOptions = { clickBehavior: ClickBehavior.ON_MOUSE_UP, keyboardSupport: false }; - export class BaseDebugController extends WorkbenchTreeController { private contributedContextMenu: IMenu; diff --git a/src/vs/workbench/parts/debug/electron-browser/breakpointsView.ts b/src/vs/workbench/parts/debug/electron-browser/breakpointsView.ts index c6692a98a85..724fcc49297 100644 --- a/src/vs/workbench/parts/debug/electron-browser/breakpointsView.ts +++ b/src/vs/workbench/parts/debug/electron-browser/breakpointsView.ts @@ -72,7 +72,7 @@ export class BreakpointsView extends ViewsViewletPanel { ], { identityProvider: element => element.getId(), multipleSelectionSupport: false - }); + }) as WorkbenchList; CONTEXT_BREAKPOINTS_FOCUSED.bindTo(this.list.contextKeyService); diff --git a/src/vs/workbench/parts/debug/electron-browser/callStackView.ts b/src/vs/workbench/parts/debug/electron-browser/callStackView.ts index 894be8083de..2670582867c 100644 --- a/src/vs/workbench/parts/debug/electron-browser/callStackView.ts +++ b/src/vs/workbench/parts/debug/electron-browser/callStackView.ts @@ -15,7 +15,7 @@ import { IContextMenuService } from 'vs/platform/contextview/browser/contextView import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { MenuId } from 'vs/platform/actions/common/actions'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; -import { BaseDebugController, twistiePixels, renderViewTree, DefaultDebugControllerOptions } from 'vs/workbench/parts/debug/electron-browser/baseDebugView'; +import { BaseDebugController, twistiePixels, renderViewTree } from 'vs/workbench/parts/debug/electron-browser/baseDebugView'; import { ITree, IActionProvider, IDataSource, IRenderer, IAccessibilityProvider } from 'vs/base/parts/tree/browser/tree'; import { IAction, IActionItem } from 'vs/base/common/actions'; import { RestartAction, StopAction, ContinueAction, StepOverAction, StepIntoAction, StepOutAction, PauseAction, RestartFrameAction } from 'vs/workbench/parts/debug/browser/debugActions'; @@ -92,7 +92,7 @@ export class CallStackView extends TreeViewsViewletPanel { dom.addClass(container, 'debug-call-stack'); this.treeContainer = renderViewTree(container); const actionProvider = new CallStackActionProvider(this.debugService, this.keybindingService); - const controller = this.instantiationService.createInstance(CallStackController, actionProvider, MenuId.DebugCallStackContext, DefaultDebugControllerOptions); + const controller = this.instantiationService.createInstance(CallStackController, actionProvider, MenuId.DebugCallStackContext, {}); this.tree = this.instantiationService.createInstance(WorkbenchTree, this.treeContainer, { dataSource: new CallStackDataSource(), diff --git a/src/vs/workbench/parts/debug/electron-browser/debugHover.ts b/src/vs/workbench/parts/debug/electron-browser/debugHover.ts index a187adff67f..aa20bf05c93 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugHover.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugHover.ts @@ -11,7 +11,7 @@ import { ScrollbarVisibility } from 'vs/base/common/scrollable'; import * as dom from 'vs/base/browser/dom'; import { ITree } from 'vs/base/parts/tree/browser/tree'; import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent'; -import { DefaultController, ICancelableEvent, ClickBehavior, OpenMode } from 'vs/base/parts/tree/browser/treeDefaults'; +import { ICancelableEvent, OpenMode } from 'vs/base/parts/tree/browser/treeDefaults'; import { IConfigurationChangedEvent } from 'vs/editor/common/config/editorOptions'; import { Position } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; @@ -25,7 +25,8 @@ import { DomScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableEle import { attachStylerCallback } from 'vs/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { editorHoverBackground, editorHoverBorder } from 'vs/platform/theme/common/colorRegistry'; -import { WorkbenchTree } from 'vs/platform/list/browser/listService'; +import { WorkbenchTree, WorkbenchTreeController } from 'vs/platform/list/browser/listService'; +import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; const $ = dom.$; const MAX_ELEMENTS_SHOWN = 18; @@ -71,7 +72,7 @@ export class DebugHoverWidget implements IContentWidget { this.tree = this.instantiationService.createInstance(WorkbenchTree, this.treeContainer, { dataSource: new VariablesDataSource(), renderer: this.instantiationService.createInstance(VariablesHoverRenderer), - controller: new DebugHoverController(this.editor) + controller: this.instantiationService.createInstance(DebugHoverController, this.editor) }, { indentPixels: 6, twistiePixels: 15, @@ -333,10 +334,13 @@ export class DebugHoverWidget implements IContentWidget { } } -class DebugHoverController extends DefaultController { +class DebugHoverController extends WorkbenchTreeController { - constructor(private editor: ICodeEditor) { - super({ clickBehavior: ClickBehavior.ON_MOUSE_UP, keyboardSupport: false, openMode: OpenMode.SINGLE_CLICK }); + constructor( + private editor: ICodeEditor, + @IConfigurationService configurationService: IConfigurationService + ) { + super({ openMode: OpenMode.SINGLE_CLICK }, configurationService); } protected onLeftClick(tree: ITree, element: any, eventish: ICancelableEvent, origin = 'mouse'): boolean { diff --git a/src/vs/workbench/parts/debug/electron-browser/repl.ts b/src/vs/workbench/parts/debug/electron-browser/repl.ts index 87596c77d68..82e3c72b1d7 100644 --- a/src/vs/workbench/parts/debug/electron-browser/repl.ts +++ b/src/vs/workbench/parts/debug/electron-browser/repl.ts @@ -44,7 +44,7 @@ import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { WorkbenchTree } from 'vs/platform/list/browser/listService'; import { memoize } from 'vs/base/common/decorators'; import { dispose } from 'vs/base/common/lifecycle'; -import { ClickBehavior, OpenMode } from 'vs/base/parts/tree/browser/treeDefaults'; +import { OpenMode } from 'vs/base/parts/tree/browser/treeDefaults'; const $ = dom.$; @@ -135,7 +135,7 @@ export class Repl extends Panel implements IPrivateReplService { this.createReplInput(this.container); this.renderer = this.instantiationService.createInstance(ReplExpressionsRenderer); - const controller = this.instantiationService.createInstance(ReplExpressionsController, new ReplExpressionsActionProvider(this.instantiationService), MenuId.DebugConsoleContext, { clickBehavior: ClickBehavior.ON_MOUSE_UP, keyboardSupport: false, openMode: OpenMode.SINGLE_CLICK }); + const controller = this.instantiationService.createInstance(ReplExpressionsController, new ReplExpressionsActionProvider(this.instantiationService), MenuId.DebugConsoleContext, { openMode: OpenMode.SINGLE_CLICK }); controller.toFocusOnClick = this.replInput; this.tree = this.instantiationService.createInstance(WorkbenchTree, this.treeContainer, { diff --git a/src/vs/workbench/parts/debug/electron-browser/variablesView.ts b/src/vs/workbench/parts/debug/electron-browser/variablesView.ts index 8ef474462bd..ad0beef1cad 100644 --- a/src/vs/workbench/parts/debug/electron-browser/variablesView.ts +++ b/src/vs/workbench/parts/debug/electron-browser/variablesView.ts @@ -28,7 +28,7 @@ import { ViewModel } from 'vs/workbench/parts/debug/common/debugViewModel'; import { equalsIgnoreCase } from 'vs/base/common/strings'; import { IMouseEvent } from 'vs/base/browser/mouseEvent'; import { WorkbenchTree } from 'vs/platform/list/browser/listService'; -import { ClickBehavior, OpenMode } from 'vs/base/parts/tree/browser/treeDefaults'; +import { OpenMode } from 'vs/base/parts/tree/browser/treeDefaults'; const $ = dom.$; @@ -88,7 +88,7 @@ export class VariablesView extends TreeViewsViewletPanel { dataSource: new VariablesDataSource(), renderer: this.instantiationService.createInstance(VariablesRenderer), accessibilityProvider: new VariablesAccessibilityProvider(), - controller: this.instantiationService.createInstance(VariablesController, new VariablesActionProvider(this.debugService, this.keybindingService), MenuId.DebugVariablesContext, { clickBehavior: ClickBehavior.ON_MOUSE_UP, keyboardSupport: false, openMode: OpenMode.SINGLE_CLICK }) + controller: this.instantiationService.createInstance(VariablesController, new VariablesActionProvider(this.debugService, this.keybindingService), MenuId.DebugVariablesContext, { openMode: OpenMode.SINGLE_CLICK }) }, { ariaLabel: nls.localize('variablesAriaTreeLabel', "Debug Variables"), twistiePixels diff --git a/src/vs/workbench/parts/debug/electron-browser/watchExpressionsView.ts b/src/vs/workbench/parts/debug/electron-browser/watchExpressionsView.ts index e353cc434f8..07c156c6421 100644 --- a/src/vs/workbench/parts/debug/electron-browser/watchExpressionsView.ts +++ b/src/vs/workbench/parts/debug/electron-browser/watchExpressionsView.ts @@ -26,7 +26,7 @@ import { CopyValueAction } from 'vs/workbench/parts/debug/electron-browser/elect import { Separator } from 'vs/base/browser/ui/actionbar/actionbar'; import { equalsIgnoreCase } from 'vs/base/common/strings'; import { IMouseEvent, DragMouseEvent } from 'vs/base/browser/mouseEvent'; -import { DefaultDragAndDrop, ClickBehavior, OpenMode } from 'vs/base/parts/tree/browser/treeDefaults'; +import { DefaultDragAndDrop, OpenMode, ClickBehavior } from 'vs/base/parts/tree/browser/treeDefaults'; import { IVariableTemplateData, renderVariable, renderRenameBox, renderExpressionValue, BaseDebugController, twistiePixels, renderViewTree } from 'vs/workbench/parts/debug/electron-browser/baseDebugView'; import { WorkbenchTree } from 'vs/platform/list/browser/listService'; @@ -65,7 +65,7 @@ export class WatchExpressionsView extends TreeViewsViewletPanel { dataSource: new WatchExpressionsDataSource(this.debugService), renderer: this.instantiationService.createInstance(WatchExpressionsRenderer), accessibilityProvider: new WatchExpressionsAccessibilityProvider(), - controller: this.instantiationService.createInstance(WatchExpressionsController, actionProvider, MenuId.DebugWatchContext, { clickBehavior: ClickBehavior.ON_MOUSE_UP, keyboardSupport: false, openMode: OpenMode.SINGLE_CLICK }), + controller: this.instantiationService.createInstance(WatchExpressionsController, actionProvider, MenuId.DebugWatchContext, { clickBehavior: ClickBehavior.ON_MOUSE_UP /* do not change to not break DND */, openMode: OpenMode.SINGLE_CLICK }), dnd: new WatchExpressionsDragAndDrop(this.debugService) }, { ariaLabel: nls.localize({ comment: ['Debug is a noun in this context, not a verb.'], key: 'watchAriaTreeLabel' }, "Debug Watch Expressions"), diff --git a/src/vs/workbench/parts/extensions/browser/dependenciesViewer.ts b/src/vs/workbench/parts/extensions/browser/dependenciesViewer.ts index ae9cd5f371c..18baa41f67c 100644 --- a/src/vs/workbench/parts/extensions/browser/dependenciesViewer.ts +++ b/src/vs/workbench/parts/extensions/browser/dependenciesViewer.ts @@ -9,7 +9,6 @@ import { IMouseEvent } from 'vs/base/browser/mouseEvent'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { TPromise, Promise } from 'vs/base/common/winjs.base'; import { IDataSource, ITree, IRenderer } from 'vs/base/parts/tree/browser/tree'; -import { ClickBehavior } from 'vs/base/parts/tree/browser/treeDefaults'; import { Action } from 'vs/base/common/actions'; import { IExtensionDependencies, IExtensionsWorkbenchService } from 'vs/workbench/parts/extensions/common/extensions'; import { once } from 'vs/base/common/event'; @@ -164,7 +163,7 @@ export class Controller extends WorkbenchTreeController { @IExtensionsWorkbenchService private extensionsWorkdbenchService: IExtensionsWorkbenchService, @IConfigurationService configurationService: IConfigurationService ) { - super({ clickBehavior: ClickBehavior.ON_MOUSE_UP, keyboardSupport: false }, configurationService); + super({}, configurationService); // TODO@Sandeep this should be a command this.downKeyBindingDispatcher.set(KeyMod.CtrlCmd | KeyCode.Enter, (tree: ITree, event: any) => this.openExtension(tree, true)); diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts index c3806ceef8d..991abed8c35 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts @@ -79,7 +79,7 @@ export class ExtensionsListView extends ViewsViewletPanel { const renderer = this.instantiationService.createInstance(Renderer); this.list = this.instantiationService.createInstance(WorkbenchPagedList, this.extensionsList, delegate, [renderer], { ariaLabel: localize('extensions', "Extensions") - }); + }) as WorkbenchPagedList; chain(this.list.onOpen) .map(e => e.elements[0]) diff --git a/src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts b/src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts index bc300591ee4..e6256d7aeae 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/runtimeExtensionsEditor.ts @@ -364,7 +364,7 @@ export class RuntimeExtensionsEditor extends BaseEditor { this._list = this._instantiationService.createInstance(WorkbenchList, container, delegate, [renderer], { multipleSelectionSupport: false - }); + }) as WorkbenchList; this._list.splice(0, this._list.length, this._elements); diff --git a/src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts b/src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts index 9d2271aa8ca..965d9ca8476 100644 --- a/src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts +++ b/src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts @@ -339,7 +339,7 @@ export class FileController extends WorkbenchTreeController implements IDisposab @IContextKeyService contextKeyService: IContextKeyService, @IConfigurationService configurationService: IConfigurationService ) { - super({ clickBehavior: ClickBehavior.ON_MOUSE_UP /* do not change to not break DND */, keyboardSupport: false /* handled via IListService */ }, configurationService); + super({ clickBehavior: ClickBehavior.ON_MOUSE_UP /* do not change to not break DND */ }, configurationService); this.toDispose = []; } diff --git a/src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts b/src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts index 5c32d3c0d14..f9d95b0e10c 100644 --- a/src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts +++ b/src/vs/workbench/parts/files/electron-browser/views/openEditorsView.ts @@ -151,8 +151,9 @@ export class OpenEditorsView extends ViewsViewletPanel { new EditorGroupRenderer(this.keybindingService, this.instantiationService, this.editorGroupService), new OpenEditorRenderer(getSelectedElements, this.instantiationService, this.keybindingService, this.configurationService, this.editorGroupService) ], { - identityProvider: element => element instanceof OpenEditor ? element.getId() : element.id.toString() - }); + identityProvider: element => element instanceof OpenEditor ? element.getId() : element.id.toString(), + selectOnMouseDown: false /* disabled to better support DND */ + }) as WorkbenchList; this.contributedContextMenu = this.menuService.createMenu(MenuId.OpenEditorsContext, this.list.contextKeyService); this.disposables.push(this.contributedContextMenu); diff --git a/src/vs/workbench/parts/markers/browser/markersPanel.ts b/src/vs/workbench/parts/markers/browser/markersPanel.ts index eef2a33b0d7..4291b3db443 100644 --- a/src/vs/workbench/parts/markers/browser/markersPanel.ts +++ b/src/vs/workbench/parts/markers/browser/markersPanel.ts @@ -194,7 +194,7 @@ export class MarkersPanel extends Panel { dom.addClass(this.treeContainer, 'show-file-icons'); const renderer = this.instantiationService.createInstance(Viewer.Renderer); const dnd = new SimpleFileResourceDragAndDrop(obj => obj instanceof Resource ? obj.uri : void 0); - let controller = this.instantiationService.createInstance(Controller); + const controller = this.instantiationService.createInstance(Controller); this.tree = this.instantiationService.createInstance(WorkbenchTree, this.treeContainer, { dataSource: new Viewer.DataSource(), renderer, diff --git a/src/vs/workbench/parts/markers/browser/markersTreeController.ts b/src/vs/workbench/parts/markers/browser/markersTreeController.ts index a460210a923..548b3fb7b6b 100644 --- a/src/vs/workbench/parts/markers/browser/markersTreeController.ts +++ b/src/vs/workbench/parts/markers/browser/markersTreeController.ts @@ -7,7 +7,6 @@ import { TPromise } from 'vs/base/common/winjs.base'; import * as mouse from 'vs/base/browser/mouseEvent'; import tree = require('vs/base/parts/tree/browser/tree'); -import treedefaults = require('vs/base/parts/tree/browser/treeDefaults'); import { MarkersModel } from 'vs/workbench/parts/markers/common/markersModel'; import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { IMenuService, MenuId } from 'vs/platform/actions/common/actions'; @@ -25,7 +24,7 @@ export class Controller extends WorkbenchTreeController { @IKeybindingService private _keybindingService: IKeybindingService, @IConfigurationService configurationService: IConfigurationService ) { - super({ clickBehavior: treedefaults.ClickBehavior.ON_MOUSE_DOWN, keyboardSupport: false }, configurationService); + super({}, configurationService); } protected onLeftClick(tree: tree.ITree, element: any, event: mouse.IMouseEvent): boolean { diff --git a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts index 930c3457765..68b0c733cce 100644 --- a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts @@ -333,7 +333,7 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor this.keybindingsListContainer = DOM.append(parent, $('.keybindings-list-container')); this.keybindingsList = this._register(this.instantiationService.createInstance(WorkbenchList, this.keybindingsListContainer, new Delegate(), [new KeybindingHeaderRenderer(), new KeybindingItemRenderer(this, this.keybindingsService)], - { identityProvider: e => e.id, mouseSupport: true, ariaLabel: localize('keybindingsLabel', "Keybindings") })); + { identityProvider: e => e.id, mouseSupport: true, ariaLabel: localize('keybindingsLabel', "Keybindings") })) as WorkbenchList; this._register(this.keybindingsList.onContextMenu(e => this.onContextMenu(e))); this._register(this.keybindingsList.onFocusChange(e => this.onFocusChange(e))); this._register(this.keybindingsList.onDidFocus(() => { diff --git a/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts b/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts index 6b3199a8177..d9595cfe31c 100644 --- a/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts +++ b/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts @@ -245,7 +245,7 @@ class MainPanel extends ViewletPanel { this.list = this.instantiationService.createInstance(WorkbenchList, container, delegate, [renderer], { identityProvider: repository => repository.provider.id - }); + }) as WorkbenchList; this.disposables.push(this.list); this.list.onSelectionChange(this.onListSelectionChange, this, this.disposables); @@ -817,7 +817,7 @@ export class RepositoryPanel extends ViewletPanel { this.list = this.instantiationService.createInstance(WorkbenchList, this.listContainer, delegate, renderers, { identityProvider: scmResourceIdentityProvider - }); + }) as WorkbenchList; chain(this.list.onOpen) .map(e => e.elements[0]) -- GitLab