Mark progress bars as cancellable where it appears we are respecting the token

This commit is contained in:
Robert
2024-03-26 17:03:57 +00:00
parent 5d45a114be
commit 6b0f7e86fa
4 changed files with 54 additions and 47 deletions

View File

@@ -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,
},
);
}

View File

@@ -203,6 +203,7 @@ function getCommands(
},
{
title: "Restarting Query Server",
cancellable: true,
},
);

View File

@@ -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(

View File

@@ -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 {