From 34087df11e93a3624e64e4a8079f1b9af20e3d58 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 25 Jan 2024 16:44:34 +0100 Subject: [PATCH] CppEditor: Move plugin class definition to .cpp Also remove the globale instance variable which is not used anymore. Change-Id: Ia054f79570b2fb650db31bd8560a08b0c9fe4c8c Reviewed-by: Reviewed-by: Christian Kandeler --- src/plugins/cppeditor/cppeditorplugin.cpp | 45 ++++++++++++------- src/plugins/cppeditor/cppeditorplugin.h | 34 +------------- src/plugins/cppeditor/cppfilesettingspage.cpp | 4 +- .../cppeditor/cppheadersource_test.cpp | 4 +- 4 files changed, 35 insertions(+), 52 deletions(-) diff --git a/src/plugins/cppeditor/cppeditorplugin.cpp b/src/plugins/cppeditor/cppeditorplugin.cpp index 7852855763e..24d821aac20 100644 --- a/src/plugins/cppeditor/cppeditorplugin.cpp +++ b/src/plugins/cppeditor/cppeditorplugin.cpp @@ -67,6 +67,8 @@ #include #include +#include + #include #include #include @@ -181,26 +183,35 @@ public: CppProjectUpdaterFactory m_cppProjectUpdaterFactory; }; -static CppEditorPlugin *m_instance = nullptr; static QHash m_headerSourceMapping; -CppEditorPlugin::CppEditorPlugin() +class CppEditorPlugin final : public ExtensionSystem::IPlugin { - m_instance = this; -} + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "CppEditor.json") -CppEditorPlugin::~CppEditorPlugin() -{ - destroyCppQuickFixes(); - delete d; - d = nullptr; - m_instance = nullptr; -} +public: + ~CppEditorPlugin() final + { + destroyCppQuickFixes(); + delete d; + d = nullptr; + } -CppEditorPlugin *CppEditorPlugin::instance() -{ - return m_instance; -} +private: + void initialize() final; + void extensionsInitialized() final; + + void setupMenus(); + void addPerSymbolActions(); + void addActionsForSelections(); + void addPerFileActions(); + void addGlobalActions(); + void registerVariables(); + void registerTests(); + + CppEditorPluginPrivate *d = nullptr; +}; void CppEditorPlugin::initialize() { @@ -540,7 +551,7 @@ void CppEditorPluginPrivate::inspectCppCodeModel() } } -void CppEditorPlugin::clearHeaderSourceCache() +void clearHeaderSourceCache() { m_headerSourceMapping.clear(); } @@ -774,3 +785,5 @@ FilePath correspondingHeaderOrSource(const FilePath &filePath, bool *wasHeader, } } // namespace CppEditor + +#include "cppeditorplugin.moc" diff --git a/src/plugins/cppeditor/cppeditorplugin.h b/src/plugins/cppeditor/cppeditorplugin.h index 4e12c3a322a..8dde52b15ea 100644 --- a/src/plugins/cppeditor/cppeditorplugin.h +++ b/src/plugins/cppeditor/cppeditorplugin.h @@ -3,38 +3,8 @@ #pragma once -#include - namespace CppEditor::Internal { -class CppEditorPluginPrivate; +void clearHeaderSourceCache(); -class CppEditorPlugin : public ExtensionSystem::IPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "CppEditor.json") - -public: - CppEditorPlugin(); - ~CppEditorPlugin() override; - - static CppEditorPlugin *instance(); - - static void clearHeaderSourceCache(); - -private: - void initialize() override; - void extensionsInitialized() override; - - void setupMenus(); - void addPerSymbolActions(); - void addActionsForSelections(); - void addPerFileActions(); - void addGlobalActions(); - void registerVariables(); - void registerTests(); - - CppEditorPluginPrivate *d = nullptr; -}; - -} // namespace CppEditor::Internal +} // CppEditor::Internal diff --git a/src/plugins/cppeditor/cppfilesettingspage.cpp b/src/plugins/cppeditor/cppfilesettingspage.cpp index 9a6ab7aec8b..d11a8114988 100644 --- a/src/plugins/cppeditor/cppfilesettingspage.cpp +++ b/src/plugins/cppeditor/cppfilesettingspage.cpp @@ -396,7 +396,7 @@ void CppFileSettingsWidget::apply() *m_settings = rc; m_settings->toSettings(Core::ICore::settings()); m_settings->applySuffixesToMimeDB(); - CppEditorPlugin::clearHeaderSourceCache(); + clearHeaderSourceCache(); } static inline void setComboText(QComboBox *cb, const QString &text, int defaultIndex = 0) @@ -600,7 +600,7 @@ public: if (m_settings.useGlobalSettings() != m_wasGlobal || s.headerSearchPaths != m_initialSettings.headerSearchPaths || s.sourceSearchPaths != m_initialSettings.sourceSearchPaths) { - CppEditorPlugin::clearHeaderSourceCache(); + clearHeaderSourceCache(); } } diff --git a/src/plugins/cppeditor/cppheadersource_test.cpp b/src/plugins/cppeditor/cppheadersource_test.cpp index 7a195f60890..2b6621c74f0 100644 --- a/src/plugins/cppeditor/cppheadersource_test.cpp +++ b/src/plugins/cppeditor/cppheadersource_test.cpp @@ -49,10 +49,10 @@ void HeaderSourceTest::test() createTempFile(headerPath); bool wasHeader; - CppEditorPlugin::clearHeaderSourceCache(); + clearHeaderSourceCache(); QCOMPARE(correspondingHeaderOrSource(sourcePath, &wasHeader), headerPath); QVERIFY(!wasHeader); - CppEditorPlugin::clearHeaderSourceCache(); + clearHeaderSourceCache(); QCOMPARE(correspondingHeaderOrSource(headerPath, &wasHeader), sourcePath); QVERIFY(wasHeader); }