diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp index 021c0e2a730..d2f4a7e6045 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp @@ -102,7 +102,6 @@ static void clearAlwaysOpenWithMode() class QmlProjectPluginPrivate { public: - QmlProjectRunConfigurationFactory runConfigFactory; QPointer lastMessageBox; QdsLandingPage *landingPage = nullptr; QdsLandingPageWidget *landingPageWidget = nullptr; @@ -274,6 +273,8 @@ private: void QmlProjectPlugin::initialize() { + setupQmlProjectRunConfiguration(); + d = new QmlProjectPluginPrivate; if (!qmlDesignerEnabled()) { diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 228f3c2004c..bbf8c76a2ee 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -1,10 +1,10 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +#include "qmlbuildsystem.h" #include "qmlprojectrunconfiguration.h" #include "qmlmainfileaspect.h" #include "qmlmultilanguageaspect.h" -#include "qmlproject.h" #include "qmlprojectmanagerconstants.h" #include "qmlprojectmanagertr.h" @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -20,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -318,11 +320,20 @@ FilePath QmlProjectRunConfiguration::mainScript() const // QmlProjectRunConfigurationFactory -QmlProjectRunConfigurationFactory::QmlProjectRunConfigurationFactory() - : FixedRunConfigurationFactory(Tr::tr("QML Runtime"), false) +class QmlProjectRunConfigurationFactory final : public FixedRunConfigurationFactory { - registerRunConfiguration(Constants::QML_RUNCONFIG_ID); - addSupportedProjectType(Constants::QML_PROJECT_ID); +public: + QmlProjectRunConfigurationFactory() + : FixedRunConfigurationFactory(Tr::tr("QML Runtime"), false) + { + registerRunConfiguration(Constants::QML_RUNCONFIG_ID); + addSupportedProjectType(Constants::QML_PROJECT_ID); + } +}; + +void setupQmlProjectRunConfiguration() +{ + static QmlProjectRunConfigurationFactory theQmlProjectRunConfigurationFactory; } } // QmlProjectManager::Internal diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h index 529c96d5fde..dfd2b3952ed 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h @@ -3,16 +3,8 @@ #pragma once -#include +namespace QmlProjectManager::Internal { -namespace QmlProjectManager { -namespace Internal { +void setupQmlProjectRunConfiguration(); -class QmlProjectRunConfigurationFactory final : public ProjectExplorer::FixedRunConfigurationFactory -{ -public: - QmlProjectRunConfigurationFactory(); -}; - -} // namespace Internal -} // namespace QmlProjectManager +} // QmlProjectManager::Internal