aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2013-09-04 16:04:43 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-04 16:55:53 +0200
commit81b5f19fec61bed7f410b7099482df6f806e5505 (patch)
tree45d1ed2ab867ee0e67a7ce5a79a356a0930a20b8 /src
parentc42c767acb11d99def9194f1cfc295fb5abd3379 (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.cpp2
-rw-r--r--src/winextras/qwintaskbarprogress.cpp9
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);
}
}