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;
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 &&
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;
}
static void setUnit(Unit unit);
static Unit getUnit();
static double getUnitMultiplier();
+ static double getMeterMultiplier();
signals:
void locationChanged(Location::Fix const& fix);
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;
double Odometer::getMeterMultiplier()
{
- if(Location::getUnit() == Location::KM)
- {
- return METER_MULTIPLIER;
- }
- else
- {
- return FEET_MULTIPLIER;
- }
+ return Location::getMeterMultiplier();
}
QString Odometer::getMeterUnit()
"MAXSPEED", "AVGSPEED",
"UNIT", "SPEEDUNIT", "TIME", "DATE",
"POIDISTANCE", "ANGLE", "LATITUDE",
- "LONGITUDE"};
+ "LONGITUDE", "ALTITUDE", "DISTANCEUNIT"};
}
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();
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;
}
{
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);
\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