Skip to content

Commit a657df4

Browse files
committed
Move context manipulation into store and fix initial state.
1 parent c7e5922 commit a657df4

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

extensions/ql-vscode/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1870,11 +1870,11 @@
18701870
"codeQLDatabases.languages": [
18711871
{
18721872
"command": "codeQLDatabases.displayAllLanguages",
1873-
"when": "codeQLDatabases.languageFilter != All"
1873+
"when": "codeQLDatabases.languageFilter"
18741874
},
18751875
{
18761876
"command": "codeQLDatabases.displayAllLanguagesSelected",
1877-
"when": "codeQLDatabases.languageFilter == All"
1877+
"when": "!codeQLDatabases.languageFilter"
18781878
},
18791879
{
18801880
"command": "codeQLDatabases.displayCpp",

extensions/ql-vscode/src/databases/local-databases-ui.ts

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -607,21 +607,11 @@ export class DatabaseUI extends DisposableObject {
607607
}
608608

609609
private async handleClearLanguageFilter() {
610-
this.languageContext.clearLanguageContext();
611-
await this.app.commands.execute(
612-
"setContext",
613-
"codeQLDatabases.languageFilter",
614-
"All",
615-
);
610+
await this.languageContext.clearLanguageContext();
616611
}
617612

618613
private async handleChangeLanguageFilter(languageFilter: QueryLanguage) {
619-
this.languageContext.setLanguageContext(languageFilter);
620-
await this.app.commands.execute(
621-
"setContext",
622-
"codeQLDatabases.languageFilter",
623-
languageFilter,
624-
);
614+
await this.languageContext.setLanguageContext(languageFilter);
625615
}
626616

627617
private async handleUpgradeCurrentDatabase(): Promise<void> {

extensions/ql-vscode/src/language-context-store.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export class LanguageContextStore extends DisposableObject {
1111

1212
private state: LanguageFilter;
1313

14-
constructor(app: App) {
14+
constructor(private readonly app: App) {
1515
super();
1616
// State initialization
1717
this.state = "All";
@@ -23,14 +23,24 @@ export class LanguageContextStore extends DisposableObject {
2323
this.onLanguageContextChanged = this.onLanguageContextChangedEmitter.event;
2424
}
2525

26-
public clearLanguageContext() {
26+
public async clearLanguageContext() {
2727
this.state = "All";
2828
this.onLanguageContextChangedEmitter.fire();
29+
await this.app.commands.execute(
30+
"setContext",
31+
"codeQLDatabases.languageFilter",
32+
"",
33+
);
2934
}
3035

31-
public setLanguageContext(language: QueryLanguage) {
36+
public async setLanguageContext(language: QueryLanguage) {
3237
this.state = language;
3338
this.onLanguageContextChangedEmitter.fire();
39+
await this.app.commands.execute(
40+
"setContext",
41+
"codeQLDatabases.languageFilter",
42+
language,
43+
);
3444
}
3545

3646
// This method takes a string to allow it to be used in cases

0 commit comments

Comments
 (0)