1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-28 05:34:47 +01:00

Unified average speed handling

This commit is contained in:
Martin Tůma 2017-09-25 19:56:04 +02:00
parent 64f685cf60
commit 00ef815738
7 changed files with 46 additions and 44 deletions

View File

@ -1292,7 +1292,7 @@
<translation>Rychlost</translation>
</message>
<message>
<location filename="../src/speedgraph.cpp" line="81"/>
<location filename="../src/speedgraph.cpp" line="82"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
@ -1307,7 +1307,7 @@
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/speedgraph.cpp" line="84"/>
<location filename="../src/speedgraph.cpp" line="85"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
@ -1315,30 +1315,25 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/speedgraphitem.cpp" line="17"/>
<location filename="../src/speedgraphitem.cpp" line="20"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="17"/>
<location filename="../src/speedgraphitem.cpp" line="20"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="19"/>
<location filename="../src/speedgraphitem.cpp" line="22"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="21"/>
<location filename="../src/speedgraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Průměr</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="23"/>
<source>Moving average</source>
<translation>Čistý průměr</translation>
</message>
</context>
<context>
<name>TemperatureGraph</name>

View File

@ -1291,7 +1291,7 @@
<translation>Geschwindigkeit</translation>
</message>
<message>
<location filename="../src/speedgraph.cpp" line="81"/>
<location filename="../src/speedgraph.cpp" line="82"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
@ -1306,7 +1306,7 @@
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/speedgraph.cpp" line="84"/>
<location filename="../src/speedgraph.cpp" line="85"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
@ -1314,30 +1314,25 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/speedgraphitem.cpp" line="17"/>
<location filename="../src/speedgraphitem.cpp" line="20"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="17"/>
<location filename="../src/speedgraphitem.cpp" line="20"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="19"/>
<location filename="../src/speedgraphitem.cpp" line="22"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="21"/>
<location filename="../src/speedgraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Durchschnitt</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="23"/>
<source>Moving average</source>
<translation>Bewegungsdurchschnitt</translation>
</message>
</context>
<context>
<name>TemperatureGraph</name>

View File

@ -1291,7 +1291,7 @@
<translation>Hastighet</translation>
</message>
<message>
<location filename="../src/speedgraph.cpp" line="81"/>
<location filename="../src/speedgraph.cpp" line="82"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
@ -1306,7 +1306,7 @@
<translation>Max</translation>
</message>
<message>
<location filename="../src/speedgraph.cpp" line="84"/>
<location filename="../src/speedgraph.cpp" line="85"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
@ -1314,30 +1314,25 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/speedgraphitem.cpp" line="17"/>
<location filename="../src/speedgraphitem.cpp" line="20"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="17"/>
<location filename="../src/speedgraphitem.cpp" line="20"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="19"/>
<location filename="../src/speedgraphitem.cpp" line="22"/>
<source>Maximum</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="21"/>
<location filename="../src/speedgraphitem.cpp" line="24"/>
<source>Average</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/speedgraphitem.cpp" line="23"/>
<source>Moving average</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TemperatureGraph</name>

View File

@ -68,6 +68,7 @@ protected:
void clearInfo();
void skipColor() {_palette.nextColor();}
QList<GraphItem*> _graphs;
Units _units;
GraphType _graphType;
@ -103,7 +104,6 @@ private:
InfoItem *_info;
GridItem *_grid;
QList<GraphItem*> _graphs;
QList<GraphItem*> _visible;
QSet<int> _hide;
QRectF _bounds;

View File

@ -39,6 +39,7 @@ void SpeedGraph::loadData(const Data &data, const QList<PathItem *> &paths)
}
SpeedGraphItem *gi = new SpeedGraphItem(graph, track->movingTime());
gi->setTimeType(_timeType);
GraphView::addGraph(gi, paths.at(i));
_avg.append(QPointF(track->distance(), gi->avg()));
@ -100,6 +101,9 @@ void SpeedGraph::setTimeType(enum TimeType type)
{
_timeType = type;
for (int i = 0; i < _graphs.size(); i++)
static_cast<SpeedGraphItem*>(_graphs.at(i))->setTimeType(type);
setInfo();
redraw();
}

View File

@ -4,29 +4,37 @@
SpeedGraphItem::SpeedGraphItem(const Graph &graph, qreal movingTime,
QGraphicsItem *parent) : GraphItem(graph, parent)
{
_units = Metric;
_timeType = Total;
_avg = graph.last().s() / graph.last().t();
_mavg = graph.last().s() / movingTime;
setToolTip(toolTip(Metric));
setToolTip(toolTip());
}
QString SpeedGraphItem::toolTip(Units units) const
QString SpeedGraphItem::toolTip() const
{
ToolTip tt;
qreal scale = (units == Metric) ? MS2KMH : MS2MIH;
QString su = (units == Metric) ? tr("km/h") : tr("mi/h");
qreal scale = (_units == Metric) ? MS2KMH : MS2MIH;
QString su = (_units == Metric) ? tr("km/h") : tr("mi/h");
tt.insert(tr("Maximum"), QString::number(max() * scale, 'f', 1)
+ UNIT_SPACE + su);
tt.insert(tr("Average"), QString::number(avg() * scale, 'f', 1)
+ UNIT_SPACE + su);
tt.insert(tr("Moving average"), QString::number(mavg() * scale, 'f', 1)
+ UNIT_SPACE + su);
tt.insert(tr("Average"), QString::number((_timeType == Total)
? avg() * scale : mavg() * scale, 'f', 1) + UNIT_SPACE + su);
return tt.toString();
}
void SpeedGraphItem::setUnits(Units units)
{
setToolTip(toolTip(units));
_units = units;
setToolTip(toolTip());
}
void SpeedGraphItem::setTimeType(TimeType type)
{
_timeType = type;
setToolTip(toolTip());
}

View File

@ -1,6 +1,7 @@
#ifndef SPEEDGRAPHITEM_H
#define SPEEDGRAPHITEM_H
#include "timetype.h"
#include "graphitem.h"
class SpeedGraphItem : public GraphItem
@ -16,11 +17,15 @@ public:
qreal mavg() const {return _mavg;}
void setUnits(Units units);
void setTimeType(TimeType type);
private:
QString toolTip(Units units) const;
QString toolTip() const;
qreal _avg, _mavg;
Units _units;
TimeType _timeType;
};
#endif // SPEEDGRAPHITEM_H