QmlProjectManager: Hide plugin class in .cpp

Change-Id: If9ed1c00c53f127ba328f5011772431b5e5b25f9
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2024-01-16 12:56:24 +01:00
parent 0d14a4e010
commit 2f987932c1
2 changed files with 39 additions and 39 deletions

View File

@@ -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"