Fix particles play button state when scene changes

Add play button state to the scene state.

Task-number: QDS-5499
Change-Id: Id3035de439aa80fd782348cf89a1d8456a7dd006
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Antti Määttä
2021-11-15 14:23:06 +02:00
parent e6e69ad07b
commit 96db947c81
2 changed files with 7 additions and 3 deletions

View File

@@ -1994,11 +1994,9 @@ void Qt5InformationNodeInstanceServer::view3DAction(const View3DActionCommand &c
updatedState.insert("showGrid", command.isEnabled());
break;
#ifdef QUICK3D_PARTICLES_MODULE
case View3DActionCommand::Edit3DParticleModeToggle:
updatedState.insert("enableParticleViewMode", command.isEnabled());
break;
case View3DActionCommand::ParticlesPlay:
m_particleAnimationPlaying = command.isEnabled();
updatedState.insert("particlePlay", command.isEnabled());
if (m_particleAnimationPlaying) {
m_particleAnimationDriver->reset();
m_particleAnimationDriver->restart();

View File

@@ -108,6 +108,7 @@ void Edit3DView::updateActiveScene3D(const QVariantMap &sceneState)
const QString orientationKey = QStringLiteral("globalOrientation");
const QString editLightKey = QStringLiteral("showEditLight");
const QString gridKey = QStringLiteral("showGrid");
const QString particlesPlayKey = QStringLiteral("particlePlay");
if (sceneState.contains(sceneKey)) {
qint32 newActiveScene = sceneState[sceneKey].value<qint32>();
@@ -151,6 +152,11 @@ void Edit3DView::updateActiveScene3D(const QVariantMap &sceneState)
m_showGridAction->action()->setChecked(sceneState[gridKey].toBool());
else
m_showGridAction->action()->setChecked(false);
if (sceneState.contains(particlesPlayKey))
m_particlesPlayAction->action()->setChecked(sceneState[particlesPlayKey].toBool());
else
m_particlesPlayAction->action()->setChecked(true);
}
void Edit3DView::modelAttached(Model *model)