diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp index bbf0a5b5032..abb366bd73d 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp @@ -1,8 +1,9 @@ // 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 "qdslandingpage.h" #include "qmlprojectplugin.h" + +#include "qdslandingpage.h" #include "qmlproject.h" #include "qmlprojectconstants.h" #include "qmlprojectmanagertr.h" @@ -20,6 +21,8 @@ #include #include +#include + #include #include #include @@ -99,19 +102,6 @@ public: QdsLandingPageWidget *landingPageWidget = nullptr; }; -QmlProjectPlugin::~QmlProjectPlugin() -{ - QTC_ASSERT(d, return); - - if (d->lastMessageBox) - d->lastMessageBox->deleteLater(); - if (d->landingPage) - d->landingPage->deleteLater(); - if (d->landingPageWidget) - d->landingPageWidget->deleteLater(); - delete d; -} - void openQDS(const FilePath &fileName) { const FilePath qdsPath = qdsInstallationEntry(); @@ -236,6 +226,37 @@ static QmlBuildSystem *qmlBuildSystemforFileNode(const FileNode *fileNode) return nullptr; } +class QmlProjectPlugin final : public ExtensionSystem::IPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "QmlProjectManager.json") + +public: + ~QmlProjectPlugin() + { + if (d->lastMessageBox) + d->lastMessageBox->deleteLater(); + if (d->landingPage) + d->landingPage->deleteLater(); + if (d->landingPageWidget) + d->landingPageWidget->deleteLater(); + delete d; + } + +public slots: + void editorModeChanged(Utils::Id newMode, Utils::Id oldMode); + void openQtc(bool permanent = false); + void openQds(bool permanent = false); + +private: + void initialize() final; + void displayQmlLandingPage(); + void hideQmlLandingPage(); + void updateQmlLandingPageProjectInfo(const Utils::FilePath &projectFile); + + class QmlProjectPluginPrivate *d = nullptr; +}; + void QmlProjectPlugin::initialize() { d = new QmlProjectPluginPrivate; @@ -451,3 +472,5 @@ FilePath projectFilePath() } } // QmlProjectManager::Internal + +#include "qmlprojectplugin.moc" diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.h b/src/plugins/qmlprojectmanager/qmlprojectplugin.h index 7cb4f4ce508..d7171eaab70 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.h +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.h @@ -3,10 +3,10 @@ #pragma once -#include -#include #include +namespace Core { class IEditor; } + namespace QmlProjectManager::Internal { void openQDS(const Utils::FilePath &fileName); @@ -20,27 +20,4 @@ QString qdsVersion(const Utils::FilePath &projectFilePath); void openInQDSWithProject(const Utils::FilePath &filePath); const QString readFileContents(const Utils::FilePath &filePath); -class QmlProjectPlugin final : public ExtensionSystem::IPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "QmlProjectManager.json") - -public: - QmlProjectPlugin() = default; - ~QmlProjectPlugin() final; - -public slots: - void editorModeChanged(Utils::Id newMode, Utils::Id oldMode); - void openQtc(bool permanent = false); - void openQds(bool permanent = false); - -private: - void initialize() final; - void displayQmlLandingPage(); - void hideQmlLandingPage(); - void updateQmlLandingPageProjectInfo(const Utils::FilePath &projectFile); - - class QmlProjectPluginPrivate *d = nullptr; -}; - } // QmlProject::Internal