From ebeeea79980bb35d40b403d473a0f6b15fa2ec13 Mon Sep 17 00:00:00 2001 From: isidor Date: Fri, 20 Apr 2018 11:07:49 +0200 Subject: [PATCH] explorer: FileViewletState use an object map since ExplorerItem objects do not change and resources have a bad difference between rename and new child fixes #47474 --- .../files/electron-browser/views/explorerViewer.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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 7fc664f81c4..1a418a43fc5 100644 --- a/src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts +++ b/src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts @@ -24,7 +24,6 @@ import { IDisposable, dispose, empty as EmptyDisposable } from 'vs/base/common/l import { IFilesConfiguration, SortOrder } from 'vs/workbench/parts/files/common/files'; import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles'; import { FileOperationError, FileOperationResult, IFileService, FileKind } from 'vs/platform/files/common/files'; -import { ResourceMap } from 'vs/base/common/map'; import { DuplicateFileAction, AddFilesAction, IEditableData, IFileViewletState, FileCopiedContext } from 'vs/workbench/parts/files/electron-browser/fileActions'; import { IDataSource, ITree, IAccessibilityProvider, IRenderer, ContextMenuEvent, ISorter, IFilter, IDragAndDropData, IDragOverReaction, DRAG_OVER_ACCEPT_BUBBLE_DOWN, DRAG_OVER_ACCEPT_BUBBLE_DOWN_COPY, DRAG_OVER_ACCEPT_BUBBLE_UP, DRAG_OVER_ACCEPT_BUBBLE_UP_COPY, DRAG_OVER_REJECT } from 'vs/base/parts/tree/browser/tree'; import { DesktopDragAndDropData, ExternalElementsDragAndDropData } from 'vs/base/parts/tree/browser/treeDnd'; @@ -147,24 +146,24 @@ export class FileDataSource implements IDataSource { } export class FileViewletState implements IFileViewletState { - private editableStats: ResourceMap; + private editableStats: Map; constructor() { - this.editableStats = new ResourceMap(); + this.editableStats = new Map(); } public getEditableData(stat: ExplorerItem): IEditableData { - return this.editableStats.get(stat.resource); + return this.editableStats.get(stat); } public setEditable(stat: ExplorerItem, editableData: IEditableData): void { if (editableData) { - this.editableStats.set(stat.resource, editableData); + this.editableStats.set(stat, editableData); } } public clearEditable(stat: ExplorerItem): void { - this.editableStats.delete(stat.resource); + this.editableStats.delete(stat); } }