mirror of
https://github.com/Microsoft/vscode
synced 2024-10-06 11:26:07 +00:00
disalbe newFile and newFolder action when there is input box in explorer
This commit is contained in:
parent
63b5fcd2a6
commit
7920c1c38f
|
@ -107,6 +107,8 @@ export class NewFileAction extends BaseErrorReportingAction {
|
|||
static readonly ID = 'workbench.files.action.createFileFromExplorer';
|
||||
static readonly LABEL = nls.localize('createNewFile', "New File");
|
||||
|
||||
private toDispose: IDisposable[] = [];
|
||||
|
||||
constructor(
|
||||
private getElement: () => ExplorerItem,
|
||||
@INotificationService notificationService: INotificationService,
|
||||
|
@ -116,6 +118,10 @@ export class NewFileAction extends BaseErrorReportingAction {
|
|||
) {
|
||||
super('explorer.newFile', NEW_FILE_LABEL, notificationService);
|
||||
this.class = 'explorer-action new-file';
|
||||
this.toDispose.push(this.explorerService.onDidChangeEditable(e => {
|
||||
const elementIsBeingEdited = this.explorerService.isEditable(e);
|
||||
this.enabled = !elementIsBeingEdited;
|
||||
}));
|
||||
}
|
||||
|
||||
run(): Promise<any> {
|
||||
|
@ -158,6 +164,11 @@ export class NewFileAction extends BaseErrorReportingAction {
|
|||
});
|
||||
});
|
||||
}
|
||||
|
||||
dispose(): void {
|
||||
super.dispose();
|
||||
dispose(this.toDispose);
|
||||
}
|
||||
}
|
||||
|
||||
/* New Folder */
|
||||
|
@ -165,6 +176,8 @@ export class NewFolderAction extends BaseErrorReportingAction {
|
|||
static readonly ID = 'workbench.files.action.createFolderFromExplorer';
|
||||
static readonly LABEL = nls.localize('createNewFolder', "New Folder");
|
||||
|
||||
private toDispose: IDisposable[] = [];
|
||||
|
||||
constructor(
|
||||
private getElement: () => ExplorerItem,
|
||||
@INotificationService notificationService: INotificationService,
|
||||
|
@ -173,6 +186,10 @@ export class NewFolderAction extends BaseErrorReportingAction {
|
|||
) {
|
||||
super('explorer.newFolder', NEW_FOLDER_LABEL, notificationService);
|
||||
this.class = 'explorer-action new-folder';
|
||||
this.toDispose.push(this.explorerService.onDidChangeEditable(e => {
|
||||
const elementIsBeingEdited = this.explorerService.isEditable(e);
|
||||
this.enabled = !elementIsBeingEdited;
|
||||
}));
|
||||
}
|
||||
|
||||
run(): Promise<any> {
|
||||
|
@ -215,6 +232,11 @@ export class NewFolderAction extends BaseErrorReportingAction {
|
|||
});
|
||||
});
|
||||
}
|
||||
|
||||
dispose(): void {
|
||||
super.dispose();
|
||||
dispose(this.toDispose);
|
||||
}
|
||||
}
|
||||
|
||||
/* Create new file from anywhere: Open untitled */
|
||||
|
|
Loading…
Reference in a new issue