QGraphicsSceneBspTreeIndex: port to QBasicTimer
... instead of handling timer IDs. Change-Id: Ib87a277abfaf7412b57007affc68b1e1f1f822f4 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
parent
4593892a9b
commit
c5933597ad
@ -47,6 +47,8 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
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<QTimerEvent *>(event)->timerId() == d->indexTimerId) {
|
||||
if (d->indexTimer.isActive() && static_cast<QTimerEvent *>(event)->id() == d->indexTimer.id()) {
|
||||
if (d->restartIndexTimer) {
|
||||
d->restartIndexTimer = false;
|
||||
} else {
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "qgraphicsitem_p.h"
|
||||
#include "qgraphicsscene_bsp_p.h"
|
||||
|
||||
#include <QtCore/qbasictimer.h>
|
||||
#include <QtCore/qrect.h>
|
||||
#include <QtCore/qlist.h>
|
||||
|
||||
@ -80,7 +81,7 @@ public:
|
||||
QGraphicsSceneBspTree bsp;
|
||||
QRectF sceneRect;
|
||||
int bspTreeDepth;
|
||||
int indexTimerId;
|
||||
QBasicTimer indexTimer;
|
||||
bool restartIndexTimer;
|
||||
bool regenerateIndex;
|
||||
int lastItemCount;
|
||||
|
Loading…
x
Reference in New Issue
Block a user