summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorAhmad Samir <a.samirh78@gmail.com>2023-11-18 20:09:49 +0200
committerAhmad Samir <a.samirh78@gmail.com>2024-03-03 19:56:55 +0200
commit577a3dba521f7f69bf6129fcd28184ae288182d9 (patch)
tree5e28ffe662343604cac580188ed2b55fe0b78e0d /src/corelib/kernel
parentbd764cc1ca578759f16fbe292fbe14a243b7d263 (diff)
Q{Chrono}Timer: de-duplicate some code
Q{Chrono}Timer::isActive() has to use isActiveData so that the bindable property is correctly queried. However in other places in the code we can take a shortcut by checking id > 0. So rename QTimerPrivate::isActiveActualCalculation() to make it more palatable and use it throughout the code. Change-Id: I3378233e553fd860d9f105bba013dc9ffc31a2ba Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qchronotimer.cpp8
-rw-r--r--src/corelib/kernel/qtimer.cpp10
-rw-r--r--src/corelib/kernel/qtimer_p.h5
3 files changed, 11 insertions, 12 deletions
diff --git a/src/corelib/kernel/qchronotimer.cpp b/src/corelib/kernel/qchronotimer.cpp
index d67d7ca48f..4cc8ff59fc 100644
--- a/src/corelib/kernel/qchronotimer.cpp
+++ b/src/corelib/kernel/qchronotimer.cpp
@@ -133,7 +133,7 @@ QChronoTimer::QChronoTimer(std::chrono::nanoseconds nsec, QObject *parent)
*/
QChronoTimer::~QChronoTimer()
{
- if (d_func()->id != QTimerPrivate::INV_TIMER) // stop running timer
+ if (d_func()->isActive()) // stop running timer
stop();
}
@@ -187,7 +187,7 @@ int QChronoTimer::id() const
void QChronoTimer::start()
{
auto *d = d_func();
- if (d->id != QTimerPrivate::INV_TIMER) // stop running timer
+ if (d->isActive()) // stop running timer
stop();
const auto id = QObject::startTimer(d->intervalDuration, d->type);
if (id > 0) {
@@ -204,7 +204,7 @@ void QChronoTimer::start()
void QChronoTimer::stop()
{
auto *d = d_func();
- if (d->id != QTimerPrivate::INV_TIMER) {
+ if (d->isActive()) {
QObject::killTimer(d->id);
d->id = QTimerPrivate::INV_TIMER;
d->isActiveData.notify();
@@ -286,7 +286,7 @@ void QChronoTimer::setInterval(std::chrono::nanoseconds nsec)
d->intervalDuration.removeBindingUnlessInWrapper();
const bool intervalChanged = nsec != d->intervalDuration.valueBypassingBindings();
d->intervalDuration.setValueBypassingBindings(nsec);
- if (d->id != QTimerPrivate::INV_TIMER) { // Create new timer
+ if (d->isActive()) { // Create new timer
QObject::killTimer(d->id); // Restart timer
const auto id = QObject::startTimer(nsec, d->type);
if (id > 0) {
diff --git a/src/corelib/kernel/qtimer.cpp b/src/corelib/kernel/qtimer.cpp
index cbeeb97934..e235e30a2d 100644
--- a/src/corelib/kernel/qtimer.cpp
+++ b/src/corelib/kernel/qtimer.cpp
@@ -130,7 +130,7 @@ QTimer::QTimer(QObject *parent)
QTimer::~QTimer()
{
- if (d_func()->id != QTimerPrivate::INV_TIMER) // stop running timer
+ if (d_func()->isActive()) // stop running timer
stop();
}
@@ -191,7 +191,7 @@ int QTimer::timerId() const
void QTimer::start()
{
Q_D(QTimer);
- if (d->id != QTimerPrivate::INV_TIMER) // stop running timer
+ if (d->isActive()) // stop running timer
stop();
const int id = QObject::startTimer(std::chrono::milliseconds{d->inter}, d->type);
if (id > 0) {
@@ -247,7 +247,7 @@ void QTimer::start(std::chrono::milliseconds interval)
void QTimer::stop()
{
Q_D(QTimer);
- if (d->id != QTimerPrivate::INV_TIMER) {
+ if (d->isActive()) {
QObject::killTimer(d->id);
d->id = QTimerPrivate::INV_TIMER;
d->isActiveData.notify();
@@ -570,7 +570,7 @@ void QTimer::setInterval(std::chrono::milliseconds interval)
d->inter.removeBindingUnlessInWrapper();
const bool intervalChanged = msec != d->inter.valueBypassingBindings();
d->inter.setValueBypassingBindings(msec);
- if (d->id != QTimerPrivate::INV_TIMER) { // create new timer
+ if (d->isActive()) { // create new timer
QObject::killTimer(d->id); // restart timer
const int id = QObject::startTimer(std::chrono::milliseconds{msec}, d->type);
if (id > 0) {
@@ -611,7 +611,7 @@ QBindable<int> QTimer::bindableInterval()
int QTimer::remainingTime() const
{
Q_D(const QTimer);
- if (d->id != QTimerPrivate::INV_TIMER) {
+ if (d->isActive()) {
return QAbstractEventDispatcher::instance()->remainingTime(d->id);
}
diff --git a/src/corelib/kernel/qtimer_p.h b/src/corelib/kernel/qtimer_p.h
index b1e0830dcf..6b99d342f1 100644
--- a/src/corelib/kernel/qtimer_p.h
+++ b/src/corelib/kernel/qtimer_p.h
@@ -52,7 +52,7 @@ public:
static_cast<QTimer *>(q)->setInterval(msec);
}
- bool isActiveActualCalculation() const { return id > 0; }
+ bool isActive() const { return id > 0; }
int id = INV_TIMER;
Q_OBJECT_COMPAT_PROPERTY_WITH_ARGS(QTimerPrivate, int, inter, &QTimerPrivate::setInterval, 0)
@@ -61,8 +61,7 @@ public:
std::chrono::nanoseconds{0})
Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(QTimerPrivate, bool, single, false)
Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(QTimerPrivate, Qt::TimerType, type, Qt::CoarseTimer)
- Q_OBJECT_COMPUTED_PROPERTY(QTimerPrivate, bool, isActiveData,
- &QTimerPrivate::isActiveActualCalculation)
+ Q_OBJECT_COMPUTED_PROPERTY(QTimerPrivate, bool, isActiveData, &QTimerPrivate::isActive)
QObject *q;
// true if q is a QTimer*, false otherwise