From 5c8378b6664a11d8ab72eaaab144c3416d0699b5 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 12 Jan 2018 16:21:08 +0100 Subject: [PATCH] explorer multi select - distinct parents for DND --- .../parts/files/electron-browser/views/explorerViewer.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 78017d5ca55..1105d96bf3f 100644 --- a/src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts +++ b/src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts @@ -55,6 +55,7 @@ import { getPathLabel } from 'vs/base/common/labels'; import { extractResources } from 'vs/workbench/browser/editor'; import { relative } from 'path'; import { DataTransfers } from 'vs/base/browser/dnd'; +import { distinctParents } from 'vs/base/common/resources'; export class FileDataSource implements IDataSource { constructor( @@ -865,7 +866,7 @@ export class FileDragAndDrop extends SimpleFileResourceDragAndDrop { } private handleExplorerDrop(tree: ITree, data: IDragAndDropData, target: FileStat, originalEvent: DragMouseEvent): TPromise { - const sources: FileStat[] = data.getData(); + const sources: FileStat[] = distinctParents(data.getData(), s => s.resource); const isCopy = (originalEvent.ctrlKey && !isMacintosh) || (originalEvent.altKey && isMacintosh); let confirmPromise: TPromise; -- GitLab