ClassView: Use new setup pattern for navigationwidget factory

Change-Id: I4e519d068c1ce85b6aee6e8743104703f6ddda8a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2024-01-09 17:53:12 +01:00
parent 31702189be
commit 3873947c00
3 changed files with 21 additions and 18 deletions

View File

@@ -6,16 +6,15 @@
#include "classviewnavigationwidget.h" #include "classviewnavigationwidget.h"
#include "classviewtr.h" #include "classviewtr.h"
#include <coreplugin/inavigationwidgetfactory.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcsettings.h> #include <utils/qtcsettings.h>
#include <utils/store.h> #include <utils/store.h>
using namespace Utils; using namespace Utils;
namespace ClassView { namespace ClassView::Internal {
namespace Internal {
///////////////////////////////// NavigationWidgetFactory //////////////////////////////////
/*! /*!
\class NavigationWidgetFactory \class NavigationWidgetFactory
@@ -26,6 +25,16 @@ namespace Internal {
removing it from \c ExtensionSystem::PluginManager. removing it from \c ExtensionSystem::PluginManager.
*/ */
class NavigationWidgetFactory final : public Core::INavigationWidgetFactory
{
public:
NavigationWidgetFactory();
Core::NavigationView createWidget() final;
void saveSettings(Utils::QtcSettings *settings, int position, QWidget *widget) final;
void restoreSettings(Utils::QtcSettings *settings, int position, QWidget *widget) final;
};
NavigationWidgetFactory::NavigationWidgetFactory() NavigationWidgetFactory::NavigationWidgetFactory()
{ {
setDisplayName(Tr::tr("Class View")); setDisplayName(Tr::tr("Class View"));
@@ -70,5 +79,9 @@ void NavigationWidgetFactory::restoreSettings(QtcSettings *settings, int positio
pw->setFlatMode(settings->value(settingsGroup, false).toBool()); pw->setFlatMode(settings->value(settingsGroup, false).toBool());
} }
} // namespace Internal void setupClassViewNavigationWidgetFactory()
} // namespace ClassView {
static NavigationWidgetFactory theNavigationWidgetFactory;
}
} // ClassView::Internal

View File

@@ -3,18 +3,8 @@
#pragma once #pragma once
#include <coreplugin/inavigationwidgetfactory.h>
namespace ClassView::Internal { namespace ClassView::Internal {
class NavigationWidgetFactory : public Core::INavigationWidgetFactory void setupClassViewNavigationWidgetFactory();
{
public:
NavigationWidgetFactory();
Core::NavigationView createWidget() override;
void saveSettings(Utils::QtcSettings *settings, int position, QWidget *widget) override;
void restoreSettings(Utils::QtcSettings *settings, int position, QWidget *widget) override;
};
} // ClassView::Internal } // ClassView::Internal

View File

@@ -22,7 +22,6 @@ namespace Internal {
class ClassViewPluginPrivate class ClassViewPluginPrivate
{ {
public: public:
NavigationWidgetFactory navigationWidgetFactory;
Manager manager; Manager manager;
}; };
@@ -36,6 +35,7 @@ ClassViewPlugin::~ClassViewPlugin()
void ClassViewPlugin::initialize() void ClassViewPlugin::initialize()
{ {
setupClassViewNavigationWidgetFactory();
dd = new ClassViewPluginPrivate; dd = new ClassViewPluginPrivate;
} }