Couple of new fields added to text element. Small fix to web page.
authoreshe <jessehakanen@gmail.com>
Wed, 4 Aug 2010 10:49:24 +0000 (11:49 +0100)
committereshe <jessehakanen@gmail.com>
Wed, 4 Aug 2010 10:49:24 +0000 (11:49 +0100)
src/location.cpp
src/location.h
src/odometer.cpp
src/textelement.cpp
src/textelement.h
www/documentation.html

index d8ef14c..56071f5 100644 (file)
 
 namespace
 {
 
 namespace
 {
-    static const double KM_MULTIPLIER = 1.0;
-    static const double MILE_MULTIPLIER = 0.621371192;
+    static double const KM_MULTIPLIER = 1.0;
+    static double const MILE_MULTIPLIER = 0.621371192;
+    static double const METER_MULTIPLIER = 1.0;
+    static double const FEET_MULTIPLIER = 3.2808399;
 }
 
 Location::Unit Location::unit_ = Location::KM;
 }
 
 Location::Unit Location::unit_ = Location::KM;
@@ -125,6 +127,16 @@ double Location::getUnitMultiplier()
     return KM_MULTIPLIER;
 }
 
     return KM_MULTIPLIER;
 }
 
+double Location::getMeterMultiplier()
+{
+    if(unit_ == MILE)
+    {
+        return FEET_MULTIPLIER;
+    }
+
+    return METER_MULTIPLIER;
+}
+
 void Location::onChanged(LocationGPSDevice *device, gpointer data)
 {
     if(device && device->fix &&
 void Location::onChanged(LocationGPSDevice *device, gpointer data)
 {
     if(device && device->fix &&
@@ -145,7 +157,7 @@ void Location::onChanged(LocationGPSDevice *device, gpointer data)
 
         if(device->fix->fields & LOCATION_GPS_DEVICE_ALTITUDE_SET)
         {
 
         if(device->fix->fields & LOCATION_GPS_DEVICE_ALTITUDE_SET)
         {
-            fix.altitude = device->fix->altitude;
+            fix.altitude = device->fix->altitude * getMeterMultiplier();
             fix.epv = device->fix->epv;
         }
 
             fix.epv = device->fix->epv;
         }
 
index a431cf8..92f6c46 100644 (file)
@@ -66,6 +66,7 @@ public:
     static void setUnit(Unit unit);
     static Unit getUnit();
     static double getUnitMultiplier();
     static void setUnit(Unit unit);
     static Unit getUnit();
     static double getUnitMultiplier();
+    static double getMeterMultiplier();
 
 signals:
     void locationChanged(Location::Fix const& fix);
 
 signals:
     void locationChanged(Location::Fix const& fix);
index 740c3cc..9c73be7 100644 (file)
@@ -35,8 +35,6 @@ namespace
     QString const MILE_SPEEDUNIT = "mph";
     QString const METER_UNIT = "m";
     QString const FEET_UNIT = "feet";
     QString const MILE_SPEEDUNIT = "mph";
     QString const METER_UNIT = "m";
     QString const FEET_UNIT = "feet";
-    double const FEET_MULTIPLIER = 3.2808399;
-    double const METER_MULTIPLIER = 1.0;
     static const int FIX_TIMEOUT = 4000;
     double const DEFAULT_SPEED_TRESHOLD = 8.0;
     double const MIN_SPEED_TRESHOLD = 0.8;
     static const int FIX_TIMEOUT = 4000;
     double const DEFAULT_SPEED_TRESHOLD = 8.0;
     double const MIN_SPEED_TRESHOLD = 0.8;
@@ -295,14 +293,7 @@ double Odometer::getUnitMultiplier()
 
 double Odometer::getMeterMultiplier()
 {
 
 double Odometer::getMeterMultiplier()
 {
-    if(Location::getUnit() == Location::KM)
-    {
-        return METER_MULTIPLIER;
-    }
-    else
-    {
-        return FEET_MULTIPLIER;
-    }
+    return Location::getMeterMultiplier();
 }
 
 QString Odometer::getMeterUnit()
 }
 
 QString Odometer::getMeterUnit()
index 4f4fab7..d42b423 100644 (file)
@@ -54,11 +54,12 @@ namespace
                                                        "MAXSPEED", "AVGSPEED",
                                                        "UNIT", "SPEEDUNIT", "TIME", "DATE",
                                                        "POIDISTANCE", "ANGLE", "LATITUDE",
                                                        "MAXSPEED", "AVGSPEED",
                                                        "UNIT", "SPEEDUNIT", "TIME", "DATE",
                                                        "POIDISTANCE", "ANGLE", "LATITUDE",
-                                                       "LONGITUDE"};
+                                                       "LONGITUDE", "ALTITUDE", "DISTANCEUNIT"};
 }
 
 TextElement::TextElement(Reader* reader): GraphicsElement(reader),
 }
 
 TextElement::TextElement(Reader* reader): GraphicsElement(reader),
