aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/modeleditor
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-01-23 09:39:52 +0100
committerhjk <hjk@qt.io>2020-01-27 06:45:09 +0000
commit5ea999402c1bade6a1959e661d5b2967db142dcb (patch)
tree51385111761767662d549662b87c3c5c4ff05338 /src/plugins/modeleditor
parentb0939414354589ae569f12a14e6fe55abb4ab575 (diff)
ModelEditor: Move closer to standard plugin setup
The private structure was already there, just delay initialization and make the members direct. Change-Id: Ic0d71fe27f15a5c270544469d046b3298e6b2c65 Reviewed-by: Jochen Becher <jochen_becher@gmx.de> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/modeleditor')
-rw-r--r--src/plugins/modeleditor/modeleditor_plugin.cpp45
-rw-r--r--src/plugins/modeleditor/modeleditor_plugin.h8
-rw-r--r--src/plugins/modeleditor/modeleditorfactory.cpp5
-rw-r--r--src/plugins/modeleditor/modeleditorfactory.h2
-rw-r--r--src/plugins/modeleditor/settingscontroller.cpp3
-rw-r--r--src/plugins/modeleditor/settingscontroller.h2
-rw-r--r--src/plugins/modeleditor/uicontroller.cpp5
-rw-r--r--src/plugins/modeleditor/uicontroller.h2
8 files changed, 27 insertions, 45 deletions
diff --git a/src/plugins/modeleditor/modeleditor_plugin.cpp b/src/plugins/modeleditor/modeleditor_plugin.cpp
index de80992032..2b34be2b33 100644
--- a/src/plugins/modeleditor/modeleditor_plugin.cpp
+++ b/src/plugins/modeleditor/modeleditor_plugin.cpp
@@ -25,12 +25,13 @@
#include "modeleditor_plugin.h"
+#include "jsextension.h"
+#include "modeleditor_constants.h"
#include "modeleditorfactory.h"
+#include "modeleditor_global.h"
#include "modelsmanager.h"
#include "settingscontroller.h"
-#include "modeleditor_constants.h"
#include "uicontroller.h"
-#include "jsextension.h"
#include "qmt/infrastructure/uid.h"
@@ -45,32 +46,24 @@
#include <QAction>
#include <QApplication>
-#include <QMessageBox>
-#include <QMainWindow>
-#include <QMenu>
#include <QItemSelection>
#include <QClipboard>
-#include <QFontDatabase>
-
-#include <QtPlugin>
namespace ModelEditor {
namespace Internal {
ModelEditorPlugin *pluginInstance = nullptr;
-class ModelEditorPlugin::ModelEditorPluginPrivate
+class ModelEditorPluginPrivate final
{
public:
- ModelsManager *modelsManager = nullptr;
- UiController *uiController = nullptr;
- ModelEditorFactory *modelFactory = nullptr;
- SettingsController *settingsController = nullptr;
+ ModelsManager modelsManager;
+ UiController uiController;
+ ModelEditorFactory modelFactory{&uiController};
+ SettingsController settingsController;
};
ModelEditorPlugin::ModelEditorPlugin()
- : ExtensionSystem::IPlugin(),
- d(new ModelEditorPluginPrivate)
{
pluginInstance = this;
qRegisterMetaType<QItemSelection>("QItemSelection");
@@ -86,18 +79,14 @@ bool ModelEditorPlugin::initialize(const QStringList &arguments, QString *errorS
{
Q_UNUSED(arguments)
Q_UNUSED(errorString)
-
- d->modelsManager = new ModelsManager(this);
- d->uiController = new UiController(this);
- d->modelFactory = new ModelEditorFactory(d->uiController, this);
- d->settingsController = new SettingsController(this);
+ d = new ModelEditorPluginPrivate;
Core::JsExpander::registerGlobalObject<JsExtension>("Modeling");
- connect(d->settingsController, &SettingsController::saveSettings,
- d->uiController, &UiController::saveSettings);
- connect(d->settingsController, &SettingsController::loadSettings,
- d->uiController, &UiController::loadSettings);
+ connect(&d->settingsController, &SettingsController::saveSettings,
+ &d->uiController, &UiController::saveSettings);
+ connect(&d->settingsController, &SettingsController::loadSettings,
+ &d->uiController, &UiController::loadSettings);
return true;
}
@@ -107,20 +96,20 @@ void ModelEditorPlugin::extensionsInitialized()
// Retrieve objects from the plugin manager's object pool
// In the extensionsInitialized method, a plugin can be sure that all
// plugins that depend on it are completely initialized.
- d->modelFactory->extensionsInitialized();
- d->settingsController->load(Core::ICore::settings());
+ d->modelFactory.extensionsInitialized();
+ d->settingsController.load(Core::ICore::settings());
}
ExtensionSystem::IPlugin::ShutdownFlag ModelEditorPlugin::aboutToShutdown()
{
- d->settingsController->save(Core::ICore::settings());
+ d->settingsController.save(Core::ICore::settings());
QApplication::clipboard()->clear();
return SynchronousShutdown;
}
ModelsManager *ModelEditorPlugin::modelsManager()
{
- return pluginInstance->d->modelsManager;
+ return &pluginInstance->d->modelsManager;
}
} // namespace Internal
diff --git a/src/plugins/modeleditor/modeleditor_plugin.h b/src/plugins/modeleditor/modeleditor_plugin.h
index 5ab927361d..838ee41ac2 100644
--- a/src/plugins/modeleditor/modeleditor_plugin.h
+++ b/src/plugins/modeleditor/modeleditor_plugin.h
@@ -25,8 +25,6 @@
#pragma once
-#include "modeleditor_global.h"
-
#include <extensionsystem/iplugin.h>
namespace ModelEditor {
@@ -34,12 +32,10 @@ namespace Internal {
class ModelsManager;
-class ModelEditorPlugin :
- public ExtensionSystem::IPlugin
+class ModelEditorPlugin : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "ModelEditor.json")
- class ModelEditorPluginPrivate;
public:
ModelEditorPlugin();
@@ -52,7 +48,7 @@ public:
static ModelsManager *modelsManager();
private:
- ModelEditorPluginPrivate *d;
+ class ModelEditorPluginPrivate *d = nullptr;
};
} // namespace Internal
diff --git a/src/plugins/modeleditor/modeleditorfactory.cpp b/src/plugins/modeleditor/modeleditorfactory.cpp
index da20bd8679..355f4e2be1 100644
--- a/src/plugins/modeleditor/modeleditorfactory.cpp
+++ b/src/plugins/modeleditor/modeleditorfactory.cpp
@@ -41,9 +41,8 @@ public:
ActionHandler *actionHandler = nullptr;
};
-ModelEditorFactory::ModelEditorFactory(UiController *uiController, QObject *parent)
- : Core::IEditorFactory(parent),
- d(new ModelEditorFactoryPrivate())
+ModelEditorFactory::ModelEditorFactory(UiController *uiController)
+ : d(new ModelEditorFactoryPrivate())
{
setId(Constants::MODEL_EDITOR_ID);
setDisplayName(QCoreApplication::translate("OpenWith::Editors", Constants::MODEL_EDITOR_DISPLAY_NAME));
diff --git a/src/plugins/modeleditor/modeleditorfactory.h b/src/plugins/modeleditor/modeleditorfactory.h
index ca06f7da40..a14479cc3f 100644
--- a/src/plugins/modeleditor/modeleditorfactory.h
+++ b/src/plugins/modeleditor/modeleditorfactory.h
@@ -40,7 +40,7 @@ class ModelEditorFactory :
class ModelEditorFactoryPrivate;
public:
- explicit ModelEditorFactory(UiController *uiController, QObject *parent = nullptr);
+ explicit ModelEditorFactory(UiController *uiController);
~ModelEditorFactory();
Core::IEditor *createEditor() override;
diff --git a/src/plugins/modeleditor/settingscontroller.cpp b/src/plugins/modeleditor/settingscontroller.cpp
index 20e808ac59..666e40ea24 100644
--- a/src/plugins/modeleditor/settingscontroller.cpp
+++ b/src/plugins/modeleditor/settingscontroller.cpp
@@ -32,8 +32,7 @@
namespace ModelEditor {
namespace Internal {
-SettingsController::SettingsController(QObject *parent)
- : QObject(parent)
+SettingsController::SettingsController()
{
}
diff --git a/src/plugins/modeleditor/settingscontroller.h b/src/plugins/modeleditor/settingscontroller.h
index 90371b66a7..df7ee1c76b 100644
--- a/src/plugins/modeleditor/settingscontroller.h
+++ b/src/plugins/modeleditor/settingscontroller.h
@@ -40,7 +40,7 @@ class SettingsController :
Q_OBJECT
public:
- explicit SettingsController(QObject *parent = nullptr);
+ SettingsController();
signals:
void resetSettings();
diff --git a/src/plugins/modeleditor/uicontroller.cpp b/src/plugins/modeleditor/uicontroller.cpp
index 706e208904..feb7cd5d44 100644
--- a/src/plugins/modeleditor/uicontroller.cpp
+++ b/src/plugins/modeleditor/uicontroller.cpp
@@ -39,9 +39,8 @@ public:
QByteArray rightHorizSplitterState;
};
-UiController::UiController(QObject *parent)
- : QObject(parent),
- d(new UiControllerPrivate)
+UiController::UiController()
+ : d(new UiControllerPrivate)
{
}
diff --git a/src/plugins/modeleditor/uicontroller.h b/src/plugins/modeleditor/uicontroller.h
index 9dacf6d069..e8b29511d9 100644
--- a/src/plugins/modeleditor/uicontroller.h
+++ b/src/plugins/modeleditor/uicontroller.h
@@ -41,7 +41,7 @@ class UiController :
class UiControllerPrivate;
public:
- explicit UiController(QObject *parent = nullptr);
+ UiController();
~UiController();
signals: