From: Michael Marley Date: Sat, 2 Jul 2016 14:20:58 +0000 (-0400) Subject: Properly handle 0 seconds in secondsToString() X-Git-Tag: travis-deploy-test~408 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=757dc75aada1e4c5077cf46969f6422bffa08ce3 Properly handle 0 seconds in secondsToString() Previously if 0 seconds was passed in, an empty string would be returned. Instead, "0 sec" should be returned. Resolves GH-223. --- diff --git a/src/common/util.cpp b/src/common/util.cpp index 39ce4d3a..3953ea0f 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -172,15 +172,20 @@ QString secondsToString(int timeInSeconds) timeUnit.append(qMakePair(60, QCoreApplication::translate("Quassel::secondsToString()", "min"))); timeUnit.append(qMakePair(1, QCoreApplication::translate("Quassel::secondsToString()", "sec"))); - QStringList returnString; - for (int i = 0; i < timeUnit.size(); i++) { - int n = timeInSeconds / timeUnit[i].first; - if (n > 0) { - returnString += QString("%1 %2").arg(QString::number(n), timeUnit[i].second); + if (timeInSeconds != 0) { + QStringList returnString; + for (int i = 0; i < timeUnit.size(); i++) { + int n = timeInSeconds / timeUnit[i].first; + if (n > 0) { + returnString += QString("%1 %2").arg(QString::number(n), timeUnit[i].second); + } + timeInSeconds = timeInSeconds % timeUnit[i].first; } - timeInSeconds = timeInSeconds % timeUnit[i].first; + return returnString.join(", "); + } + else { + return QString("%1 %2").arg(QString::number(timeInSeconds), timeUnit.last().second); } - return returnString.join(", "); }