aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMahmoud Badri <mahmoud.badri@qt.io>2021-10-25 21:36:33 +0300
committerMahmoud Badri <mahmoud.badri@qt.io>2021-10-26 10:18:11 +0000
commit01164e737dbb1b45becda997280f318bbd5e6160 (patch)
tree60dc8725e5e830f7a6ce1a6e9fdacab2355c4031
parent74454a3531aa772d083b2d61e2d1e6e1184146d6 (diff)
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 <miikka.heikkinen@qt.io>
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp
index 6b81d1f92e..e7e3d69d6a 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<QString, QStringList> 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