summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Ritt <ritt.ks@gmail.com>2019-04-09 16:50:29 +0300
committerKonstantin Ritt <ritt.ks@gmail.com>2019-04-09 16:51:48 +0000
commit863cbcf01813192a07bc8656b5b2a7bb7beb5b41 (patch)
tree6553370283252389772b7f3a8dc4f972e21e5ee9
parentba71d45911fab14763cad4c9aca4798f17a4fbff (diff)
LottieAnimation: better use of the QQuickItem's componentComplete()
and clean-up the related code a little bit Change-Id: Icc6e7fe48184609d69273ce81f0826f3f0250d01 Reviewed-by: Rebecca Worledge <rebecca.worledge@theqtcompany.com>
-rw-r--r--src/imports/lottieanimation.cpp5
-rw-r--r--src/imports/lottieanimation.h5
2 files changed, 4 insertions, 6 deletions
diff --git a/src/imports/lottieanimation.cpp b/src/imports/lottieanimation.cpp
index 58eb500..3cf0c1c 100644
--- a/src/imports/lottieanimation.cpp
+++ b/src/imports/lottieanimation.cpp
@@ -175,9 +175,8 @@ LottieAnimation::~LottieAnimation()
void LottieAnimation::componentComplete()
{
- QQuickItem::componentComplete();
+ QQuickPaintedItem::componentComplete();
- m_initialized = true;
if (m_source.length())
loadSource(m_source);
}
@@ -282,7 +281,7 @@ void LottieAnimation::setSource(const QString &source)
m_source = source;
emit sourceChanged();
- if (m_initialized)
+ if (isComponentComplete())
loadSource(source);
}
}
diff --git a/src/imports/lottieanimation.h b/src/imports/lottieanimation.h
index 461b358..13bf885 100644
--- a/src/imports/lottieanimation.h
+++ b/src/imports/lottieanimation.h
@@ -74,8 +74,6 @@ public:
explicit LottieAnimation(QQuickItem *parent = nullptr);
~LottieAnimation() override;
- void componentComplete() override;
-
void paint(QPainter *painter) override;
Status status() const;
@@ -127,6 +125,8 @@ protected slots:
void renderNextFrame();
protected:
+ void componentComplete() override;
+
void setStatus(Status status);
void setStartFrame(int startFrame);
@@ -156,7 +156,6 @@ protected:
void reset();
private:
- bool m_initialized = false;
Quality m_quality = MediumQuality;
bool m_autoPlay = true;
int m_loops = 1;