Mark progress bars as cancellable where it appears we are respecting the token
This commit is contained in:
@@ -673,6 +673,7 @@ export class DatabaseUI extends DisposableObject {
|
||||
},
|
||||
{
|
||||
title: "Clearing cache",
|
||||
cancellable: true,
|
||||
},
|
||||
);
|
||||
}
|
||||
@@ -692,6 +693,7 @@ export class DatabaseUI extends DisposableObject {
|
||||
},
|
||||
{
|
||||
title: "Trimming cache",
|
||||
cancellable: true,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -203,6 +203,7 @@ function getCommands(
|
||||
},
|
||||
{
|
||||
title: "Restarting Query Server",
|
||||
cancellable: true,
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -810,57 +810,60 @@ export class ModelEditorView extends AbstractWebview<
|
||||
}
|
||||
|
||||
private async modelDependency(): Promise<void> {
|
||||
return withProgress(async (progress, token) => {
|
||||
const addedDatabase =
|
||||
await this.promptChooseNewOrExistingDatabase(progress);
|
||||
if (!addedDatabase || token.isCancellationRequested) {
|
||||
return;
|
||||
}
|
||||
return withProgress(
|
||||
async (progress, token) => {
|
||||
const addedDatabase =
|
||||
await this.promptChooseNewOrExistingDatabase(progress);
|
||||
if (!addedDatabase || token.isCancellationRequested) {
|
||||
return;
|
||||
}
|
||||
|
||||
const addedDbUri = addedDatabase.databaseUri.toString();
|
||||
if (this.modelingStore.isDbOpen(addedDbUri)) {
|
||||
this.modelingEvents.fireFocusModelEditorEvent(addedDbUri);
|
||||
return;
|
||||
}
|
||||
const addedDbUri = addedDatabase.databaseUri.toString();
|
||||
if (this.modelingStore.isDbOpen(addedDbUri)) {
|
||||
this.modelingEvents.fireFocusModelEditorEvent(addedDbUri);
|
||||
return;
|
||||
}
|
||||
|
||||
const modelFile = await pickExtensionPack(
|
||||
this.cliServer,
|
||||
addedDatabase,
|
||||
this.modelConfig,
|
||||
this.app.logger,
|
||||
progress,
|
||||
token,
|
||||
3,
|
||||
);
|
||||
if (!modelFile) {
|
||||
return;
|
||||
}
|
||||
const modelFile = await pickExtensionPack(
|
||||
this.cliServer,
|
||||
addedDatabase,
|
||||
this.modelConfig,
|
||||
this.app.logger,
|
||||
progress,
|
||||
token,
|
||||
3,
|
||||
);
|
||||
if (!modelFile) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Check again just before opening the editor to ensure no model editor has been opened between
|
||||
// our first check and now.
|
||||
if (this.modelingStore.isDbOpen(addedDbUri)) {
|
||||
this.modelingEvents.fireFocusModelEditorEvent(addedDbUri);
|
||||
return;
|
||||
}
|
||||
// Check again just before opening the editor to ensure no model editor has been opened between
|
||||
// our first check and now.
|
||||
if (this.modelingStore.isDbOpen(addedDbUri)) {
|
||||
this.modelingEvents.fireFocusModelEditorEvent(addedDbUri);
|
||||
return;
|
||||
}
|
||||
|
||||
const view = new ModelEditorView(
|
||||
this.app,
|
||||
this.modelingStore,
|
||||
this.modelingEvents,
|
||||
this.modelConfig,
|
||||
this.databaseManager,
|
||||
this.variantAnalysisManager,
|
||||
this.cliServer,
|
||||
this.queryRunner,
|
||||
this.queryStorageDir,
|
||||
this.queryDir,
|
||||
addedDatabase,
|
||||
modelFile,
|
||||
this.language,
|
||||
Mode.Framework,
|
||||
);
|
||||
await view.openView();
|
||||
});
|
||||
const view = new ModelEditorView(
|
||||
this.app,
|
||||
this.modelingStore,
|
||||
this.modelingEvents,
|
||||
this.modelConfig,
|
||||
this.databaseManager,
|
||||
this.variantAnalysisManager,
|
||||
this.cliServer,
|
||||
this.queryRunner,
|
||||
this.queryStorageDir,
|
||||
this.queryDir,
|
||||
addedDatabase,
|
||||
modelFile,
|
||||
this.language,
|
||||
Mode.Framework,
|
||||
);
|
||||
await view.openView();
|
||||
},
|
||||
{ cancellable: true },
|
||||
);
|
||||
}
|
||||
|
||||
private async promptChooseNewOrExistingDatabase(
|
||||
|
||||
@@ -125,6 +125,7 @@ export class QueryServerClient extends DisposableObject {
|
||||
this.restartQueryServerInternal(progress, token),
|
||||
{
|
||||
title: "Restarting CodeQL query server due to unexpected termination",
|
||||
cancellable: true,
|
||||
},
|
||||
);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user