Generate sensible stats when no journeys are logged
[harbour-pedalo.git] / src / status.cpp
index b4bb630..4a46cdf 100644 (file)
@@ -57,8 +57,16 @@ quint64 Status::getTimeSpentCycling() const {
 double Status::getAverageDuration() const {
     quint64 time = getTimeSpentCycling();
     quint64 count = Status::getJourneyCount();
+    double average = 0.0;
 
-    return ((double)time / (double)count);
+    if (count > 0) {
+        average = ((double)time / (double)count);
+    }
+    else {
+        average = 0.0;
+    }
+
+    return average;
 }
 
 double Status::getSpeedPercentile() const {
@@ -74,7 +82,12 @@ double Status::getSpeedPercentile() const {
         overtakenby += journey.getOvertakenBy();
     }
 
-    percentile = (double)overtook / (double)(overtook + overtakenby);
+    if (overtook + overtakenby > 0.0) {
+        percentile = (double)overtook / (double)(overtook + overtakenby);
+    }
+    else {
+        percentile = 0.0;
+    }
 
     return percentile;
 }
@@ -111,6 +124,10 @@ QString Status::getFormattedTime(quint64 seconds, int min, int max) {
         }
     }
 
+    if (formatted == "") {
+        formatted = "None";
+    }
+
     return formatted;
 }