forked from qt-creator/qt-creator
ClassView: Make Internal::ParserPrivate::timer a real member
Two indirections suffice. Change-Id: Ie6cb6a32e1482074266f450f8bba004468e5e1b0 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -101,7 +101,7 @@ public:
|
|||||||
CPlusPlus::Overview overview;
|
CPlusPlus::Overview overview;
|
||||||
|
|
||||||
//! timer
|
//! timer
|
||||||
QPointer<QTimer> timer;
|
QTimer timer;
|
||||||
|
|
||||||
// documents
|
// documents
|
||||||
//! Documents read write lock
|
//! Documents read write lock
|
||||||
@@ -161,16 +161,14 @@ Parser::Parser(QObject *parent)
|
|||||||
: QObject(parent),
|
: QObject(parent),
|
||||||
d(new ParserPrivate())
|
d(new ParserPrivate())
|
||||||
{
|
{
|
||||||
d->timer = new QTimer(this);
|
d->timer.setSingleShot(true);
|
||||||
d->timer->setObjectName(QLatin1String("ClassViewParser::timer"));
|
|
||||||
d->timer->setSingleShot(true);
|
|
||||||
|
|
||||||
// connect signal/slots
|
// connect signal/slots
|
||||||
// internal data reset
|
// internal data reset
|
||||||
connect(this, &Parser::resetDataDone, this, &Parser::onResetDataDone, Qt::QueuedConnection);
|
connect(this, &Parser::resetDataDone, this, &Parser::onResetDataDone, Qt::QueuedConnection);
|
||||||
|
|
||||||
// timer for emitting changes
|
// timer for emitting changes
|
||||||
connect(d->timer.data(), &QTimer::timeout, this, &Parser::requestCurrentState, Qt::QueuedConnection);
|
connect(&d->timer, &QTimer::timeout, this, &Parser::requestCurrentState, Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -542,10 +540,8 @@ void Parser::parseDocument(const CPlusPlus::Document::Ptr &doc)
|
|||||||
|
|
||||||
getParseDocumentTree(doc);
|
getParseDocumentTree(doc);
|
||||||
|
|
||||||
QTC_ASSERT(d->timer, return);
|
if (!d->timer.isActive())
|
||||||
|
d->timer.start(400); //! Delay in msecs before an update
|
||||||
if (!d->timer->isActive())
|
|
||||||
d->timer->start(400); //! Delay in msecs before an update
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -688,7 +684,7 @@ void Parser::requestCurrentState()
|
|||||||
void Parser::emitCurrentTree()
|
void Parser::emitCurrentTree()
|
||||||
{
|
{
|
||||||
// stop timer if it is active right now
|
// stop timer if it is active right now
|
||||||
d->timer->stop();
|
d->timer.stop();
|
||||||
|
|
||||||
d->rootItemLocker.lockForWrite();
|
d->rootItemLocker.lockForWrite();
|
||||||
d->rootItem = parse();
|
d->rootItem = parse();
|
||||||
|
Reference in New Issue
Block a user