From 3beb4f33066878bf0f398299f86ca7ad09c6329b Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Wed, 20 Jun 2018 16:57:24 +0200 Subject: [PATCH] Fix #34130 --- src/vs/base/parts/tree/browser/treeDefaults.ts | 2 +- src/vs/workbench/browser/parts/views/customView.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/vs/base/parts/tree/browser/treeDefaults.ts b/src/vs/base/parts/tree/browser/treeDefaults.ts index 1858b0dcaa8..b5c4ca60e62 100644 --- a/src/vs/base/parts/tree/browser/treeDefaults.ts +++ b/src/vs/base/parts/tree/browser/treeDefaults.ts @@ -168,8 +168,8 @@ export class DefaultController implements _.IController { } protected onLeftClick(tree: _.ITree, element: any, eventish: ICancelableEvent, origin: string = 'mouse'): boolean { - const payload = { origin: origin, originalEvent: eventish }; const event = eventish; + const payload = { origin: origin, originalEvent: eventish, didClickOnTwistie: this.isClickOnTwistie(event) }; if (tree.getInput() === element) { tree.clearFocus(payload); diff --git a/src/vs/workbench/browser/parts/views/customView.ts b/src/vs/workbench/browser/parts/views/customView.ts index 2ada24f3e32..5a63ac0a044 100644 --- a/src/vs/workbench/browser/parts/views/customView.ts +++ b/src/vs/workbench/browser/parts/views/customView.ts @@ -34,6 +34,7 @@ import { LIGHT, FileThemeIcon, FolderThemeIcon } from 'vs/platform/theme/common/ import { FileKind } from 'vs/platform/files/common/files'; import { WorkbenchTreeController } from 'vs/platform/list/browser/listService'; import { ViewletPanel, IViewletPanelOptions } from 'vs/workbench/browser/parts/views/panelViewlet'; +import { IMouseEvent } from 'vs/base/browser/mouseEvent'; export class CustomTreeViewPanel extends ViewletPanel { @@ -373,7 +374,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer { } private onSelection({ payload }: any): void { - if (payload && payload.source === 'api') { + if (payload && (!!payload.didClickOnTwistie || payload.source === 'api')) { return; } const selection: ITreeItem = this.tree.getSelection()[0]; @@ -586,6 +587,10 @@ class TreeController extends WorkbenchTreeController { super({}, configurationService); } + protected shouldToggleExpansion(element: ITreeItem, event: IMouseEvent, origin: string): boolean { + return element.command ? this.isClickOnTwistie(event) : super.shouldToggleExpansion(element, event, origin); + } + public onContextMenu(tree: ITree, node: ITreeItem, event: ContextMenuEvent): boolean { event.preventDefault(); event.stopPropagation(); -- GitLab