diff options
Diffstat (limited to 'src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h')
-rw-r--r-- | src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h index 64b58c9be9..8635c1f1b0 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.h @@ -70,6 +70,15 @@ public: Q_INVOKABLE void addNewMaterial(); Q_INVOKABLE void applyToSelected(qint64 internalId, bool add = false); Q_INVOKABLE void openMaterialEditor(); + Q_INVOKABLE bool isCopiedMaterialValid() const; + + struct PropertyCopyData + { + PropertyName name; + QVariant value; + bool isBinding = false; + bool isValid = false; + }; signals: void isEmptyChanged(); @@ -83,9 +92,10 @@ signals: void applyToSelectedTriggered(const QmlDesigner::ModelNode &material, bool add = false); void addNewMaterialTriggered(); void duplicateMaterialTriggered(const QmlDesigner::ModelNode &material); - void pasteMaterialPropertiesTriggered(const QmlDesigner::ModelNode &material, - const QList<QmlDesigner::AbstractProperty> &props, - bool all); + void pasteMaterialPropertiesTriggered( + const QmlDesigner::ModelNode &material, + const QList<QmlDesigner::MaterialBrowserModel::PropertyCopyData> &props, + bool all); private: bool isMaterialVisible(int idx) const; @@ -96,7 +106,8 @@ private: QStringList m_defaultMaterialSections; QStringList m_principledMaterialSections; QStringList m_customMaterialSections; - QList<AbstractProperty> m_copiedMaterialProps; + ModelNode m_copiedMaterial; + QList<PropertyCopyData> m_copiedMaterialProps; QHash<qint32, int> m_materialIndexHash; // internalId -> index QJsonObject m_propertyGroupsObj; |