diff --git a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowserContextMenu.qml b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowserContextMenu.qml index a47b983bd46..38b1b39ea72 100644 --- a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowserContextMenu.qml +++ b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowserContextMenu.qml @@ -138,8 +138,9 @@ StudioControls.Menu { StudioControls.MenuItem { text: qsTr("Add to Content Library") + enabled: root.targetMaterial - onTriggered: MaterialBrowserBackend.rootView.addMaterialToContentLibrary(root.targetMaterial) + onTriggered: MaterialBrowserBackend.rootView.addMaterialToContentLibrary(root.targetIndex) } StudioControls.MenuItem { diff --git a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp index 710bd866628..d907e616524 100644 --- a/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp +++ b/src/plugins/qmldesigner/components/contentlibrary/contentlibraryview.cpp @@ -720,7 +720,7 @@ void ContentLibraryView::addLibItem(const ModelNode &node, const QPixmap &iconPi bundlePath = Utils::FilePath::fromString(Paths::bundlesPathSetting() + "/User/3d/"); m_bundleId = compUtils.user3DBundleId(); } else { - qWarning() << __FUNCTION__ << "Unsuppported node type"; + qWarning() << __FUNCTION__ << "Unsupported node type"; return; } diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp index 7145f279675..aa5f0a50cc9 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp @@ -371,10 +371,12 @@ void MaterialBrowserWidget::focusMaterialSection(bool focusMatSec) } } -void MaterialBrowserWidget::addMaterialToContentLibrary(const QVariant &material) +void MaterialBrowserWidget::addMaterialToContentLibrary(int idx) { + ModelNode mat = m_materialBrowserModel->materialAt(idx); + QTC_ASSERT(mat, return); + QmlDesignerPlugin::instance()->mainWidget()->showDockWidget("ContentLibrary"); - ModelNode mat = material.value(); m_materialBrowserView->emitCustomNotification("add_material_to_content_lib", {mat}, {m_previewImageProvider->getPixmap(mat)}); // to ContentLibrary } diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.h b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.h index 0070be56c27..df3e6685c1f 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.h +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.h @@ -63,7 +63,7 @@ public: Q_INVOKABLE void acceptAssetsDropOnMaterial(int matIndex, const QList &urls); Q_INVOKABLE void acceptTextureDropOnMaterial(int matIndex, const QString &texId); Q_INVOKABLE void focusMaterialSection(bool focusMatSec); - Q_INVOKABLE void addMaterialToContentLibrary(const QVariant &material); + Q_INVOKABLE void addMaterialToContentLibrary(int idx); Q_INVOKABLE void importMaterial(); Q_INVOKABLE void exportMaterial(int idx); Q_INVOKABLE void addQtQuick3D();