diff options
Diffstat (limited to 'src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp')
-rw-r--r-- | src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp index ac792f64709..0d05b12d6a1 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp @@ -29,6 +29,7 @@ #include "materialbrowserwidget.h" #include "materialbrowsermodel.h" #include "nodeabstractproperty.h" +#include "nodemetainfo.h" #include "qmlobjectnode.h" #include "variantproperty.h" @@ -43,7 +44,6 @@ namespace QmlDesigner { MaterialBrowserView::MaterialBrowserView(QObject *parent) : AbstractView(parent) - {} MaterialBrowserView::~MaterialBrowserView() @@ -91,14 +91,16 @@ WidgetInfo MaterialBrowserView::widgetInfo() }); connect(matBrowserModel, &MaterialBrowserModel::pasteMaterialPropertiesTriggered, this, - [&] (const ModelNode &material, const QList<AbstractProperty> &props) { + [&] (const ModelNode &material, const QList<AbstractProperty> &props, bool all) { QmlObjectNode mat(material); executeInTransaction(__FUNCTION__, [&] { - // remove current properties - const PropertyNameList propNames = material.propertyNames(); - for (const PropertyName &propName : propNames) { - if (propName != "objectName") - mat.removeProperty(propName); + if (all) { // all material properties copied + // remove current properties + const PropertyNameList propNames = material.propertyNames(); + for (const PropertyName &propName : propNames) { + if (propName != "objectName") + mat.removeProperty(propName); + } } // apply pasted properties @@ -126,6 +128,10 @@ void MaterialBrowserView::modelAttached(Model *model) { AbstractView::modelAttached(model); + QString matPropsPath = model->metaInfo("QtQuick3D.Material").importDirectoryPath() + + "/designer/propertyGroups.json"; + m_widget->materialBrowserModel()->loadPropertyGroups(matPropsPath); + m_widget->clearSearchFilter(); m_widget->materialBrowserModel()->setHasMaterialRoot(rootModelNode().isSubclassOf("QtQuick3D.Material")); m_hasQuick3DImport = model->hasImport("QtQuick3D"); |