Small change to text element.
[jspeed] / src / odometer.cpp
index 5dec354..b2c8488 100644 (file)
@@ -33,6 +33,8 @@ namespace
     QString const MILE_UNIT = "mi";
     QString const KM_SPEEDUNIT = "km/h";
     QString const MILE_SPEEDUNIT = "mph";
+    QString const METER_UNIT = "m";
+    QString const FEET_UNIT = "ft";
     static const int FIX_TIMEOUT = 4000;
     double const DEFAULT_SPEED_TRESHOLD = 8.0;
     double const MIN_SPEED_TRESHOLD = 0.8;
@@ -95,11 +97,6 @@ void Odometer::end()
 
 void Odometer::update(Location::Fix const& fix)
 {
-    if(fix.kmSpeed > maxSpeed_)
-    {
-        maxSpeed_ = fix.kmSpeed;
-    }
-
     if(!fixTimer_)
     {
         fixTimer_ = new QTime();
@@ -125,6 +122,11 @@ void Odometer::update(Location::Fix const& fix)
            }
         }
 
+        if(fix.kmSpeed > treshold && fix.kmSpeed > maxSpeed_)
+        {
+            maxSpeed_ = fix.kmSpeed;
+        }
+
         if(fix.kmSpeed > treshold && elapsed > 200 && elapsed < FIX_TIMEOUT)
         {
             double km = fix.kmSpeed * (static_cast<double>(elapsed) / (1000 * 3600));
@@ -284,6 +286,28 @@ QString const& Odometer::getSpeedUnit()
     }
 }
 
+double Odometer::getUnitMultiplier()
+{
+    return Location::getUnitMultiplier();
+}
+
+double Odometer::getMeterMultiplier()
+{
+    return Location::getMeterMultiplier();
+}
+
+QString Odometer::getMeterUnit()
+{
+    if(Location::getUnit() == Location::KM)
+    {
+        return METER_UNIT;
+    }
+    else
+    {
+        return FEET_UNIT;
+    }
+}
+
 void Odometer::updateUnit()
 {
     QString unit = Settings::instance().value("unit", "km").toString();