CompilationDataBase: Hide plugin class definition in .cpp

Change-Id: Ib6c5f1a10479f8c27cc448c38fb5e3546f1e2239
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2024-01-12 13:15:55 +01:00
parent b2bed13655
commit 39fc082472
4 changed files with 53 additions and 61 deletions

View File

@@ -3,15 +3,20 @@ add_qtc_plugin(CompilationDatabaseProjectManager
PLUGIN_DEPENDS Core CppEditor ProjectExplorer TextEditor
SOURCES
compilationdatabaseconstants.h
compilationdatabaseproject.cpp compilationdatabaseproject.h
compilationdatabaseprojectmanagerplugin.cpp compilationdatabaseprojectmanagerplugin.h
compilationdatabaseproject.cpp
compilationdatabaseproject.h
compilationdatabaseprojectmanagerplugin.cpp
compilationdatabaseprojectmanagertr.h
compilationdatabaseutils.cpp compilationdatabaseutils.h
compilationdbparser.cpp compilationdbparser.h
compilationdatabaseutils.cpp
compilationdatabaseutils.h
compilationdbparser.cpp
compilationdbparser.h
)
extend_qtc_plugin(CompilationDatabaseProjectManager
CONDITION WITH_TESTS
SOURCES
compilationdatabasetests.cpp compilationdatabasetests.h compilationdatabasetests.qrc
compilationdatabasetests.cpp
compilationdatabasetests.h
compilationdatabasetests.qrc
)

View File

@@ -16,7 +16,6 @@ QtcPlugin {
"compilationdatabaseutils.cpp",
"compilationdatabaseutils.h",
"compilationdatabaseprojectmanagerplugin.cpp",
"compilationdatabaseprojectmanagerplugin.h",
"compilationdbparser.cpp",
"compilationdbparser.h",
]

View File

@@ -1,8 +1,6 @@
// Copyright (C) 2018 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#include "compilationdatabaseprojectmanagerplugin.h"
#include "compilationdatabaseconstants.h"
#include "compilationdatabaseproject.h"
#include "compilationdatabaseprojectmanagertr.h"
@@ -12,6 +10,8 @@
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/command.h>
#include <extensionsystem/iplugin.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/projectmanager.h>
#include <projectexplorer/projecttree.h>
@@ -37,13 +37,18 @@ public:
QAction changeRootAction{Tr::tr("Change Root Directory")};
};
CompilationDatabaseProjectManagerPlugin::~CompilationDatabaseProjectManagerPlugin()
class CompilationDatabaseProjectManagerPlugin final : public ExtensionSystem::IPlugin
{
delete d;
}
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "CompilationDatabaseProjectManager.json")
void CompilationDatabaseProjectManagerPlugin::initialize()
{
~CompilationDatabaseProjectManagerPlugin()
{
delete d;
}
void initialize() final
{
d = new CompilationDatabaseProjectManagerPluginPrivate;
Utils::FileIconProvider::registerIconOverlayForFilename(Utils::Icons::PROJECT.imageFilePath().toString(),
@@ -81,6 +86,11 @@ void CompilationDatabaseProjectManagerPlugin::initialize()
#ifdef WITH_TESTS
addTest<CompilationDatabaseTests>();
#endif
}
}
class CompilationDatabaseProjectManagerPluginPrivate *d = nullptr;
};
} // CompilationDatabaseProjectManager::Internal
#include "compilationdatabaseprojectmanagerplugin.moc"

View File

@@ -1,22 +0,0 @@
// Copyright (C) 2018 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include <extensionsystem/iplugin.h>
namespace CompilationDatabaseProjectManager::Internal {
class CompilationDatabaseProjectManagerPlugin final : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "CompilationDatabaseProjectManager.json")
~CompilationDatabaseProjectManagerPlugin();
void initialize() final;
class CompilationDatabaseProjectManagerPluginPrivate *d = nullptr;
};
} // CompilationDatabaseProjectManager::Internal