Deduplicate elapsed time formatting

While it's nice to see my code spreading,
I still prefer to have it at one place.

Change-Id: I7bdb13c47ed7e96227deeb14b0a8070aa40148de
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Andre Hartmann
2020-02-28 15:09:35 +01:00
committed by André Hartmann
parent 41cb713370
commit d76a2f4fcd
6 changed files with 23 additions and 19 deletions

View File

@@ -30,11 +30,13 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QCoreApplication>
#include <QDir> #include <QDir>
#include <QJsonArray> #include <QJsonArray>
#include <QJsonValue> #include <QJsonValue>
#include <QRegularExpression> #include <QRegularExpression>
#include <QSet> #include <QSet>
#include <QTime>
#include <limits.h> #include <limits.h>
@@ -383,4 +385,12 @@ QString quoteAmpersands(const QString &text)
return result.replace("&", "&&"); return result.replace("&", "&&");
} }
QString formatElapsedTime(qint64 elapsed)
{
elapsed += 500; // round up
const QString format = QString::fromLatin1(elapsed >= 3600000 ? "h:mm:ss" : "mm:ss");
const QString time = QTime(0, 0).addMSecs(elapsed).toString(format);
return QCoreApplication::translate("StringUtils", "Elapsed time: %1.").arg(time);
}
} // namespace Utils } // namespace Utils

View File

@@ -100,6 +100,6 @@ T makeUniquelyNumbered(const T &preferred, const Container &reserved)
return tryName; return tryName;
} }
QTCREATOR_UTILS_EXPORT QString formatElapsedTime(qint64 elapsed);
} // namespace Utils } // namespace Utils

View File

@@ -61,6 +61,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/stringutils.h>
#include <QAction> #include <QAction>
#include <QLoggingCategory> #include <QLoggingCategory>
@@ -345,11 +346,8 @@ void ClangToolRunWorker::stop()
reportStopped(); reportStopped();
// Print elapsed time since start // Print elapsed time since start
const QTime format = QTime(0, 0, 0, 0).addMSecs(m_elapsed.elapsed() + 500); const QString elapsedTime = Utils::formatElapsedTime(m_elapsed.elapsed());
QString time = format.toString("h:mm:ss"); appendMessage(elapsedTime, NormalMessageFormat);
if (time.startsWith("0:"))
time.remove(0, 2); // Don't display zero hours
appendMessage(tr("Elapsed time: %1.") .arg(time), NormalMessageFormat);
} }
void ClangToolRunWorker::analyzeNextFile() void ClangToolRunWorker::analyzeNextFile()

View File

@@ -35,6 +35,7 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/stringutils.h>
#include <QDir> #include <QDir>
#include <QObject> #include <QObject>
@@ -237,11 +238,8 @@ void CMakeProcess::handleProcessFinished(int code, QProcess::ExitStatus status)
emit finished(code, status); emit finished(code, status);
const QTime format = QTime(0, 0, 0, 0).addMSecs(m_elapsed.elapsed() + 500); const QString elapsedTime = Utils::formatElapsedTime(m_elapsed.elapsed());
QString time = format.toString("h:mm:ss"); Core::MessageManager::write(elapsedTime);
if (time.startsWith("0:"))
time.remove(0, 2); // Don't display zero hours
Core::MessageManager::write(tr("Elapsed time: %1.") .arg(time));
} }
void CMakeProcess::checkForCancelled() void CMakeProcess::checkForCancelled()

View File

@@ -42,6 +42,7 @@
#include <cplusplus/LookupContext.h> #include <cplusplus/LookupContext.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/runextensions.h> #include <utils/runextensions.h>
#include <utils/stringutils.h>
#include <utils/temporarydirectory.h> #include <utils/temporarydirectory.h>
#include <QCoreApplication> #include <QCoreApplication>
@@ -173,9 +174,8 @@ void indexFindErrors(QFutureInterface<void> &indexingFuture,
indexingFuture.setProgressValue(files.size() - (files.size() - (i + 1))); indexingFuture.setProgressValue(files.size() - (files.size() - (i + 1)));
} }
const QTime format = QTime(0, 0, 0, 0).addMSecs(timer.elapsed() + 500); const QString elapsedTime = Utils::formatElapsedTime(timer.elapsed());
const QString time = format.toString(QLatin1String("hh:mm:ss")); qDebug("FindErrorsIndexing: %s", qPrintable(elapsedTime));
qDebug("FindErrorsIndexing: Finished after %s.", qPrintable(time));
} }
void index(QFutureInterface<void> &indexingFuture, void index(QFutureInterface<void> &indexingFuture,

View File

@@ -47,6 +47,7 @@
#include <coreplugin/progressmanager/progressmanager.h> #include <coreplugin/progressmanager/progressmanager.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/runextensions.h> #include <utils/runextensions.h>
#include <utils/stringutils.h>
#include <QApplication> #include <QApplication>
#include <QElapsedTimer> #include <QElapsedTimer>
@@ -458,11 +459,8 @@ void BuildManager::updateTaskCount()
void BuildManager::finish() void BuildManager::finish()
{ {
const QTime format = QTime(0, 0, 0, 0).addMSecs(d->m_elapsed.elapsed() + 500); const QString elapsedTime = Utils::formatElapsedTime(d->m_elapsed.elapsed());
QString time = format.toString("h:mm:ss"); m_instance->addToOutputWindow(elapsedTime, BuildStep::OutputFormat::NormalMessage);
if (time.startsWith("0:"))
time.remove(0, 2); // Don't display zero hours
m_instance->addToOutputWindow(tr("Elapsed time: %1.") .arg(time), BuildStep::OutputFormat::NormalMessage);
QApplication::alert(ICore::mainWindow(), 3000); QApplication::alert(ICore::mainWindow(), 3000);
} }