QmlDesigner: Update texture preview when source change

Fixes: QDS-8386
Change-Id: Ifaa6effc040398452b022080257bbacbfb14efdf
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
Mahmoud Badri
2022-11-21 16:45:03 +02:00
parent 4b6b81cd76
commit a04f1590de
3 changed files with 10 additions and 0 deletions

View File

@@ -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);

View File

@@ -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;

View File

@@ -279,6 +279,8 @@ void MaterialBrowserView::variantPropertiesChanged(const QList<VariantProperty>
if (isMaterial(node) && property.name() == "objectName")
m_widget->materialBrowserModel()->updateMaterialName(node);
else if (isTexture(node) && property.name() == "source")
m_widget->materialBrowserTexturesModel()->updateTextureSource(node);
}
}