From fd900f9e06b076e46c10830c8028d881e1680c6e Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 13 Jan 2025 13:39:11 +0100 Subject: [PATCH] ClassView: Use recent setup pattern Change-Id: I5bb27e64a1662120d799db9c5ea68179cc93ebed Reviewed-by: Jarek Kobus --- src/plugins/classview/classviewmanager.cpp | 11 ++++++----- src/plugins/classview/classviewmanager.h | 4 ++-- src/plugins/classview/classviewplugin.cpp | 2 +- src/plugins/languageclient/languageclientplugin.cpp | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/plugins/classview/classviewmanager.cpp b/src/plugins/classview/classviewmanager.cpp index f5c04a4a5f1..db5d7c7d40d 100644 --- a/src/plugins/classview/classviewmanager.cpp +++ b/src/plugins/classview/classviewmanager.cpp @@ -15,6 +15,8 @@ #include +#include + #include #include @@ -137,9 +139,8 @@ ParserTreeItem::ConstPtr ManagerPrivate::findItemByRoot(const QStandardItem *ite ///////////////////////////////// Manager ////////////////////////////////// -Manager::Manager(QObject *parent) - : QObject(parent), - d(new ManagerPrivate()) +Manager::Manager() + : d(new ManagerPrivate()) { d->m_parser = new Parser(); d->m_parser->moveToThread(&d->m_parserThread); @@ -403,9 +404,9 @@ void Manager::setFlatMode(bool flat) }, Qt::QueuedConnection); } -void setupClassViewManager(QObject *guard) +void setupClassViewManager() { - (void) new Manager(guard); + static GuardedObject theClassViewManager; } } // ClassView::Internal diff --git a/src/plugins/classview/classviewmanager.h b/src/plugins/classview/classviewmanager.h index 0df20995270..d7c42c374ad 100644 --- a/src/plugins/classview/classviewmanager.h +++ b/src/plugins/classview/classviewmanager.h @@ -16,7 +16,7 @@ class Manager final : public QObject { Q_OBJECT public: - explicit Manager(QObject *parent); + Manager(); ~Manager() final; static Manager *instance(); @@ -42,6 +42,6 @@ private: ManagerPrivate *d; }; -void setupClassViewManager(QObject *guard); +void setupClassViewManager(); } // ClassView::Internal diff --git a/src/plugins/classview/classviewplugin.cpp b/src/plugins/classview/classviewplugin.cpp index 4d069c469b4..3cf9772f6a8 100644 --- a/src/plugins/classview/classviewplugin.cpp +++ b/src/plugins/classview/classviewplugin.cpp @@ -26,7 +26,7 @@ class ClassViewPlugin final : public ExtensionSystem::IPlugin void initialize() final { setupClassViewNavigationWidgetFactory(); - setupClassViewManager(this); + setupClassViewManager(); } }; diff --git a/src/plugins/languageclient/languageclientplugin.cpp b/src/plugins/languageclient/languageclientplugin.cpp index b8af019f9a5..1595b6815ff 100644 --- a/src/plugins/languageclient/languageclientplugin.cpp +++ b/src/plugins/languageclient/languageclientplugin.cpp @@ -50,7 +50,7 @@ void LanguageClientPlugin::initialize() setupCallHierarchyFactory(); setupTypeHierarchyFactory(); setupLanguageClientProjectPanel(); - setupLanguageClientManager(this); + setupLanguageClientManager(); setupLanguageClientOutline(); #ifdef WITH_TESTS