diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp index 5caf0169eec..5349fc26ce7 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp @@ -264,12 +264,17 @@ void MaterialBrowserView::refreshModel(bool updateImages) m_widget->materialBrowserTexturesModel()->setTextures(textures); m_widget->materialBrowserModel()->setHasMaterialLibrary(matLib.isValid()); - if (updateImages) { - for (const ModelNode &node : std::as_const(materials)) - m_previewRequests.insert(node); - if (!m_previewRequests.isEmpty()) - m_previewTimer.start(0); - } + if (updateImages) + updateMaterialsPreview(); +} + +void MaterialBrowserView::updateMaterialsPreview() +{ + const QList materials = m_widget->materialBrowserModel()->materials(); + for (const ModelNode &node : materials) + m_previewRequests.insert(node); + if (!m_previewRequests.isEmpty()) + m_previewTimer.start(0); } bool MaterialBrowserView::isMaterial(const ModelNode &node) const @@ -540,7 +545,8 @@ void MaterialBrowserView::active3DSceneChanged(qint32 sceneId) void MaterialBrowserView::currentStateChanged([[maybe_unused]] const ModelNode &node) { - refreshModel(true); + m_widget->materialBrowserTexturesModel()->updateAllTexturesSources(); + updateMaterialsPreview(); } void MaterialBrowserView::instancesCompleted(const QVector &completedNodeList) diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.h b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.h index 2e0227be413..297487ae66f 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.h +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.h @@ -66,6 +66,7 @@ protected: private: void refreshModel(bool updateImages); + void updateMaterialsPreview(); bool isMaterial(const ModelNode &node) const; bool isTexture(const ModelNode &node) const; void loadPropertyGroups();