diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2013-09-04 16:04:43 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-04 16:55:53 +0200 |
commit | 81b5f19fec61bed7f410b7099482df6f806e5505 (patch) | |
tree | 45d1ed2ab867ee0e67a7ce5a79a356a0930a20b8 /src | |
parent | c42c767acb11d99def9194f1cfc295fb5abd3379 (diff) |
Emit QWinTaskbarProgress::minimum/maximumChanged()
Ensures that the progress indicator turns correctly to an indeterminate
indicator when minimum and maximum are both changed to 0.
Change-Id: Ibe3ba98f92f80a462983e6894b60029c8a4200c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/winextras/qwintaskbarbutton.cpp | 2 | ||||
-rw-r--r-- | src/winextras/qwintaskbarprogress.cpp | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/winextras/qwintaskbarbutton.cpp b/src/winextras/qwintaskbarbutton.cpp index 3696a95..268f6d9 100644 --- a/src/winextras/qwintaskbarbutton.cpp +++ b/src/winextras/qwintaskbarbutton.cpp @@ -259,6 +259,8 @@ QWinTaskbarProgress *QWinTaskbarButton::progress() const QWinTaskbarButton *that = const_cast<QWinTaskbarButton *>(this); QWinTaskbarProgress *pbar = new QWinTaskbarProgress(that); connect(pbar, SIGNAL(valueChanged(int)), this, SLOT(_q_updateProgress())); + connect(pbar, SIGNAL(minimumChanged(int)), this, SLOT(_q_updateProgress())); + connect(pbar, SIGNAL(maximumChanged(int)), this, SLOT(_q_updateProgress())); connect(pbar, SIGNAL(visibilityChanged(bool)), this, SLOT(_q_updateProgress())); connect(pbar, SIGNAL(pausedChanged(bool)), this, SLOT(_q_updateProgress())); connect(pbar, SIGNAL(stateChanged(QWinTaskbarProgress::ProgressState)), this, SLOT(_q_updateProgress())); diff --git a/src/winextras/qwintaskbarprogress.cpp b/src/winextras/qwintaskbarprogress.cpp index a2136f1..a851aee 100644 --- a/src/winextras/qwintaskbarprogress.cpp +++ b/src/winextras/qwintaskbarprogress.cpp @@ -235,12 +235,19 @@ void QWinTaskbarProgress::hide() void QWinTaskbarProgress::setRange(int minimum, int maximum) { Q_D(QWinTaskbarProgress); - if (minimum != d->minimum || maximum != d->maximum) { + const bool minChanged = minimum != d->minimum; + const bool maxChanged = maximum != d->maximum; + if (minChanged || maxChanged) { d->minimum = minimum; d->maximum = qMax(minimum, maximum); if (d->value < d->minimum || d->value > d->maximum) reset(); + + if (minChanged) + emit minimumChanged(d->minimum); + if (maxChanged) + emit maximumChanged(d->maximum); } } |