forked from qt-creator/qt-creator
QmlDesigner: Add "Apply as light probe" option to material browser
Textures in material browser can now be applied as light probes to the active SceneEnvironment node. Also changed the logic for resolving the active SceneEnvironment node to prefer a currently single-selected SceneEnvironment node over the SceneEnvironment node associated with currently active 3D scene. Fixes: QDS-8472 Change-Id: I9a3a7b9c2fad3c8120e85ade507a7ea66de19f1d Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
@@ -214,6 +214,20 @@ void MaterialBrowserTexturesModel::setHasSingleModelSelection(bool b)
|
||||
emit hasSingleModelSelectionChanged();
|
||||
}
|
||||
|
||||
bool MaterialBrowserTexturesModel::hasSceneEnv() const
|
||||
{
|
||||
return m_hasSceneEnv;
|
||||
}
|
||||
|
||||
void MaterialBrowserTexturesModel::setHasSceneEnv(bool b)
|
||||
{
|
||||
if (b == m_hasSceneEnv)
|
||||
return;
|
||||
|
||||
m_hasSceneEnv = b;
|
||||
emit hasSceneEnvChanged();
|
||||
}
|
||||
|
||||
void MaterialBrowserTexturesModel::resetModel()
|
||||
{
|
||||
beginResetModel();
|
||||
@@ -273,4 +287,18 @@ void MaterialBrowserTexturesModel::openTextureEditor()
|
||||
QmlDesignerPlugin::instance()->mainWidget()->showDockWidget("TextureEditor", true);
|
||||
}
|
||||
|
||||
void MaterialBrowserTexturesModel::updateSceneEnvState()
|
||||
{
|
||||
emit updateSceneEnvStateRequested();
|
||||
}
|
||||
|
||||
void MaterialBrowserTexturesModel::applyAsLightProbe(qint64 internalId)
|
||||
{
|
||||
int idx = m_textureIndexHash.value(internalId);
|
||||
if (idx != -1) {
|
||||
ModelNode tex = m_textureList.at(idx);
|
||||
emit applyAsLightProbeRequested(tex);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace QmlDesigner
|
||||
|
||||
Reference in New Issue
Block a user