diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanagerconstants.h b/src/plugins/qmlprojectmanager/qmlprojectmanagerconstants.h index 683005c85d9..cd8af872885 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectmanagerconstants.h +++ b/src/plugins/qmlprojectmanager/qmlprojectmanagerconstants.h @@ -9,6 +9,7 @@ namespace QmlProjectManager { namespace Constants { const char QML_PROJECT_ID[] = "QmlProjectManager.QmlProject"; +const char QML_RUNCONFIG_ID[] = "QmlProjectManager.QmlRunConfiguration.Qml"; const char QML_VIEWER_KEY[] = "QmlProjectManager.QmlRunConfiguration.QDeclarativeViewer"; const char QML_VIEWER_ARGUMENTS_KEY[] = "QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"; const char QML_VIEWER_TARGET_DISPLAY_NAME[] = "QML Viewer"; diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp index 956079820ae..021c0e2a730 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp @@ -6,6 +6,7 @@ #include "qdslandingpage.h" #include "qmlproject.h" #include "qmlprojectconstants.h" +#include "qmlprojectmanagerconstants.h" #include "qmlprojectmanagertr.h" #include "qmlprojectrunconfiguration.h" #include "projectfilecontenttools.h" @@ -102,9 +103,6 @@ class QmlProjectPluginPrivate { public: QmlProjectRunConfigurationFactory runConfigFactory; - SimpleTargetRunnerFactory runWorkerFactory{{runConfigFactory.runConfigurationId()}}; - SimpleDebugRunnerFactory debugRunWorkerFactory{{runConfigFactory.runConfigurationId()}}; - SimpleQmlProfilerRunnerFactory qmlProfilerRunWorkerFactory{{runConfigFactory.runConfigurationId()}}; QPointer lastMessageBox; QdsLandingPage *landingPage = nullptr; QdsLandingPageWidget *landingPageWidget = nullptr; @@ -258,6 +256,15 @@ public slots: private: void initialize() final; + + void extensionsInitialized() final + { + // These rely on the base tool factories being present: + static SimpleTargetRunnerFactory runWorkerFactory{{Constants::QML_RUNCONFIG_ID}}; + static SimpleQmlProfilerRunnerFactory qmlProfilerRunWorkerFactory{{Constants::QML_RUNCONFIG_ID}}; + static SimpleDebugRunnerFactory debugRunWorkerFactory{{Constants::QML_RUNCONFIG_ID}}; + } + void displayQmlLandingPage(); void hideQmlLandingPage(); void updateQmlLandingPageProjectInfo(const Utils::FilePath &projectFile); diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 591f3896c5e..228f3c2004c 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -321,9 +321,8 @@ FilePath QmlProjectRunConfiguration::mainScript() const QmlProjectRunConfigurationFactory::QmlProjectRunConfigurationFactory() : FixedRunConfigurationFactory(Tr::tr("QML Runtime"), false) { - registerRunConfiguration - ("QmlProjectManager.QmlRunConfiguration.Qml"); - addSupportedProjectType(QmlProjectManager::Constants::QML_PROJECT_ID); + registerRunConfiguration(Constants::QML_RUNCONFIG_ID); + addSupportedProjectType(Constants::QML_PROJECT_ID); } } // QmlProjectManager::Internal