ClassView: Move delaying of update into the main thread

Minimize the communication with parser's thread.
Don't call getParseDocumentTree() multiple times
when subsequent request for the same document comes
before the timeout.
Don't queue again already queued documentUpdated()
signal (it's emitted form non-gui thread).
Prepare for moving the calls to SessionManager out of the
parser's thread.

Task-number: QTCREATORBUG-25317
Change-Id: I5d4898b5addbb589d415e00c66de5cba7b96d512
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Jarek Kobus
2021-02-18 15:02:54 +01:00
parent aeac17ecf5
commit cb7b3dd817
4 changed files with 90 additions and 78 deletions

View File

@@ -55,9 +55,10 @@ public:
void requestCurrentState();
void removeFiles(const QStringList &fileList);
void resetDataToCurrentState();
void parseDocument(const CPlusPlus::Document::Ptr &doc);
void setFlatMode(bool flat);
void updateDocuments(const QList<CPlusPlus::Document::Ptr> &docs);
signals:
void treeRegenerated(const ParserTreeItem::ConstPtr &root);