aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickanimation_p_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/util/qquickanimation_p_p.h')
-rw-r--r--src/quick/util/qquickanimation_p_p.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/quick/util/qquickanimation_p_p.h b/src/quick/util/qquickanimation_p_p.h
index a12a35f070..49f26726ee 100644
--- a/src/quick/util/qquickanimation_p_p.h
+++ b/src/quick/util/qquickanimation_p_p.h
@@ -31,7 +31,7 @@
#include <QDebug>
#include <private/qobject_p.h>
-
+#include <QtCore/qpointer.h>
QT_BEGIN_NAMESPACE
@@ -134,7 +134,7 @@ private:
T *m_instance;
};
-class Q_QUICK_PRIVATE_EXPORT QQuickAbstractAnimationPrivate : public QObjectPrivate, public QAnimationJobChangeListener
+class Q_QUICK_EXPORT QQuickAbstractAnimationPrivate : public QObjectPrivate, public QAnimationJobChangeListener
{
Q_DECLARE_PUBLIC(QQuickAbstractAnimation)
public:
@@ -164,6 +164,7 @@ public:
QAbstractAnimationJob* animationInstance;
static QQmlProperty createProperty(QObject *obj, const QString &str, QObject *infoObj, QString *errorMessage = nullptr);
+ void animationGroupDirty();
};
class QQuickPauseAnimationPrivate : public QQuickAbstractAnimationPrivate
@@ -217,7 +218,7 @@ class QQuickAnimationGroupPrivate : public QQuickAbstractAnimationPrivate
Q_DECLARE_PUBLIC(QQuickAnimationGroup)
public:
QQuickAnimationGroupPrivate()
- : QQuickAbstractAnimationPrivate() {}
+ : QQuickAbstractAnimationPrivate(), animationDirty(false) {}
static void append_animation(QQmlListProperty<QQuickAbstractAnimation> *list, QQuickAbstractAnimation *role);
static QQuickAbstractAnimation *at_animation(QQmlListProperty<QQuickAbstractAnimation> *list, qsizetype index);
@@ -227,9 +228,13 @@ public:
QQuickAbstractAnimation *role);
static void removeLast_animation(QQmlListProperty<QQuickAbstractAnimation> *list);
QList<QQuickAbstractAnimation *> animations;
+
+ void restartFromCurrentLoop();
+ void animationCurrentLoopChanged(QAbstractAnimationJob *job) override;
+ bool animationDirty: 1;
};
-class Q_QUICK_PRIVATE_EXPORT QQuickPropertyAnimationPrivate : public QQuickAbstractAnimationPrivate
+class Q_QUICK_EXPORT QQuickPropertyAnimationPrivate : public QQuickAbstractAnimationPrivate
{
Q_DECLARE_PUBLIC(QQuickPropertyAnimation)
public:
@@ -245,7 +250,7 @@ public:
QObject *target;
QString propertyName;
QString properties;
- QList<QObject *> targets;
+ QList<QPointer<QObject>> targets;
QList<QObject *> exclude;
QString defaultProperties;