aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOrkun Tokdemir <orkun.tokdemir@qt.io>2024-12-05 11:37:12 +0100
committerOrkun Tokdemir <orkun.tokdemir@qt.io>2024-12-09 13:17:51 +0000
commit1249ef41807b826884e4059f4c4706a1980fbe2a (patch)
tree6dfa0ed6dd047f2566dfc97abc8ab9fd73274e07
parent7beaa63036cb710e6eac831b8d2d007768e92cd0 (diff)
qt-qml: qt-ui: Wait until qt-cpp is activated
During the startup,`qt-qml` and `qt-ui` should wait until `qt-cpp`` sets the initial configuration values. Otherwise, qt-qml qt-ui may not be able to access the correct configuration values. Change-Id: I974a0e5e7e9cb541ea4a382ac85c303b6b59646f Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
-rw-r--r--qt-lib/src/util.ts7
-rw-r--r--qt-qml/src/extension.ts10
-rw-r--r--qt-ui/src/extension.ts9
3 files changed, 23 insertions, 3 deletions
diff --git a/qt-lib/src/util.ts b/qt-lib/src/util.ts
index 5ce2c05..4f07479 100644
--- a/qt-lib/src/util.ts
+++ b/qt-lib/src/util.ts
@@ -218,3 +218,10 @@ export async function fetchWithAbort(
throw error;
});
}
+
+export async function waitForQtCpp() {
+ const qtcpp = vscode.extensions.getExtension('theqtcompany.qt-cpp');
+ if (qtcpp) {
+ return qtcpp.activate();
+ }
+}
diff --git a/qt-qml/src/extension.ts b/qt-qml/src/extension.ts
index 29177e8..c0ef95a 100644
--- a/qt-qml/src/extension.ts
+++ b/qt-qml/src/extension.ts
@@ -9,9 +9,9 @@ import {
createLogger,
initLogger,
telemetry,
- QtWorkspaceConfigMessage
+ QtWorkspaceConfigMessage,
+ waitForQtCpp
} from 'qt-lib';
-
import { registerColorProvider } from '@/color-provider';
import { registerRestartQmllsCommand } from '@cmd/restart-qmlls';
import { registerDownloadQmllsCommand } from '@cmd/download-qmlls';
@@ -37,6 +37,8 @@ export async function activate(context: vscode.ExtensionContext) {
throw new Error(err);
}
+ await waitForDependencies();
+
if (vscode.workspace.workspaceFolders !== undefined) {
for (const folder of vscode.workspace.workspaceFolders) {
const project = await createQMLProject(folder, context);
@@ -120,3 +122,7 @@ function processMessage(message: QtWorkspaceConfigMessage) {
void vscode.window.showErrorMessage(`Error: "${err.message}"`);
}
}
+
+async function waitForDependencies() {
+ return waitForQtCpp();
+}
diff --git a/qt-ui/src/extension.ts b/qt-ui/src/extension.ts
index 265961a..e130199 100644
--- a/qt-ui/src/extension.ts
+++ b/qt-ui/src/extension.ts
@@ -11,7 +11,8 @@ import {
ProjectManager,
createLogger,
initLogger,
- telemetry
+ telemetry,
+ waitForQtCpp
} from 'qt-lib';
import { UIEditorProvider } from '@/editors/ui/ui-editor';
import { createUIProject, UIProject } from '@/project';
@@ -36,6 +37,8 @@ export async function activate(context: vscode.ExtensionContext) {
throw new Error(err);
}
+ await waitForDependencies();
+
projectManager = new ProjectManager<UIProject>(context, createUIProject);
projectManager.onProjectAdded(async (project) => {
logger.info('Project added:', project.folder.uri.fsPath);
@@ -130,3 +133,7 @@ function processMessage(message: QtWorkspaceConfigMessage) {
}
}
}
+
+async function waitForDependencies() {
+ return waitForQtCpp();
+}