mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-26 10:16:01 +01:00
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
This commit is contained in:
@@ -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<IEditableData>;
|
||||
private editableStats: Map<ExplorerItem, IEditableData>;
|
||||
|
||||
constructor() {
|
||||
this.editableStats = new ResourceMap<IEditableData>();
|
||||
this.editableStats = new Map<ExplorerItem, IEditableData>();
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user