aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/classview
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2018-02-06 12:57:00 +0100
committerhjk <hjk@qt.io>2018-02-06 14:28:27 +0000
commit0b3350065521abdf83609147ed240772def03355 (patch)
tree9cafc46aa5be736039523cbfb954b04a65c2cc76 /src/plugins/classview
parent79a43b4d86e0c21a0dfebf4a9baaa5ef03760d33 (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.cpp29
-rw-r--r--src/plugins/classview/classviewplugin.h14
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