diff options
Diffstat (limited to 'src/plugins/qmldesigner/qmldesignerplugin.cpp')
-rw-r--r-- | src/plugins/qmldesigner/qmldesignerplugin.cpp | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp index a65ff3600b..a80009f3da 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.cpp +++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp @@ -38,8 +38,10 @@ #include <sourcetool/sourcetool.h> #include <colortool/colortool.h> #include <annotationeditor/annotationtool.h> +#include <formeditor/transitiontool.h> #include <texttool/texttool.h> #include <timelineeditor/timelineview.h> +#include <transitioneditor/transitioneditorview.h> #include <pathtool/pathtool.h> #include <qmljseditor/qmljseditor.h> @@ -117,7 +119,6 @@ public: SettingsPage settingsPage; DesignModeWidget mainWidget; DesignerSettings settings; - DesignModeContext *context = nullptr; QtQuickDesignerFactory m_qtQuickDesignerFactory; bool blockEditorChange = false; }; @@ -193,11 +194,8 @@ QmlDesignerPlugin::QmlDesignerPlugin() QmlDesignerPlugin::~QmlDesignerPlugin() { - if (d) { + if (d) Core::DesignMode::unregisterDesignWidget(&d->mainWidget); - Core::ICore::removeContextObject(d->context); - d->context = nullptr; - } delete d; d = nullptr; m_instance = nullptr; @@ -216,6 +214,11 @@ bool QmlDesignerPlugin::initialize(const QStringList & /*arguments*/, QString *e if (DesignerSettings::getValue(DesignerSettingsKey::STANDALONE_MODE).toBool()) GenerateResource::generateMenuEntry(); + QString fontPath = Core::ICore::resourcePath() + + QStringLiteral("/qmldesigner/propertyEditorQmlSources/imports/StudioTheme/icons.ttf"); + if (QFontDatabase::addApplicationFont(fontPath) < 0) + qCWarning(qmldesignerLog) << "Could not add font " << fontPath << "to font database"; + return true; } @@ -237,11 +240,16 @@ bool QmlDesignerPlugin::delayedInitialize() timelineView->registerActions(); } + auto transitionEditorView = new QmlDesigner::TransitionEditorView; + d->viewManager.registerViewTakingOwnership(transitionEditorView); + transitionEditorView->registerActions(); + d->viewManager.registerFormEditorToolTakingOwnership(new QmlDesigner::SourceTool); d->viewManager.registerFormEditorToolTakingOwnership(new QmlDesigner::ColorTool); d->viewManager.registerFormEditorToolTakingOwnership(new QmlDesigner::AnnotationTool); d->viewManager.registerFormEditorToolTakingOwnership(new QmlDesigner::TextTool); d->viewManager.registerFormEditorToolTakingOwnership(new QmlDesigner::PathTool); + d->viewManager.registerFormEditorToolTakingOwnership(new QmlDesigner::TransitionTool); return true; } @@ -283,18 +291,18 @@ static QString projectPath(const Utils::FilePath &fileName) void QmlDesignerPlugin::integrateIntoQtCreator(QWidget *modeWidget) { - d->context = new Internal::DesignModeContext(modeWidget); - Core::ICore::addContextObject(d->context); + auto context = new Internal::DesignModeContext(modeWidget); + Core::ICore::addContextObject(context); Core::Context qmlDesignerMainContext(Constants::C_QMLDESIGNER); Core::Context qmlDesignerFormEditorContext(Constants::C_QMLFORMEDITOR); Core::Context qmlDesignerEditor3dContext(Constants::C_QMLEDITOR3D); Core::Context qmlDesignerNavigatorContext(Constants::C_QMLNAVIGATOR); - d->context->context().add(qmlDesignerMainContext); - d->context->context().add(qmlDesignerFormEditorContext); - d->context->context().add(qmlDesignerEditor3dContext); - d->context->context().add(qmlDesignerNavigatorContext); - d->context->context().add(ProjectExplorer::Constants::QMLJS_LANGUAGE_ID); + context->context().add(qmlDesignerMainContext); + context->context().add(qmlDesignerFormEditorContext); + context->context().add(qmlDesignerEditor3dContext); + context->context().add(qmlDesignerNavigatorContext); + context->context().add(ProjectExplorer::Constants::QMLJS_LANGUAGE_ID); d->shortCutManager.registerActions(qmlDesignerMainContext, qmlDesignerFormEditorContext, qmlDesignerEditor3dContext, qmlDesignerNavigatorContext); @@ -302,7 +310,7 @@ void QmlDesignerPlugin::integrateIntoQtCreator(QWidget *modeWidget) const QStringList mimeTypes = { QmlJSTools::Constants::QML_MIMETYPE, QmlJSTools::Constants::QMLUI_MIMETYPE }; - Core::DesignMode::registerDesignWidget(modeWidget, mimeTypes, d->context->context()); + Core::DesignMode::registerDesignWidget(modeWidget, mimeTypes, context->context()); connect(Core::DesignMode::instance(), &Core::DesignMode::actionsUpdated, &d->shortCutManager, &ShortCutManager::updateActions); @@ -444,7 +452,6 @@ void QmlDesignerPlugin::activateAutoSynchronization() currentDesignDocument()->loadDocument(currentDesignDocument()->plainTextEdit()); currentDesignDocument()->updateActiveTarget(); - currentDesignDocument()->updateActiveTarget(); d->mainWidget.enableWidgets(); currentDesignDocument()->attachRewriterToModel(); |