From 01164e737dbb1b45becda997280f318bbd5e6160 Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Mon, 25 Oct 2021 21:36:33 +0300 Subject: [PATCH] QmlDesigner: Add a Text component when dropping a font to Form Editor When dragging a font from the file system and dropping it on the Form Editor, create a Text component. Fixes: QDS-5272 Change-Id: I3ec9420f870732afac7d09688f1e459881d4aad3 Reviewed-by: Miikka Heikkinen --- .../components/formeditor/formeditorwidget.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp index 6b81d1f92e2..e7e3d69d6a3 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp @@ -599,12 +599,20 @@ void FormEditorWidget::dropEvent(QDropEvent *dropEvent) ->viewManager().designerActionManager(); QHash addedAssets = actionManager.handleExternalAssetsDrop(dropEvent->mimeData()); - // add image assets to Form Editor + // Create Image components for added image assets const QStringList addedImages = addedAssets.value(ComponentCoreConstants::addImagesDisplayString); for (const QString &imgPath : addedImages) { QmlItemNode::createQmlItemNodeFromImage(m_formEditorView, imgPath, {}, m_formEditorView->scene()->rootFormEditorItem()->qmlItemNode()); } + + // Create Text components for added font assets + const QStringList addedFonts = addedAssets.value(ComponentCoreConstants::addFontsDisplayString); + for (const QString &fontPath : addedFonts) { + QString fontFamily = QFileInfo(fontPath).baseName(); + QmlItemNode::createQmlItemNodeFromFont(m_formEditorView, fontFamily, rootItemRect().center(), + m_formEditorView->scene()->rootFormEditorItem()->qmlItemNode()); + } } } // namespace QmlDesigner