diff --git a/src/plugins/clangtools/clangtoolruncontrol.cpp b/src/plugins/clangtools/clangtoolruncontrol.cpp index 312b4d4b385..53b384ca253 100644 --- a/src/plugins/clangtools/clangtoolruncontrol.cpp +++ b/src/plugins/clangtools/clangtoolruncontrol.cpp @@ -326,6 +326,7 @@ void ClangToolRunWorker::start() } reportStarted(); + m_elapsed.start(); while (m_runners.size() < parallelRuns && !m_queue.isEmpty()) analyzeNextFile(); @@ -343,6 +344,13 @@ void ClangToolRunWorker::stop() m_progress.reportFinished(); reportStopped(); + + // Print elapsed time since start + const QTime format = QTime(0, 0, 0, 0).addMSecs(m_elapsed.elapsed() + 500); + QString time = format.toString("h:mm:ss"); + if (time.startsWith("0:")) + time.remove(0, 2); // Don't display zero hours + appendMessage(tr("Elapsed time: %1.") .arg(time), NormalMessageFormat); } void ClangToolRunWorker::analyzeNextFile() diff --git a/src/plugins/clangtools/clangtoolruncontrol.h b/src/plugins/clangtools/clangtoolruncontrol.h index bd950d7484d..936e839d6d0 100644 --- a/src/plugins/clangtools/clangtoolruncontrol.h +++ b/src/plugins/clangtools/clangtoolruncontrol.h @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -123,6 +124,8 @@ private: int m_initialQueueSize = 0; QSet m_filesAnalyzed; QSet m_filesNotAnalyzed; + + QElapsedTimer m_elapsed; }; } // namespace Internal