summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qstyleanimation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/styles/qstyleanimation.cpp')
-rw-r--r--src/widgets/styles/qstyleanimation.cpp37
1 files changed, 27 insertions, 10 deletions
diff --git a/src/widgets/styles/qstyleanimation.cpp b/src/widgets/styles/qstyleanimation.cpp
index 6b12ca9540..d81532f8a5 100644
--- a/src/widgets/styles/qstyleanimation.cpp
+++ b/src/widgets/styles/qstyleanimation.cpp
@@ -48,7 +48,7 @@
QT_BEGIN_NAMESPACE
QStyleAnimation::QStyleAnimation(QObject *target) : QAbstractAnimation(),
- _startTime(QTime::currentTime())
+ _delay(0), _duration(-1), _startTime(QTime::currentTime())
{
if (target) {
moveToThread(target->thread());
@@ -61,14 +61,29 @@ QStyleAnimation::~QStyleAnimation()
{
}
+QObject *QStyleAnimation::target() const
+{
+ return parent();
+}
+
int QStyleAnimation::duration() const
{
- return -1;
+ return _duration;
}
-QObject *QStyleAnimation::target() const
+void QStyleAnimation::setDuration(int duration)
{
- return parent();
+ _duration = duration;
+}
+
+int QStyleAnimation::delay() const
+{
+ return _delay;
+}
+
+void QStyleAnimation::setDelay(int delay)
+{
+ _delay = delay;
}
QTime QStyleAnimation::startTime() const
@@ -89,7 +104,7 @@ void QStyleAnimation::updateTarget()
bool QStyleAnimation::isUpdateNeeded() const
{
- return true;
+ return currentTime() > _delay;
}
void QStyleAnimation::updateCurrentTime(int)
@@ -137,11 +152,13 @@ void QProgressStyleAnimation::setSpeed(int speed)
bool QProgressStyleAnimation::isUpdateNeeded() const
{
- int current = animationStep();
- if (_step == -1 || _step != current)
- {
- _step = current;
- return true;
+ if (QStyleAnimation::isUpdateNeeded()) {
+ int current = animationStep();
+ if (_step == -1 || _step != current)
+ {
+ _step = current;
+ return true;
+ }
}
return false;
}