forked from qt-creator/qt-creator
AutoTest: Delay reparsing of postponed files
Task-number: QTCREATORBUG-30447 Change-Id: Ica1dba358e05edfe2ad7ed6fd92fc8afde291718 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -55,6 +55,7 @@ TestCodeParser::TestCodeParser()
|
|||||||
m_qmlEditorRev.remove(filePath);
|
m_qmlEditorRev.remove(filePath);
|
||||||
});
|
});
|
||||||
m_reparseTimer.setSingleShot(true);
|
m_reparseTimer.setSingleShot(true);
|
||||||
|
m_reparseTimer.setInterval(1000);
|
||||||
connect(&m_reparseTimer, &QTimer::timeout, this, &TestCodeParser::parsePostponedFiles);
|
connect(&m_reparseTimer, &QTimer::timeout, this, &TestCodeParser::parsePostponedFiles);
|
||||||
connect(&m_taskTreeRunner, &TaskTreeRunner::aboutToStart, this, [this](TaskTree *taskTree) {
|
connect(&m_taskTreeRunner, &TaskTreeRunner::aboutToStart, this, [this](TaskTree *taskTree) {
|
||||||
if (m_withTaskProgress) {
|
if (m_withTaskProgress) {
|
||||||
@@ -238,27 +239,10 @@ bool TestCodeParser::postponed(const QSet<FilePath> &filePaths)
|
|||||||
if (filePaths.size() == 1) {
|
if (filePaths.size() == 1) {
|
||||||
if (m_reparseTimerTimedOut)
|
if (m_reparseTimerTimedOut)
|
||||||
return false;
|
return false;
|
||||||
const FilePath filePath = *filePaths.begin();
|
|
||||||
switch (m_postponedFiles.size()) {
|
m_postponedFiles.insert(*filePaths.begin());
|
||||||
case 0:
|
|
||||||
m_postponedFiles.insert(filePath);
|
|
||||||
m_reparseTimer.setInterval(1000);
|
|
||||||
m_reparseTimer.start();
|
m_reparseTimer.start();
|
||||||
return true;
|
return true;
|
||||||
case 1:
|
|
||||||
if (m_postponedFiles.contains(filePath)) {
|
|
||||||
m_reparseTimer.start();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
Q_FALLTHROUGH();
|
|
||||||
default:
|
|
||||||
m_postponedFiles.insert(filePath);
|
|
||||||
m_reparseTimer.stop();
|
|
||||||
m_reparseTimer.setInterval(0);
|
|
||||||
m_reparseTimerTimedOut = false;
|
|
||||||
m_reparseTimer.start();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case PartialParse:
|
case PartialParse:
|
||||||
|
|||||||
Reference in New Issue
Block a user