diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2011-02-16 09:29:50 (GMT) |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2011-02-16 10:32:05 (GMT) |
commit | 89b754d30eaa5c9c57fb50bc563a3c60cc314c4e (patch) | |
tree | b065a7ab39a101d6beed6867acfd59ce1748865c /src/corelib/concurrent | |
parent | 220efa578b7d032257c7fa95aaf1295330fd474e (diff) | |
download | Qt-89b754d30eaa5c9c57fb50bc563a3c60cc314c4e.zip Qt-89b754d30eaa5c9c57fb50bc563a3c60cc314c4e.tar.gz Qt-89b754d30eaa5c9c57fb50bc563a3c60cc314c4e.tar.bz2 |
Use QElapsedTimer in QFutureInterface.
QElapsedTimer can also keep its on vlaid/invalid state, so we don't
need to keep an additional boolean.
Task-number: https://projects.maemo.org/bugzilla/show_bug.cgi?id=227660
Reviewed-by: Morten Sørvig
Diffstat (limited to 'src/corelib/concurrent')
-rw-r--r-- | src/corelib/concurrent/qfutureinterface.cpp | 9 | ||||
-rw-r--r-- | src/corelib/concurrent/qfutureinterface_p.h | 5 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/corelib/concurrent/qfutureinterface.cpp b/src/corelib/concurrent/qfutureinterface.cpp index 6256944..627d0c7 100644 --- a/src/corelib/concurrent/qfutureinterface.cpp +++ b/src/corelib/concurrent/qfutureinterface.cpp @@ -421,9 +421,11 @@ bool QFutureInterfaceBase::referenceCountIsOne() const QFutureInterfaceBasePrivate::QFutureInterfaceBasePrivate(QFutureInterfaceBase::State initialState) : refCount(1), m_progressValue(0), m_progressMinimum(0), m_progressMaximum(0), - state(initialState), progressTimeStarted(false), pendingResults(0), + state(initialState), pendingResults(0), manualProgress(false), m_expectedResultCount(0), runnable(0) -{ } +{ + progressTime.invalidate(); +} int QFutureInterfaceBasePrivate::internal_resultCount() const { @@ -455,12 +457,11 @@ bool QFutureInterfaceBasePrivate::internal_updateProgress(int progress, m_progressValue = progress; m_progressText = progressText; - if (progressTimeStarted == true && m_progressValue != m_progressMaximum) // make sure the first and last steps are emitted. + if (progressTime.isValid() && m_progressValue != m_progressMaximum) // make sure the first and last steps are emitted. if (progressTime.elapsed() < (1000 / MaxProgressEmitsPerSecond)) return false; progressTime.start(); - progressTimeStarted = true; return true; } diff --git a/src/corelib/concurrent/qfutureinterface_p.h b/src/corelib/concurrent/qfutureinterface_p.h index 7f93c75..538947e 100644 --- a/src/corelib/concurrent/qfutureinterface_p.h +++ b/src/corelib/concurrent/qfutureinterface_p.h @@ -53,7 +53,7 @@ // We mean it. // -#include <QtCore/qdatetime.h> +#include <QtCore/qelapsedtimer.h> #include <QtCore/qcoreevent.h> #include <QtCore/qlist.h> #include <QtCore/qwaitcondition.h> @@ -137,8 +137,7 @@ public: int m_progressMinimum; int m_progressMaximum; QFutureInterfaceBase::State state; - QTime progressTime; - bool progressTimeStarted; + QElapsedTimer progressTime; QWaitCondition pausedWaitCondition; int pendingResults; QtConcurrent::ResultStoreBase m_results; |