diff options
author | hjk <[email protected]> | 2024-01-16 12:56:24 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2024-01-16 13:44:46 +0000 |
commit | 2f987932c137914cd3601e82052e77d37a84b206 (patch) | |
tree | 6e35a5cd5443f1f4966791e877c8e3307f1586c7 /src/plugins/qmlprojectmanager/qmlprojectplugin.cpp | |
parent | 0d14a4e010849acf51f7b7734ea6f77421857e4b (diff) |
QmlProjectManager: Hide plugin class in .cpp
Change-Id: If9ed1c00c53f127ba328f5011772431b5e5b25f9
Reviewed-by: Jarek Kobus <[email protected]>
Diffstat (limited to 'src/plugins/qmlprojectmanager/qmlprojectplugin.cpp')
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlprojectplugin.cpp | 51 |
1 files changed, 37 insertions, 14 deletions
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 <coreplugin/messagebox.h> #include <coreplugin/modemanager.h> +#include <extensionsystem/iplugin.h> + #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectmanager.h> #include <projectexplorer/projectnodes.h> @@ -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" |