+inline QString formatElapsedTime(qulonglong seconds)
+{
+ qulonglong hours = 0, minutes = 0, secsLeft = 0;
+ QString dayStr, hourStr, minStr, secStr;
+ dayStr = hourStr = minStr = secStr = QString::number(0);
+
+ //result.reserve(8);
+
+ hours = seconds / 3600;
+ secsLeft = seconds % 3600;
+ minutes = secsLeft / 60;
+ secsLeft = secsLeft % 60;
+
+ // If more than 24 hours, format time as days, hours.
+ // Otherwise hours : mins : secs
+ if (hours >= 24) {
+ dayStr = QString::number(hours / 24);
+ hourStr = QString::number(hours % 24);
+ return dayStr + 'd' + ' ' + hourStr + 'h';
+ } else if (hours < 10) {
+ hourStr.append(QString::number(hours));
+ } else {
+ hourStr = QString::number(hours);
+ }
+
+ if (minutes < 10) {
+ minStr.append(QString::number(minutes));
+ } else {
+ minStr = QString::number(minutes);
+ }
+
+ if (secsLeft < 10) {
+ secStr.append(QString::number(secsLeft));
+ } else {
+ secStr = QString::number(secsLeft);
+ }
+
+ return hourStr + ':' + minStr + ':' + secStr;
+}
+