#include "reader.h"
#include "odometer.h"
#include "graphicsscene.h"
+#include "poialerts.h"
namespace
{
{"xpos", true},
{"ypos", true},
{"zpos", true},
+ {"visiblewhen", false},
{"data", false},
{"format", false},
{"width", true},
const QString FIELDS[TextElement::FIELD_COUNT] = {"TRIP", "TOTAL", "SPEED",
"MAXSPEED", "AVGSPEED",
- "UNIT", "SPEEDUNIT", "TIME", "DATE"};
+ "UNIT", "SPEEDUNIT", "TIME", "DATE",
+ "POIDISTANCE", "ANGLE", "LATITUDE",
+ "LONGITUDE"};
}
TextElement::TextElement(Reader* reader): GraphicsElement(reader),
case ZPOS:
element_->setZValue(intVal);
break;
+ case VISIBLEWHEN:
+ setVisibleWhen(strToVisibleWhen(value));
+ break;
case DATA:
data_ = value;
break;
case DATE:
replaceValue(value, f, QDate::currentDate().toString(dateFormat_));
break;
+ case POIDISTANCE:
+ replaceValue(value, f, handleEmpty(PoiAlerts::instance().getCurrentDistance()));
+ break;
+ case ANGLE:
+ replaceValue(value, f, formatString(o->getLatestFix().track));
+ break;
+ case LATITUDE:
+ replaceValue(value, f, handleEmpty(o->getLatestFix().latitude));
+ break;
+ case LONGITUDE:
+ replaceValue(value, f, handleEmpty(o->getLatestFix().longitude));
+ break;
default:
qDebug() << "Unknown field: " << f;
}
}
}
+QString TextElement::handleEmpty(double value)
+{
+ if(value < 0.01)
+ {
+ return "";
+ }
+
+ return formatString(value);
+}
+
void TextElement::replaceValue(QString& value,
TextElement::Field field,
QString const& replace)