forked from qt-creator/qt-creator
QmlDesigner: Update textures sources on state change
Also small relevant fixes. Fixes: QDS-8523 Change-Id: I8125b124024ee18de8c70afbc9f633c3b9265e82 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
@@ -8,7 +8,6 @@
|
||||
#include "materialbrowsermodel.h"
|
||||
#include "materialbrowsertexturesmodel.h"
|
||||
#include "materialbrowserwidget.h"
|
||||
#include "modelnodeoperations.h"
|
||||
#include "nodeabstractproperty.h"
|
||||
#include "nodemetainfo.h"
|
||||
#include "qmlobjectnode.h"
|
||||
@@ -327,10 +326,15 @@ void MaterialBrowserView::variantPropertiesChanged(const QList<VariantProperty>
|
||||
for (const VariantProperty &property : propertyList) {
|
||||
ModelNode node(property.parentModelNode());
|
||||
|
||||
if (isMaterial(node) && property.name() == "objectName")
|
||||
if (isMaterial(node) && property.name() == "objectName") {
|
||||
m_widget->materialBrowserModel()->updateMaterialName(node);
|
||||
else if (isTexture(node) && property.name() == "source")
|
||||
m_widget->materialBrowserTexturesModel()->updateTextureSource(node);
|
||||
} else if (property.name() == "source") {
|
||||
QmlObjectNode selectedTex = m_widget->materialBrowserTexturesModel()->selectedTexture();
|
||||
if (isTexture(node))
|
||||
m_widget->materialBrowserTexturesModel()->updateTextureSource(node);
|
||||
else if (selectedTex.propertyChangeForCurrentState() == node)
|
||||
m_widget->materialBrowserTexturesModel()->updateTextureSource(selectedTex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -483,6 +487,11 @@ void MaterialBrowserView::active3DSceneChanged(qint32 sceneId)
|
||||
m_sceneId = sceneId;
|
||||
}
|
||||
|
||||
void MaterialBrowserView::currentStateChanged([[maybe_unused]] const ModelNode &node)
|
||||
{
|
||||
m_widget->materialBrowserTexturesModel()->updateAllTexturesSources();
|
||||
}
|
||||
|
||||
void MaterialBrowserView::instancesCompleted(const QVector<ModelNode> &completedNodeList)
|
||||
{
|
||||
for (const ModelNode &node : completedNodeList) {
|
||||
|
||||
Reference in New Issue
Block a user