From 29284c0b21408131b280744f58b78b2792d6a826 Mon Sep 17 00:00:00 2001 From: TrickyLeifa Date: Thu, 23 May 2024 00:02:07 +0200 Subject: Removed theme submodule, ... * Removed theme submodule. * This should be handled by the CI. * Fixed effects not disappearing when they should (cull / repeat) --- src/animationlayer.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src/animationlayer.cpp') diff --git a/src/animationlayer.cpp b/src/animationlayer.cpp index a21e20c4..708aef26 100644 --- a/src/animationlayer.cpp +++ b/src/animationlayer.cpp @@ -143,6 +143,11 @@ void AnimationLayer::jumpToFrame(int number) } } +bool AnimationLayer::isPlayOnce() +{ + return m_play_once; +} + void AnimationLayer::setPlayOnce(bool enabled) { m_play_once = enabled; @@ -324,6 +329,7 @@ void AnimationLayer::frameTicker() return; } + stopPlayback(); return; } @@ -595,11 +601,20 @@ void BackgroundAnimationLayer::loadAndPlayAnimation(QString fileName) } #endif - setFileName(file_path); + bool is_different_file = file_path != this->fileName(); + if (is_different_file) + { + setFileName(file_path); + } + VPath design_path = ao_app->get_background_path("design.ini"); setTransformationMode(ao_app->get_scaling(ao_app->read_design_ini("scaling", design_path))); setStretchToFit(ao_app->read_design_ini("stretch", design_path).startsWith("true")); - startPlayback(); + + if (is_different_file) + { + startPlayback(); + } } SplashAnimationLayer::SplashAnimationLayer(AOApplication *ao_app, QWidget *parent) @@ -640,7 +655,7 @@ void EffectAnimationLayer::setHideWhenStopped(bool enabled) void EffectAnimationLayer::maybeHide() { - if (m_hide_when_stopped) + if (m_hide_when_stopped && isPlayOnce()) { hide(); } -- cgit