void QContinuingAnimationGroupJob::updateState(QAbstractAnimationJob::State newState, QAbstractAnimationJob::State oldState) { QAnimationGroupJob::updateState(newState, oldState); switch (newState) { case Stopped: for (QAbstractAnimationJob *animation = firstChild(); animation; animation = animation->nextSibling()) animation->stop(); break; case Paused: for (QAbstractAnimationJob *animation = firstChild(); animation; animation = animation->nextSibling()) if (animation->isRunning()) animation->pause(); break; case Running: if (!firstChild()) { stop(); return; } for (QAbstractAnimationJob *animation = firstChild(); animation; animation = animation->nextSibling()) { resetUncontrolledAnimationFinishTime(animation); animation->setDirection(m_direction); animation->start(); } break; } }
void QContinuingAnimationGroupJob::updateDirection(QAbstractAnimationJob::Direction direction) { if (!isStopped()) { for (QAbstractAnimationJob *animation = firstChild(); animation; animation = animation->nextSibling()) { animation->setDirection(direction); } } }