17void QContinuingAnimationGroupJob::updateCurrentTime(
int )
19 Q_ASSERT(!m_children.isEmpty());
20 for (QAbstractAnimationJob *animation : m_children) {
21 if (animation->state() == state()) {
22 RETURN_IF_DELETED(animation->setCurrentTime(m_currentTime));
27void QContinuingAnimationGroupJob::updateState(QAbstractAnimationJob::State newState,
28 QAbstractAnimationJob::State oldState)
30 QAnimationGroupJob::updateState(newState, oldState);
34 for (QAbstractAnimationJob *animation : m_children)
38 for (QAbstractAnimationJob *animation : m_children)
39 if (animation->isRunning())
43 if (m_children.isEmpty()) {
47 for (QAbstractAnimationJob *animation : m_children) {
48 RETURN_IF_DELETED(resetUncontrolledAnimationFinishTime(animation));
49 animation->setDirection(m_direction);
50 RETURN_IF_DELETED(animation->start());
64void QContinuingAnimationGroupJob::uncontrolledAnimationFinished(QAbstractAnimationJob *animation)
66 Q_ASSERT(animation && (animation->duration() == -1));
67 int uncontrolledRunningCount = 0;
69 for (QAbstractAnimationJob *child : m_children) {
70 if (child == animation)
71 setUncontrolledAnimationFinishTime(animation, animation->currentTime());
72 else if (uncontrolledAnimationFinishTime(child) == -1)
73 ++uncontrolledRunningCount;
76 if (uncontrolledRunningCount > 0)
79 setUncontrolledAnimationFinishTime(
this, currentTime());