diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsertexturesmodel.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsertexturesmodel.cpp index 827fadcab6d..66762114322 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsertexturesmodel.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsertexturesmodel.cpp @@ -164,6 +164,13 @@ void MaterialBrowserTexturesModel::deleteSelectedTexture() deleteTexture(m_selectedIndex); } +void MaterialBrowserTexturesModel::updateTextureSource(const ModelNode &texture) +{ + int idx = textureIndex(texture); + if (idx != -1) + emit dataChanged(index(idx, 0), index(idx, 0), {roleNames().key("textureSource")}); +} + void MaterialBrowserTexturesModel::updateSelectedTexture() { selectTexture(m_selectedIndex, true); diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsertexturesmodel.h b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsertexturesmodel.h index afff53e6ae3..3d02884cae3 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsertexturesmodel.h +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsertexturesmodel.h @@ -34,6 +34,7 @@ public: void removeTexture(const ModelNode &texture); void deleteSelectedTexture(); void updateSelectedTexture(); + void updateTextureSource(const ModelNode &texture); int textureIndex(const ModelNode &material) const; ModelNode textureAt(int idx) const; diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp index b7f493c6154..5af32bce600 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp @@ -279,6 +279,8 @@ void MaterialBrowserView::variantPropertiesChanged(const QList if (isMaterial(node) && property.name() == "objectName") m_widget->materialBrowserModel()->updateMaterialName(node); + else if (isTexture(node) && property.name() == "source") + m_widget->materialBrowserTexturesModel()->updateTextureSource(node); } }