-data_(""), format_(""), align_("left"), timeFormat_("hh:mm"), dateFormat_("dd.MM.yyyy"), fontSize_(16), bold_(false), italic_(false),
+data_(""), format_(""), align_("left"), timeFormat_("hh:mm"),
+dateFormat_("dd.MM.yyyy"), fontSize_(16), bold_(false), italic_(false),
 uppercase_(false), letterSpacing_(0)
 {
     element_ = new QGraphicsTextItem();
 uppercase_(false), letterSpacing_(0)
 {
     element_ = new QGraphicsTextItem();
@@ -286,6 +287,12 @@ void TextElement::replaceSpecialFields(QString& value)
         case LONGITUDE:
             replaceValue(value, f, handleEmpty(o->getLatestFix().longitude));
             break;
         case LONGITUDE:
             replaceValue(value, f, handleEmpty(o->getLatestFix().longitude));
             break;
+        case ALTITUDE:
+            replaceValue(value, f, handleEmpty(o->getLatestFix().altitude));
+            break;
+        case DISTANCEUNIT:
+            replaceValue(value, f, o->getMeterUnit());
+            break;
         default:
             qDebug() << "Unknown field: " << f;
         }
         default:
             qDebug() << "Unknown field: " << f;
         }
index 2a3f519..95fb221 100644 (file)
@@ -31,7 +31,7 @@ class TextElement : public GraphicsElement
 {
 public:
     enum Attribute {XPOS, YPOS, ZPOS, VISIBLEWHEN, DATA, FORMAT, WIDTH, ALIGN, COLOR, SIZE, FONT, BOLD, ITALIC, UPPERCASE, LETTERSPACING, TIMEFORMAT, DATEFORMAT, ATTRIBUTE_COUNT};
 {
 public:
     enum Attribute {XPOS, YPOS, ZPOS, VISIBLEWHEN, DATA, FORMAT, WIDTH, ALIGN, COLOR, SIZE, FONT, BOLD, ITALIC, UPPERCASE, LETTERSPACING, TIMEFORMAT, DATEFORMAT, ATTRIBUTE_COUNT};
-    enum Field {TRIP, TOTAL, SPEED, MAXSPEED, AVGSPEED, UNIT, SPEEDUNIT, TIME, DATE, POIDISTANCE, ANGLE, LATITUDE, LONGITUDE, FIELD_COUNT};
+    enum Field {TRIP, TOTAL, SPEED, MAXSPEED, AVGSPEED, UNIT, SPEEDUNIT, TIME, DATE, POIDISTANCE, ANGLE, LATITUDE, LONGITUDE, ALTITUDE, DISTANCEUNIT, FIELD_COUNT};
     TextElement(Reader* reader);
     virtual bool setAttribute(QString const& name, QString const& value);
     virtual void addToScene(GraphicsScene* scene);
     TextElement(Reader* reader);
     virtual bool setAttribute(QString const& name, QString const& value);
     virtual void addToScene(GraphicsScene* scene);
index 98f1d65..8dc7626 100644 (file)
@@ -50,7 +50,7 @@
 \r
 <h2>Themes</h2>\r
 \r
 \r
 <h2>Themes</h2>\r
 \r
-<p>Theme files are located in /home/user/.speed/themes/. For more information about how to make your own theme, take a look at the <a href="http://jspeed.garage.maemo.org/theme-howto.html">theme howto.</a></p>\r
+<p>Theme files are located in /home/user/.jspeed/themes/. For more information about how to make your own theme, take a look at the <a href="http://jspeed.garage.maemo.org/theme-howto.html">theme howto.</a></p>\r
 \r
 </div>\r
 \r
 \r
 </div>\r
 \r