aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/qmldesignerplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/qmldesignerplugin.cpp')
-rw-r--r--src/plugins/qmldesigner/qmldesignerplugin.cpp35
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();