From 625a521cf739929e2fd6c4f63573b50280d9a504 Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Thu, 13 Jun 2024 18:14:15 +0300 Subject: [PATCH] QmlDesigner: Small tweak in content lib method add3DInstance() Rename add3DInstance() to addItemToProject() and use it in addToProject(). This makes things slightly clearer. Change-Id: I25475559b4fcb864887f57617d125785a8e78fbe Reviewed-by: Miikka Heikkinen --- .../contentlibraryusermodel.cpp | 37 ++++++++----------- .../contentlibrary/contentlibraryusermodel.h | 2 +- .../contentlibrary/contentlibraryview.cpp | 2 +- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryusermodel.cpp b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryusermodel.cpp index 694d79abadb..65489dc9c05 100644 --- a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryusermodel.cpp +++ b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryusermodel.cpp @@ -155,18 +155,6 @@ void ContentLibraryUserModel::addTextures(const QStringList &paths) emit dataChanged(index(TexturesSectionIdx), index(TexturesSectionIdx)); } -void ContentLibraryUserModel::add3DInstance(ContentLibraryItem *bundleItem) -{ - QString err = m_widget->importer()->importComponent(m_bundlePath3D.path(), bundleItem->type(), - bundleItem->qml(), - bundleItem->files() + m_bundle3DSharedFiles); - - if (err.isEmpty()) - m_widget->setImporterRunning(true); - else - qWarning() << __FUNCTION__ << err; -} - void ContentLibraryUserModel::removeTexture(ContentLibraryTexture *tex) { // remove resources @@ -624,23 +612,30 @@ void ContentLibraryUserModel::applyToSelected(ContentLibraryItem *mat, bool add) void ContentLibraryUserModel::addToProject(QObject *item) { auto castedItem = qobject_cast(item); - QString bundleDir; - TypeName type = castedItem->type(); - QString qmlFile = castedItem->qml(); - QStringList files = castedItem->files(); + QTC_ASSERT(castedItem, return); - if (castedItem->itemType() == "material") { - bundleDir = m_bundlePathMaterial.toFSPathString(); + addItemToProject(castedItem); +} + +void ContentLibraryUserModel::addItemToProject(ContentLibraryItem *item) +{ + QString bundlePath; + TypeName type = item->type(); + QString qmlFile = item->qml(); + QStringList files = item->files(); + + if (item->itemType() == "material") { + bundlePath = m_bundlePathMaterial.toFSPathString(); files << m_bundleMaterialSharedFiles; - } else if (castedItem->itemType() == "3d") { - bundleDir = m_bundlePath3D.toFSPathString(); + } else if (item->itemType() == "3d") { + bundlePath = m_bundlePath3D.toFSPathString(); files << m_bundle3DSharedFiles; } else { qWarning() << __FUNCTION__ << "Unsupported Item"; return; } - QString err = m_widget->importer()->importComponent(bundleDir, type, qmlFile, files); + QString err = m_widget->importer()->importComponent(bundlePath, type, qmlFile, files); if (err.isEmpty()) m_widget->setImporterRunning(true); diff --git a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryusermodel.h b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryusermodel.h index c03b46da67c..f5805946fb6 100644 --- a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryusermodel.h +++ b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryusermodel.h @@ -65,7 +65,7 @@ public: void refreshSection(SectionIndex sectionIndex); void addTextures(const QStringList &paths); - void add3DInstance(ContentLibraryItem *bundleItem); + void addItemToProject(ContentLibraryItem *item); void remove3DFromContentLibByName(const QString &qmlFileName); void removeMaterialFromContentLibByName(const QString &qmlFileName); diff --git a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp index ac623eaf2ad..675b60e0bcc 100644 --- a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp +++ b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp @@ -365,7 +365,7 @@ void ContentLibraryView::customNotification(const AbstractView *view, m_bundleItemPos = data.size() == 1 ? data.first() : QVariant(); if (is3D) - m_widget->userModel()->add3DInstance(m_draggedBundleItem); + m_widget->userModel()->addItemToProject(m_draggedBundleItem); else m_widget->effectsModel()->addInstance(m_draggedBundleItem); m_bundleItemTarget = nodeList.first() ? nodeList.first() : Utils3D::active3DSceneNode(this);