diff options
author | hjk <hjk@qt.io> | 2018-02-06 12:57:00 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2018-02-06 14:28:27 +0000 |
commit | 0b3350065521abdf83609147ed240772def03355 (patch) | |
tree | 9cafc46aa5be736039523cbfb954b04a65c2cc76 /src/plugins/classview | |
parent | 79a43b4d86e0c21a0dfebf4a9baaa5ef03760d33 (diff) |
ClassView: Adapt to new plugin setup pattern
Change-Id: Ieb97736ceb462baf6d97dc39cc4bd08854477a92
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/classview')
-rw-r--r-- | src/plugins/classview/classviewplugin.cpp | 29 | ||||
-rw-r--r-- | src/plugins/classview/classviewplugin.h | 14 |
2 files changed, 25 insertions, 18 deletions
diff --git a/src/plugins/classview/classviewplugin.cpp b/src/plugins/classview/classviewplugin.cpp index d476ff29615..2021d6b37bc 100644 --- a/src/plugins/classview/classviewplugin.cpp +++ b/src/plugins/classview/classviewplugin.cpp @@ -27,31 +27,40 @@ #include "classviewmanager.h" #include "classviewnavigationwidgetfactory.h" -#include <QtPlugin> - namespace ClassView { namespace Internal { ///////////////////////////////// Plugin ////////////////////////////////// /*! - \class Plugin - \brief The Plugin class is the base class for the Class View plugin. + \class ClassViewPlugin + \brief The ClassViewPlugin class implements the Class View plugin. The Class View shows the namespace and class hierarchy of the currently open projects in the sidebar. */ -bool Plugin::initialize(const QStringList &arguments, QString *errorMessage) +class ClassViewPluginPrivate +{ +public: + NavigationWidgetFactory navigationWidgetFactory; + Manager manager; +}; + +static ClassViewPluginPrivate *dd = nullptr; + +ClassViewPlugin::~ClassViewPlugin() +{ + delete dd; + dd = nullptr; +} + +bool ClassViewPlugin::initialize(const QStringList &arguments, QString *errorMessage) { Q_UNUSED(arguments) Q_UNUSED(errorMessage) - // add to ExtensionSystem - addAutoReleasedObject(new NavigationWidgetFactory); - - // create manager - (void) new Manager(this); + dd = new ClassViewPluginPrivate; return true; } diff --git a/src/plugins/classview/classviewplugin.h b/src/plugins/classview/classviewplugin.h index 223a963efcb..4272503a2ca 100644 --- a/src/plugins/classview/classviewplugin.h +++ b/src/plugins/classview/classviewplugin.h @@ -30,20 +30,18 @@ namespace ClassView { namespace Internal { -class Plugin : public ExtensionSystem::IPlugin +class ClassViewPlugin : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "ClassView.json") public: - //! Constructor - Plugin() {} + ClassViewPlugin() = default; + ~ClassViewPlugin() final; - //! \implements ExtensionSystem::IPlugin::initialize - bool initialize(const QStringList &arguments, QString *errorMessage = 0); - - //! \implements ExtensionSystem::IPlugin::extensionsInitialized - void extensionsInitialized() {} +private: + bool initialize(const QStringList &arguments, QString *errorMessage = nullptr) final; + void extensionsInitialized() final {} }; } // namespace Internal |