diff options
author | hjk <hjk@qt.io> | 2018-02-06 16:51:28 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2018-02-07 16:22:02 +0000 |
commit | e30c872e61af822caf7b019a65de57559daac6f1 (patch) | |
tree | a7897f631ac4fd7ba7f60d4561efcd0d3d38b020 /src/plugins/qmldesigner | |
parent | 487aad1ed59dd992f1ebb34f53aedb83f5362800 (diff) | |
download | qt-creator-e30c872e61af822caf7b019a65de57559daac6f1.tar.gz |
QmlDesigner: Avoid use of global object pool
Plus some code cosmetics.
Change-Id: I6fde62da5a99e750131d20336d35565280ac7bef
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner')
-rw-r--r-- | src/plugins/qmldesigner/designmodewidget.cpp | 5 | ||||
-rw-r--r-- | src/plugins/qmldesigner/designmodewidget.h | 5 | ||||
-rw-r--r-- | src/plugins/qmldesigner/qmldesignerplugin.cpp | 34 | ||||
-rw-r--r-- | src/plugins/qmldesigner/qmldesignerplugin.h | 16 |
4 files changed, 25 insertions, 35 deletions
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index acbcd19bab..31f782b7d6 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -134,9 +134,8 @@ QList<QToolButton *> DesignerSideBarItem::createToolBarWidgets() } // ---------- DesignModeWidget -DesignModeWidget::DesignModeWidget(QWidget *parent) - : QWidget(parent) - , m_toolBar(new Core::EditorToolBar(this)) +DesignModeWidget::DesignModeWidget() + : m_toolBar(new Core::EditorToolBar(this)) , m_crumbleBar(new CrumbleBar(this)) { } diff --git a/src/plugins/qmldesigner/designmodewidget.h b/src/plugins/qmldesigner/designmodewidget.h index f392058b76..e9600ef5ee 100644 --- a/src/plugins/qmldesigner/designmodewidget.h +++ b/src/plugins/qmldesigner/designmodewidget.h @@ -52,16 +52,15 @@ namespace Internal { class DesignMode; class DocumentWidget; -class DesignModeWidget; class DesignModeWidget : public QWidget { Q_OBJECT public: - explicit DesignModeWidget(QWidget *parent = 0); - + DesignModeWidget(); ~DesignModeWidget(); + void contextHelpId(const Core::IContext::HelpIdCallback &callback) const; void initialize(); diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp index 3d89f35784..1b81f80b28 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.cpp +++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp @@ -72,18 +72,20 @@ Q_LOGGING_CATEGORY(qmldesignerLog, "qtc.qmldesigner") +using namespace QmlDesigner::Internal; + namespace QmlDesigner { -class QmlDesignerPluginPrivate { +class QmlDesignerPluginPrivate +{ public: ViewManager viewManager; DocumentManager documentManager; ShortCutManager shortCutManager; - - Internal::DesignModeWidget *mainWidget = nullptr; - + SettingsPage settingsPage; + DesignModeWidget mainWidget; DesignerSettings settings; - Internal::DesignModeContext *context = nullptr; + DesignModeContext *context = nullptr; bool blockEditorChange = false; }; @@ -158,7 +160,7 @@ QmlDesignerPlugin::QmlDesignerPlugin() QmlDesignerPlugin::~QmlDesignerPlugin() { if (d) { - Core::DesignMode::unregisterDesignWidget(d->mainWidget); + Core::DesignMode::unregisterDesignWidget(&d->mainWidget); Core::ICore::removeContextObject(d->context); d->context = nullptr; } @@ -177,7 +179,6 @@ bool QmlDesignerPlugin::initialize(const QStringList & /*arguments*/, QString *e if (!Utils::HostOsInfo::canCreateOpenGLContext(errorMessage)) return false; d = new QmlDesignerPluginPrivate; - d->mainWidget = new Internal::DesignModeWidget; return true; } @@ -190,7 +191,6 @@ bool QmlDesignerPlugin::delayedInitialize() + QLatin1String(IDE_LIBRARY_BASENAME) + "/qtcreator/plugins/qmldesigner"); MetaInfo::setPluginPaths(QStringList(pluginPath)); - addAutoReleasedObject(new Internal::SettingsPage); d->settings.fromSettings(Core::ICore::settings()); d->viewManager.registerViewTakingOwnership(new QmlDesigner::Internal::ConnectionView()); @@ -207,7 +207,7 @@ bool QmlDesignerPlugin::delayedInitialize() void QmlDesignerPlugin::extensionsInitialized() { - integrateIntoQtCreator(d->mainWidget); + integrateIntoQtCreator(&d->mainWidget); } static QStringList allUiQmlFilesforCurrentProject(const Utils::FileName &fileName) @@ -292,12 +292,12 @@ void QmlDesignerPlugin::showDesigner() { QTC_ASSERT(!d->documentManager.hasCurrentDesignDocument(), return); - d->mainWidget->initialize(); + d->mainWidget.initialize(); const Utils::FileName fileName = Core::EditorManager::currentEditor()->document()->filePath(); const QStringList allUiQmlFiles = allUiQmlFilesforCurrentProject(fileName); if (warningsForQmlFilesInsteadOfUiQmlEnabled() && !fileName.endsWith(".ui.qml") && !allUiQmlFiles.isEmpty()) { - OpenUiQmlFileDialog dialog(d->mainWidget); + OpenUiQmlFileDialog dialog(&d->mainWidget); dialog.setUiQmlFiles(projectPath(fileName), allUiQmlFiles); dialog.exec(); if (dialog.uiFileOpened()) { @@ -324,7 +324,7 @@ void QmlDesignerPlugin::hideDesigner() { if (d->documentManager.hasCurrentDesignDocument()) { deactivateAutoSynchronization(); - d->mainWidget->saveSettings(); + d->mainWidget.saveSettings(); } d->shortCutManager.disconnectUndoActions(currentDesignDocument()); @@ -339,12 +339,12 @@ void QmlDesignerPlugin::changeEditor() if (d->documentManager.hasCurrentDesignDocument()) { deactivateAutoSynchronization(); - d->mainWidget->saveSettings(); + d->mainWidget.saveSettings(); } d->shortCutManager.disconnectUndoActions(currentDesignDocument()); d->documentManager.setCurrentDesignDocument(Core::EditorManager::currentEditor()); - d->mainWidget->initialize(); + d->mainWidget.initialize(); d->shortCutManager.connectUndoActions(currentDesignDocument()); if (d->documentManager.hasCurrentDesignDocument()) { @@ -393,7 +393,7 @@ void QmlDesignerPlugin::activateAutoSynchronization() currentDesignDocument()->updateActiveQtVersion(); currentDesignDocument()->updateCurrentProject(); - d->mainWidget->enableWidgets(); + d->mainWidget.enableWidgets(); currentDesignDocument()->attachRewriterToModel(); resetModelSelection(); @@ -403,7 +403,7 @@ void QmlDesignerPlugin::activateAutoSynchronization() selectModelNodeUnderTextCursor(); - d->mainWidget->setupNavigatorHistory(currentDesignDocument()->textEditor()); + d->mainWidget.setupNavigatorHistory(currentDesignDocument()->textEditor()); currentDesignDocument()->updateSubcomponentManager(); } @@ -450,7 +450,7 @@ DesignDocument *QmlDesignerPlugin::currentDesignDocument() const Internal::DesignModeWidget *QmlDesignerPlugin::mainWidget() const { if (d) - return d->mainWidget; + return &d->mainWidget; return nullptr; } diff --git a/src/plugins/qmldesigner/qmldesignerplugin.h b/src/plugins/qmldesigner/qmldesignerplugin.h index cf4a212fea..9ad1cef9b8 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.h +++ b/src/plugins/qmldesigner/qmldesignerplugin.h @@ -35,12 +35,6 @@ #include "shortcutmanager.h" #include <designeractionmanager.h> -#include <QStringList> - -QT_BEGIN_NAMESPACE -class QAction; -QT_END_NAMESPACE - namespace Core { class IEditor; } @@ -58,12 +52,11 @@ class QMLDESIGNERCORE_EXPORT QmlDesignerPlugin : public ExtensionSystem::IPlugin public: QmlDesignerPlugin(); - virtual ~QmlDesignerPlugin(); + ~QmlDesignerPlugin() final; - //Plugin - bool initialize(const QStringList &arguments, QString *errorMessage = 0) override; - bool delayedInitialize() override; - void extensionsInitialized() override; + bool initialize(const QStringList &arguments, QString *errorMessage) final; + bool delayedInitialize() final; + void extensionsInitialized() final; static QmlDesignerPlugin *instance(); @@ -105,7 +98,6 @@ private: // functions private: // variables QmlDesignerPluginPrivate *d = nullptr; static QmlDesignerPlugin *m_instance; - }; } // namespace QmlDesigner |