diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2019-04-29 16:39:55 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2019-04-30 12:37:27 +0000 |
commit | db9b1590c4d866504ee129e07339751f69128071 (patch) | |
tree | 180585095e8c814f88716178e802d41360bf4288 | |
parent | c881391ce3cde8978bd13ca166cc13b5068b1901 (diff) |
Refresh timeline when keyframe is changed
Task-number: QDS-231
Change-Id: Ic7be286d7245254f5491c40bbc208c76ea17690f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
-rw-r--r-- | src/imports/timeline/qquickkeyframe.cpp | 2 | ||||
-rw-r--r-- | src/imports/timeline/qquicktimeline.cpp | 11 | ||||
-rw-r--r-- | src/imports/timeline/qquicktimeline_p.h | 2 |
3 files changed, 12 insertions, 3 deletions
diff --git a/src/imports/timeline/qquickkeyframe.cpp b/src/imports/timeline/qquickkeyframe.cpp index fc050f3..a8c72c4 100644 --- a/src/imports/timeline/qquickkeyframe.cpp +++ b/src/imports/timeline/qquickkeyframe.cpp @@ -264,7 +264,7 @@ void QQuickKeyframeGroup::reset() auto *timeline = qobject_cast<QQuickTimeline*>(parent()); if (timeline) - setProperty(timeline->currentFrame()); + timeline->reevaulate(); } void QQuickKeyframeGroup::setupKeyframes() diff --git a/src/imports/timeline/qquicktimeline.cpp b/src/imports/timeline/qquicktimeline.cpp index 938952d..ec1d561 100644 --- a/src/imports/timeline/qquicktimeline.cpp +++ b/src/imports/timeline/qquicktimeline.cpp @@ -234,11 +234,18 @@ void QQuickTimeline::setCurrentFrame(qreal frame) return; d->currentFrame = frame; + reevaulate(); + + emit currentFrameChanged(); +} + +void QQuickTimeline::reevaulate() +{ + Q_D(QQuickTimeline); + if (d->componentComplete && d->enabled) for (auto keyFrames : d->keyframes) keyFrames->setProperty(d->currentFrame); - - emit currentFrameChanged(); } void QQuickTimeline::init() diff --git a/src/imports/timeline/qquicktimeline_p.h b/src/imports/timeline/qquicktimeline_p.h index 85f5b93..e73d0e0 100644 --- a/src/imports/timeline/qquicktimeline_p.h +++ b/src/imports/timeline/qquicktimeline_p.h @@ -84,6 +84,8 @@ public: qreal currentFrame() const; void setCurrentFrame(qreal); + void reevaulate(); + void init(); void reset(); |