QmlDesigner: Refresh model on node change in Texture Editor

Fixes: QDS-14639
Change-Id: I27404f9fac9ed08f3f5689cbce2c4b32f539a5de
Reviewed-by: Ali Kianian <ali.kianian@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
Shrief Gabr
2025-02-22 03:49:36 +02:00
parent 3e42c0a99d
commit 9d5b26fbe3
4 changed files with 16 additions and 1 deletions

View File

@@ -284,4 +284,9 @@ void TextureEditorQmlBackend::setValueforAuxiliaryProperties(const QmlObjectNode
setValue(qmlObjectNode, propertyName, qmlObjectNode.modelNode().auxiliaryDataWithDefault(key));
}
void TextureEditorQmlBackend::refreshBackendModel()
{
m_backendModelNode.refresh();
}
} // namespace QmlDesigner

View File

@@ -56,6 +56,7 @@ public:
void emitSelectionChanged();
void setValueforAuxiliaryProperties(const QmlObjectNode &qmlObjectNode, AuxiliaryDataKeyView key);
void refreshBackendModel();
private:
void createPropertyEditorValue(const QmlObjectNode &qmlObjectNode,

View File

@@ -805,6 +805,15 @@ void TextureEditorView::nodeRemoved([[maybe_unused]] const ModelNode &removedNod
{
if (m_selectedTextureChanged)
asyncResetView();
m_qmlBackEnd->refreshBackendModel();
}
void TextureEditorView::nodeIdChanged([[maybe_unused]] const ModelNode &node,
[[maybe_unused]] const QString &newId,
[[maybe_unused]] const QString &oldId)
{
m_qmlBackEnd->refreshBackendModel();
}
bool TextureEditorView::hasWidget() const

View File

@@ -57,7 +57,7 @@ public:
void nodeRemoved(const ModelNode &removedNode,
const NodeAbstractProperty &parentProperty,
PropertyChangeFlags propertyChange) override;
void nodeIdChanged(const ModelNode& node, const QString& newId, const QString& oldId) override;
void resetView();
void currentStateChanged(const ModelNode &node) override;
void instancePropertyChanged(const QList<QPair<ModelNode, PropertyName> > &propertyList) override;