diff options
author | Jens Bache-Wiig <jens.bache-wiig@digia.com> | 2012-11-02 14:18:54 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-11-02 18:07:35 +0100 |
commit | 28f36ebcc246c90f82355bb0a40b3cca07913fae (patch) | |
tree | eedb5e916664235d8234906907227a1586e86755 | |
parent | faa37591206268c98dda2b22d7bfaa7992bd1c4b (diff) |
Fix progressbar animation on macstyle
The animation is not just supposed to run when indeterminate, but
also while it is progressing.
Change-Id: If176bd230c2f6f83781e01ea77526c24d54c8477
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
-rw-r--r-- | src/widgets/styles/qmacstyle_mac.mm | 3 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qprogressbar/tst_qprogressbar.cpp | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index b95765031c..dbd4cf2c95 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -4357,7 +4357,8 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter tdi.min = pb->minimum; tdi.value = pb->progress; tdi.attributes = vertical ? 0 : kThemeTrackHorizontal; - if (isIndeterminate) { + + if (isIndeterminate || tdi.value < tdi.max) { if (QProgressStyleAnimation *animation = qobject_cast<QProgressStyleAnimation*>(d->animation(opt->styleObject))) tdi.trackInfo.progress.phase = animation->animationStep(); else diff --git a/tests/auto/widgets/widgets/qprogressbar/tst_qprogressbar.cpp b/tests/auto/widgets/widgets/qprogressbar/tst_qprogressbar.cpp index 7024da9dd4..9ec249cae0 100644 --- a/tests/auto/widgets/widgets/qprogressbar/tst_qprogressbar.cpp +++ b/tests/auto/widgets/widgets/qprogressbar/tst_qprogressbar.cpp @@ -58,7 +58,9 @@ private slots: void text(); void format(); void setValueRepaint(); +#ifndef Q_OS_MAC void setMinMaxRepaint(); +#endif void sizeHint(); void formatedText_data(); void formatedText(); @@ -212,6 +214,10 @@ void tst_QProgressBar::setValueRepaint() } } +// This test is invalid on Mac, since progressbars +// are animated there + +#ifndef Q_OS_MAC void tst_QProgressBar::setMinMaxRepaint() { ProgressBar pbar; @@ -247,6 +253,7 @@ void tst_QProgressBar::setMinMaxRepaint() QTRY_VERIFY(pbar.repainted); } } +#endif //Q_OS_MAC void tst_QProgressBar::sizeHint() { |