diff --git a/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts b/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts index 6df5b423140..60038174b0a 100644 --- a/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts +++ b/extensions/ql-vscode/src/model-editor/method-modeling/method-modeling-view-provider.ts @@ -208,11 +208,16 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider< ); this.push( - this.modelingEvents.onDbOpened(async () => { + this.modelingEvents.onDbOpened(async (databaseItem) => { + this.databaseItem = databaseItem; + await this.postMessage({ t: "setInModelingMode", inModelingMode: true, }); + + this.language = tryGetQueryLanguage(databaseItem.language); + await this.setViewState(); }), ); diff --git a/extensions/ql-vscode/src/model-editor/modeling-events.ts b/extensions/ql-vscode/src/model-editor/modeling-events.ts index 86691692ef1..795a8d9d27f 100644 --- a/extensions/ql-vscode/src/model-editor/modeling-events.ts +++ b/extensions/ql-vscode/src/model-editor/modeling-events.ts @@ -50,7 +50,7 @@ interface InProgressMethodsChangedEvent { export class ModelingEvents extends DisposableObject { public readonly onActiveDbChanged: AppEvent; - public readonly onDbOpened: AppEvent; + public readonly onDbOpened: AppEvent; public readonly onDbClosed: AppEvent; public readonly onMethodsChanged: AppEvent; public readonly onHideModeledMethodsChanged: AppEvent; @@ -61,7 +61,7 @@ export class ModelingEvents extends DisposableObject { public readonly onInProgressMethodsChanged: AppEvent; private readonly onActiveDbChangedEventEmitter: AppEventEmitter; - private readonly onDbOpenedEventEmitter: AppEventEmitter; + private readonly onDbOpenedEventEmitter: AppEventEmitter; private readonly onDbClosedEventEmitter: AppEventEmitter; private readonly onMethodsChangedEventEmitter: AppEventEmitter; private readonly onHideModeledMethodsChangedEventEmitter: AppEventEmitter; @@ -79,7 +79,9 @@ export class ModelingEvents extends DisposableObject { ); this.onActiveDbChanged = this.onActiveDbChangedEventEmitter.event; - this.onDbOpenedEventEmitter = this.push(app.createEventEmitter()); + this.onDbOpenedEventEmitter = this.push( + app.createEventEmitter(), + ); this.onDbOpened = this.onDbOpenedEventEmitter.event; this.onDbClosedEventEmitter = this.push(app.createEventEmitter()); @@ -130,8 +132,8 @@ export class ModelingEvents extends DisposableObject { this.onActiveDbChangedEventEmitter.fire(); } - public fireDbOpenedEvent(dbUri: string) { - this.onDbOpenedEventEmitter.fire(dbUri); + public fireDbOpenedEvent(databaseItem: DatabaseItem) { + this.onDbOpenedEventEmitter.fire(databaseItem); } public fireDbClosedEvent(dbUri: string) { diff --git a/extensions/ql-vscode/src/model-editor/modeling-store.ts b/extensions/ql-vscode/src/model-editor/modeling-store.ts index 0b3bfdf93f6..537dd9b7214 100644 --- a/extensions/ql-vscode/src/model-editor/modeling-store.ts +++ b/extensions/ql-vscode/src/model-editor/modeling-store.ts @@ -64,7 +64,7 @@ export class ModelingStore extends DisposableObject { inProgressMethods: new Set(), }); - this.modelingEvents.fireDbOpenedEvent(dbUri); + this.modelingEvents.fireDbOpenedEvent(databaseItem); } public setActiveDb(databaseItem: DatabaseItem) {