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); }