提交 bdd04b1e 编写于 作者: I isidor

fixes #73633

上级 ec4b62e9
......@@ -369,11 +369,21 @@ export class ExplorerView extends ViewletPanel {
}
}
private setContextKeys(stat: ExplorerItem | null): void {
const isSingleFolder = this.contextService.getWorkbenchState() === WorkbenchState.FOLDER;
const resource = stat ? stat.resource : isSingleFolder ? this.contextService.getWorkspace().folders[0].uri : null;
this.resourceContext.set(resource);
this.folderContext.set((isSingleFolder && !stat) || !!stat && stat.isDirectory);
this.readonlyContext.set(!!stat && stat.isReadonly);
this.rootContext.set(!stat || (stat && stat.isRoot));
}
private onContextMenu(e: ITreeContextMenuEvent<ExplorerItem>): void {
const stat = e.element;
// update dynamic contexts
this.fileCopiedContextKey.set(this.clipboardService.hasResources());
this.setContextKeys(stat);
const selection = this.tree.getSelection();
this.contextMenuService.showContextMenu({
......@@ -398,13 +408,8 @@ export class ExplorerView extends ViewletPanel {
}
private onFocusChanged(elements: ExplorerItem[]): void {
const stat = elements && elements.length ? elements[0] : undefined;
const isSingleFolder = this.contextService.getWorkbenchState() === WorkbenchState.FOLDER;
const resource = stat ? stat.resource : isSingleFolder ? this.contextService.getWorkspace().folders[0].uri : null;
this.resourceContext.set(resource);
this.folderContext.set((isSingleFolder && !stat) || !!stat && stat.isDirectory);
this.readonlyContext.set(!!stat && stat.isReadonly);
this.rootContext.set(!stat || (stat && stat.isRoot));
const stat = elements && elements.length ? elements[0] : null;
this.setContextKeys(stat);
if (stat) {
const enableTrash = this.configurationService.getValue<IFilesConfiguration>().files.enableTrash;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册