Correctly format depth and time

We really need those leading 0s.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2013-04-24 16:03:14 -07:00
parent e156b00f05
commit ce235bd581

View file

@ -338,7 +338,7 @@ QString DiveItem::displayDepth() const
QString fract, str; QString fract, str;
if (get_units()->length == units::METERS) { if (get_units()->length == units::METERS) {
fract = QString::number((unsigned)(mm % scale) / 10); fract = QString::number((unsigned)(mm % scale) / 10);
str = QString("%1.%2").arg((unsigned)(mm / scale)).arg(fract); str = QString("%1.%2").arg((unsigned)(mm / scale)).arg(fract, 2, QChar('0'));
} }
if (get_units()->length == units::FEET) { if (get_units()->length == units::FEET) {
str = QString::number(mm_to_feet(mm),'f',2); str = QString::number(mm_to_feet(mm),'f',2);
@ -348,23 +348,19 @@ QString DiveItem::displayDepth() const
QString DiveItem::displayDuration() const QString DiveItem::displayDuration() const
{ {
int hrs, mins, secs, val; int hrs, mins, secs;
const int minutes_hour = 60;
const int seconds_minute= 60;
val = seconds; secs = seconds % 60;
secs = seconds % seconds_minute; mins = seconds / 60;
val /= seconds_minute; hrs = mins / 60;
mins = val % seconds_minute; mins -= hrs * 60;
val /= minutes_hour;
hrs = val % minutes_hour;
QString displayTime; QString displayTime;
if (hrs > 0) if (hrs)
displayTime = QString("%1:%2:%3").arg(hrs).arg(mins).arg(secs); displayTime = QString("%1:%2:").arg(hrs).arg(mins, 2, 10, QChar('0'));
else else
displayTime = QString("%1:%2").arg(mins).arg(secs); displayTime = QString("%1:").arg(mins);
displayTime += QString("%1").arg(secs, 2, 10, QChar('0'));
return displayTime; return displayTime;
} }