From c5933597ad74ff3206075a1814ed9111ea55f9b6 Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Tue, 3 Sep 2024 21:10:45 +0300 Subject: [PATCH] QGraphicsSceneBspTreeIndex: port to QBasicTimer ... instead of handling timer IDs. Change-Id: Ib87a277abfaf7412b57007affc68b1e1f1f822f4 Reviewed-by: Volker Hilsheimer --- .../graphicsview/qgraphicsscenebsptreeindex.cpp | 15 +++++++-------- .../graphicsview/qgraphicsscenebsptreeindex_p.h | 3 ++- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/widgets/graphicsview/qgraphicsscenebsptreeindex.cpp b/src/widgets/graphicsview/qgraphicsscenebsptreeindex.cpp index 8a114893083..3f5ccefbfbf 100644 --- a/src/widgets/graphicsview/qgraphicsscenebsptreeindex.cpp +++ b/src/widgets/graphicsview/qgraphicsscenebsptreeindex.cpp @@ -47,6 +47,8 @@ #include +using namespace std::chrono_literals; + QT_BEGIN_NAMESPACE static inline int intmaxlog(int n) @@ -60,7 +62,6 @@ static inline int intmaxlog(int n) QGraphicsSceneBspTreeIndexPrivate::QGraphicsSceneBspTreeIndexPrivate(QGraphicsScene *scene) : QGraphicsSceneIndexPrivate(scene), bspTreeDepth(0), - indexTimerId(0), restartIndexTimer(false), regenerateIndex(true), lastItemCount(0), @@ -81,12 +82,10 @@ QGraphicsSceneBspTreeIndexPrivate::QGraphicsSceneBspTreeIndexPrivate(QGraphicsSc */ void QGraphicsSceneBspTreeIndexPrivate::_q_updateIndex() { - Q_Q(QGraphicsSceneBspTreeIndex); - if (!indexTimerId) + if (!indexTimer.isActive()) return; - q->killTimer(indexTimerId); - indexTimerId = 0; + indexTimer.stop(); purgeRemovedItems(); @@ -172,10 +171,10 @@ void QGraphicsSceneBspTreeIndexPrivate::purgeRemovedItems() void QGraphicsSceneBspTreeIndexPrivate::startIndexTimer(int interval) { Q_Q(QGraphicsSceneBspTreeIndex); - if (indexTimerId) { + if (indexTimer.isActive()) { restartIndexTimer = true; } else { - indexTimerId = q->startTimer(interval); + indexTimer.start(interval * 1ms, q); } } @@ -657,7 +656,7 @@ bool QGraphicsSceneBspTreeIndex::event(QEvent *event) { Q_D(QGraphicsSceneBspTreeIndex); if (event->type() == QEvent::Timer) { - if (d->indexTimerId && static_cast(event)->timerId() == d->indexTimerId) { + if (d->indexTimer.isActive() && static_cast(event)->id() == d->indexTimer.id()) { if (d->restartIndexTimer) { d->restartIndexTimer = false; } else { diff --git a/src/widgets/graphicsview/qgraphicsscenebsptreeindex_p.h b/src/widgets/graphicsview/qgraphicsscenebsptreeindex_p.h index bd9894d5fe5..61edcc72bff 100644 --- a/src/widgets/graphicsview/qgraphicsscenebsptreeindex_p.h +++ b/src/widgets/graphicsview/qgraphicsscenebsptreeindex_p.h @@ -21,6 +21,7 @@ #include "qgraphicsitem_p.h" #include "qgraphicsscene_bsp_p.h" +#include #include #include @@ -80,7 +81,7 @@ public: QGraphicsSceneBspTree bsp; QRectF sceneRect; int bspTreeDepth; - int indexTimerId; + QBasicTimer indexTimer; bool restartIndexTimer; bool regenerateIndex; int lastItemCount;