1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-07-04 14:49:30 +02:00

Compare commits

...

45 Commits
7.15 ... 7.16

Author SHA1 Message Date
29147e1b8b Merge branch 'origin/master' into Weblate. 2019-10-28 15:21:08 +01:00
0a1a1ac6be Fixed path marker Z-value issue 2019-10-28 15:20:38 +01:00
6c102c6d98 Merge branch 'origin/master' into Weblate. 2019-10-28 14:34:50 +01:00
df89952483 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (346 of 346 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/pt_BR/
2019-10-28 14:34:50 +01:00
01d8d917cb Merge branch 'master' of https://github.com/tumic0/GPXSee 2019-10-28 14:34:32 +01:00
d1522210e5 Added Windows GPI integration 2019-10-28 14:34:01 +01:00
d3ac528d57 Merge branch 'origin/master' into Weblate. 2019-10-28 12:02:26 +01:00
82eed4759c Added OS X GPI integration 2019-10-28 12:01:58 +01:00
2a94e1ac59 Merge branch 'origin/master' into Weblate. 2019-10-28 11:06:31 +01:00
8feeeaa918 Added GPI icon 2019-10-28 11:06:06 +01:00
2946fa799e Merge branch 'origin/master' into Weblate. 2019-10-28 09:11:26 +01:00
41ebe8aec7 Be more strict when handling tracks with missing timestamps 2019-10-28 09:10:38 +01:00
e35a8246f9 Merge branch 'origin/master' into Weblate. 2019-10-27 22:52:06 +01:00
725bb8a381 Graphs with zero size height are valid 2019-10-27 22:51:36 +01:00
fc5eea33cf Merge branch 'origin/master' into Weblate. 2019-10-27 19:54:12 +01:00
a1de3c956c Fixed broken graphs with missing time data handling 2019-10-27 19:53:32 +01:00
d2d9b94e78 Merge branch 'origin/master' into Weblate. 2019-10-27 16:35:16 +01:00
e6b205e823 Fixed error handling 2019-10-27 16:34:53 +01:00
0b680928fd Merge branch 'origin/master' into Weblate. 2019-10-25 22:31:04 +02:00
c0c01eef8b Added support for GPI files 2019-10-25 22:30:12 +02:00
7cdee93e9e Translated using Weblate (Turkish)
Currently translated at 100.0% (346 of 346 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/tr/
2019-10-24 05:01:25 +02:00
33071ac8df Translated using Weblate (Finnish)
Currently translated at 100.0% (346 of 346 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/
2019-10-24 05:01:25 +02:00
c7ff6f3aa1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 91.3% (316 of 346 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb_NO/
2019-10-24 05:01:24 +02:00
c61d4c8201 Translated using Weblate (Russian)
Currently translated at 100.0% (346 of 346 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2019-10-24 05:01:23 +02:00
05a871c8a0 Translated using Weblate (Swedish)
Currently translated at 100.0% (346 of 346 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/sv/
2019-10-24 05:01:23 +02:00
ae9dd309e9 CZ and DE translations 2019-10-22 22:41:08 +02:00
cea0a51d0e Localization update 2019-10-22 22:35:36 +02:00
5dcc63600c Removed the pt_PT localization stub as noone is evidently going to really translate that language... 2019-10-22 22:28:43 +02:00
c29ed0a2ca Nicer multiple links display 2019-10-22 22:27:12 +02:00
9905de67bd Added support for GPX 1.0 links 2019-10-20 20:30:10 +02:00
25b42fd2f8 Version++ 2019-10-18 08:38:04 +02:00
0a6d575b21 Fixed symbol name collision 2019-10-17 22:37:21 +02:00
21de5e22e4 Fixed QT4 build 2019-10-17 22:14:58 +02:00
4670630e22 A much better windows popup close handling 2019-10-17 22:02:44 +02:00
5f79326601 Made the popup disappear logic work on Windows 2019-10-16 22:58:22 +02:00
0c1a123cd9 Handle the tooltips pixel accurate 2019-10-16 19:22:55 +02:00
9c96e7124a Added tooltip event triggers for info messages 2019-10-15 23:59:15 +02:00
694847a424 Extended links support + popup fixes 2019-10-14 20:07:05 +02:00
e7f5da5af7 Added missing text wrappping 2019-10-14 01:45:16 +02:00
d59a37466b Added support for waypoint links 2019-10-14 01:16:38 +02:00
f2bfd584d0 Fixed flickering & QT4 problems 2019-10-14 00:07:57 +02:00
a9ce6f54c7 Hyperlink + copy&paste enabled tool tips 2019-10-13 20:20:32 +02:00
de9bae9d66 Fixed broken path ticks tool tip units switching
Fixes #233
2019-10-07 22:03:26 +02:00
716662322d Wrong project... 2019-10-05 22:06:13 +02:00
2a893fe4ef Added change log link 2019-10-05 22:04:14 +02:00
73 changed files with 1990 additions and 4158 deletions

View File

@ -1,4 +1,4 @@
version: 7.15.{build}
version: 7.16.{build}
configuration: Release
platform: Any CPU
environment:

View File

@ -3,7 +3,7 @@ unix:!macx {
} else {
TARGET = GPXSee
}
VERSION = 7.15
VERSION = 7.16
QT += core \
gui \
@ -19,6 +19,8 @@ equals(QT_MAJOR_VERSION, 5) : lessThan(QT_MINOR_VERSION, 4) {QT += opengl}
INCLUDEPATH += ./src
HEADERS += src/common/config.h \
src/GUI/graphicsscene.h \
src/GUI/popup.h \
src/common/staticassert.h \
src/common/coordinates.h \
src/common/range.h \
@ -84,6 +86,7 @@ HEADERS += src/common/config.h \
src/GUI/mapview.h \
src/GUI/font.h \
src/GUI/areaitem.h \
src/data/link.h \
src/map/IMG/bitmapline.h \
src/map/IMG/textpathitem.h \
src/map/IMG/textpointitem.h \
@ -183,8 +186,10 @@ HEADERS += src/common/config.h \
src/map/IMG/textitem.h \
src/map/IMG/label.h \
src/data/csv.h \
src/data/cupparser.h
src/data/cupparser.h \
src/data/gpiparser.h
SOURCES += src/main.cpp \
src/GUI/popup.cpp \
src/common/coordinates.cpp \
src/common/rectc.cpp \
src/common/range.cpp \
@ -316,7 +321,9 @@ SOURCES += src/main.cpp \
src/GUI/pathtickitem.cpp \
src/map/IMG/textitem.cpp \
src/data/csv.cpp \
src/data/cupparser.cpp
src/data/cupparser.cpp \
src/GUI/graphicsscene.cpp \
src/data/gpiparser.cpp
greaterThan(QT_MAJOR_VERSION, 4) {
HEADERS += src/data/geojsonparser.h
@ -376,7 +383,8 @@ macx {
icons/formats/loc.icns \
icons/formats/slf.icns \
icons/formats/json.icns \
icons/formats/cup.icns
icons/formats/cup.icns \
icons/formats/gpi.icns
QMAKE_BUNDLE_DATA += locale maps icons csv
}
@ -394,7 +402,8 @@ win32 {
icons/formats/loc.ico \
icons/formats/slf.ico \
icons/formats/json.ico \
icons/formats/cup.ico
icons/formats/cup.ico \
icons/formats/gpi.ico
DEFINES += _USE_MATH_DEFINES \
NOGDI
}

BIN
icons/formats/gpi.icns Normal file

Binary file not shown.

BIN
icons/formats/gpi.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

View File

@ -11,3 +11,4 @@ wpt:#66ff00
loc:#556677
slf:#881199
cup:#20a810
gpi:#fca314

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>ot/min</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Průměr</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Stoupání</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Klesání</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -885,17 +885,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Nejpoužívanější</translation>
</message>
@ -903,59 +903,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Data nejsou k dispozici</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>h</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Vzdálenost</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Čas</translation>
</message>
@ -987,18 +987,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>tepů/min</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Průměr</translation>
</message>
@ -1533,12 +1533,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>Popis</translation>
</message>
@ -1570,18 +1570,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Průměr</translation>
</message>
@ -1603,6 +1603,11 @@
<source>Distance</source>
<translation>Vzdálenost</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation>Odkazy</translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1690,47 +1695,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>kn</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>min/nmi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Průměr</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Tempo</translation>
</message>
@ -1772,27 +1777,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Průměr</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -1829,33 +1834,43 @@
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation>Odkazy</translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Název</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Souřadnice</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Výška</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Popis</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation>Odkazy</translation>
</message>
</context>
</TS>

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation type="unfinished">Max</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>o/min</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Gennemsnit</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>fod</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Stigning</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Fald</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation type="unfinished">Max</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Min</translation>
</message>
@ -884,17 +884,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Min</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation type="unfinished">Max</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Mest brugt</translation>
</message>
@ -902,59 +902,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Data er ikke tilgængelig</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Afstand</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>fod</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mil</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>sømil</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>t</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -986,18 +986,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation type="unfinished">Max</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation type="unfinished">puls</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Gennemsnit</translation>
</message>
@ -1532,12 +1532,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation type="unfinished">Navn</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation type="unfinished">Beskrivelse</translation>
</message>
@ -1569,18 +1569,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation type="unfinished">Max</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Gennemsnit</translation>
</message>
@ -1602,6 +1602,11 @@
<source>Distance</source>
<translation>Afstand</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1689,47 +1694,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mil/t</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation type="unfinished">knob</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/t</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation type="unfinished">min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation type="unfinished">min/mil</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation type="unfinished">min/sømil</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation type="unfinished">Max</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Gennemsnit</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Tempo</translation>
</message>
@ -1771,27 +1776,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Gennemsnit</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation type="unfinished">Max</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation type="unfinished">Min</translation>
</message>
@ -1828,33 +1833,43 @@
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Navn</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Koordinater</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Højde</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Beskrivelse</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>U/min</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Durchschnitt</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Steigung</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Gefälle</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -884,17 +884,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Meist genutzt</translation>
</message>
@ -902,59 +902,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Keine Daten verfügbar</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>sek</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>tim</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Distanz</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Zeit</translation>
</message>
@ -986,18 +986,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>bpm</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Durchschnitt</translation>
</message>
@ -1532,12 +1532,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
@ -1569,18 +1569,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Durchschnitt</translation>
</message>
@ -1602,6 +1602,11 @@
<source>Distance</source>
<translation>Distanz</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation>Links</translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1689,47 +1694,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>kn</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>min/nmi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Durchschnitt</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Tempo</translation>
</message>
@ -1771,27 +1776,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Durchschnitt</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -1828,33 +1833,43 @@
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation>Links</translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Koordinaten</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Höhe</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation>Links</translation>
</message>
</context>
</TS>

File diff suppressed because it is too large Load Diff

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>r/min</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Media</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation></translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Ascenso</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Descenso</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Mínima</translation>
</message>
@ -884,17 +884,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Mínima</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Más usada</translation>
</message>
@ -902,59 +902,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Sin datos</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Distancia</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation></translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>h</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Tiempo</translation>
</message>
@ -986,18 +986,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Máximo</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>lat/min</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Medio</translation>
</message>
@ -1532,12 +1532,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Nombre</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>Descripción</translation>
</message>
@ -1569,18 +1569,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maxima</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Media</translation>
</message>
@ -1602,6 +1602,11 @@
<source>Distance</source>
<translation>Distancia</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1689,47 +1694,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>kn</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>min/nmi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Media</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Ritmo</translation>
</message>
@ -1771,27 +1776,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>°C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>°F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Media</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Mínima</translation>
</message>
@ -1828,33 +1833,43 @@
<source>Date</source>
<translation>Fecha</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Nombre</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Coordenadas</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Altitud</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Fecha</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Descripción</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maksimi</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>rpm</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Keskiarvo</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Nousu</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Lasku</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Maksimi</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Minimi</translation>
</message>
@ -884,17 +884,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Minimi</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Maksimi</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Eniten käytetty</translation>
</message>
@ -902,59 +902,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Tietoja ei ole saatavilla</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>mpk</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>t</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Etäisyys</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Aika</translation>
</message>
@ -986,18 +986,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maksimi</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>bpm</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Keskiarvo</translation>
</message>
@ -1532,12 +1532,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Nimi</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>Kuvaus</translation>
</message>
@ -1569,18 +1569,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maksimi</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Keskiarvo</translation>
</message>
@ -1602,6 +1602,11 @@
<source>Distance</source>
<translation>Etäisyys</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation>Linkit</translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1689,47 +1694,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/t</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mph</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>kn</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>min/mpk</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Maksimi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Keskiarvo</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Tahti</translation>
</message>
@ -1771,27 +1776,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Keskiarvo</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Maksimi</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Minimi</translation>
</message>
@ -1828,33 +1833,43 @@
<source>Date</source>
<translation>Päivämäärä</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation>Linkit</translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Nimi</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Koordinaatit</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Korkeus</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Päivämäärä</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Kuvaus</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation>Linkit</translation>
</message>
</context>
</TS>

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>tr/min</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Moyenne</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>pieds</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Dénivelé positif</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Dénivelé négatif</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -884,17 +884,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Le plus utilisé</translation>
</message>
@ -902,59 +902,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>pieds</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Données non disponibles</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>h</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Distance</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Temps</translation>
</message>
@ -986,18 +986,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>bpm</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Moyenne</translation>
</message>
@ -1532,12 +1532,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>Description</translation>
</message>
@ -1569,18 +1569,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Moyenne</translation>
</message>
@ -1602,6 +1602,11 @@
<source>Distance</source>
<translation>Distance</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1689,47 +1694,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>nd</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>min/nmi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Moyenne</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Allure</translation>
</message>
@ -1771,27 +1776,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>°C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>°F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Moyenne</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -1828,33 +1833,43 @@
<source>Date</source>
<translation>Date</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Coordonnées</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Altitude</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Date</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Description</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>o/min</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Gjennomsnitt</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>fot</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Stigning</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Nedstigning</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -884,17 +884,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Mest brukt</translation>
</message>
@ -902,59 +902,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Data ikke tilgjengelig</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Avsntand</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>fot</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>t</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -986,18 +986,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>s/m</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Gjennomsnitt</translation>
</message>
@ -1532,12 +1532,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation type="unfinished">Navn</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation type="unfinished">Beskrivelse</translation>
</message>
@ -1569,18 +1569,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Gjennomsnitt</translation>
</message>
@ -1602,6 +1602,11 @@
<source>Distance</source>
<translation>Avstand</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation>Lenker</translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1689,47 +1694,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mi/t</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>kn</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/t</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation type="unfinished">min/nmi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Gjennomsnitt</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Tempo</translation>
</message>
@ -1771,27 +1776,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Gjennomsnitt</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -1828,33 +1833,43 @@
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation>Lenker</translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Navn</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Koordinater</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Høyde</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Beskrivelse</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation>Lenker</translation>
</message>
</context>
</TS>

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>obr./min</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Średnia</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Wznios</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Spadek</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -885,17 +885,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Najczęściej używane</translation>
</message>
@ -903,59 +903,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Brak danych</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>h</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Dystans</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Czas</translation>
</message>
@ -987,18 +987,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>uderzeń/min</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Średnia</translation>
</message>
@ -1533,12 +1533,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Nazwa</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>Opis</translation>
</message>
@ -1570,18 +1570,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Średnia</translation>
</message>
@ -1603,6 +1603,11 @@
<source>Distance</source>
<translation>Dystans</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1690,47 +1695,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>kn</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>min/nmi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Średnia</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Tempo</translation>
</message>
@ -1772,27 +1777,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Średnia</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Maksimum</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -1829,33 +1834,43 @@
<source>Date</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Nazwa</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Współrzędne</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Wysokość</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Opis</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>rpm</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Média</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Ascensão</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Descida</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Mínima</translation>
</message>
@ -884,17 +884,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Mínima</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Mais usada</translation>
</message>
@ -902,59 +902,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Dados não disponíveis</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Distância</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>h</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Tempo</translation>
</message>
@ -986,18 +986,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>bpm</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Média</translation>
</message>
@ -1532,12 +1532,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>Descrição</translation>
</message>
@ -1569,18 +1569,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Média</translation>
</message>
@ -1602,6 +1602,11 @@
<source>Distance</source>
<translation>Distância</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation>Links</translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1689,47 +1694,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>kn</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>min/nmi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Média</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Ritmo</translation>
</message>
@ -1771,27 +1776,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Média</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Máxima</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Mínima</translation>
</message>
@ -1828,33 +1833,43 @@
<source>Date</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation>Links</translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Coordenadas</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Altitude</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Data</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Descrição</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation>Links</translation>
</message>
</context>
</TS>

File diff suppressed because it is too large Load Diff

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Максимум</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>об/мин</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Cреднее</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>м</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>фт</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Подъем</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Спуск</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Максимум</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Минимум</translation>
</message>
@ -885,17 +885,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Минимум</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Максимум</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Чаще всего используемое</translation>
</message>
@ -903,59 +903,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>м</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>км</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>фт</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Данные отсутствуют</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>мл</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>мор. мл</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>с</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>мин</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>ч</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Расстояние</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Время</translation>
</message>
@ -987,18 +987,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Максимум</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>уд/мин</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Cреднее</translation>
</message>
@ -1533,12 +1533,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>Описание</translation>
</message>
@ -1570,18 +1570,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Максимум</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>Вт</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Cреднее</translation>
</message>
@ -1603,6 +1603,11 @@
<source>Distance</source>
<translation>Расстояние</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation>Ссылки</translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1690,47 +1695,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>км/ч</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>мл/ч</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>уз</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>мин/км</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>мин/мл</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>мин/мор.мл</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Максимум</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Cреднее</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Темп</translation>
</message>
@ -1772,27 +1777,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Cреднее</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Максимум</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Минимум</translation>
</message>
@ -1829,33 +1834,43 @@
<source>Date</source>
<translation>Дата</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation>Ссылки</translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Координаты</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Высота</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Дата</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Описание</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation>Ссылки</translation>
</message>
</context>
</TS>

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>rpm</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Medel</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Stigning</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>Nedstigning</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -884,17 +884,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Mest använd</translation>
</message>
@ -902,59 +902,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Ingen data tillgänglig</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>sek</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>min</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>tim</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Avstånd</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Tid</translation>
</message>
@ -986,18 +986,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>bpm</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Medel</translation>
</message>
@ -1532,12 +1532,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>Beskrivning</translation>
</message>
@ -1569,18 +1569,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Medel</translation>
</message>
@ -1602,6 +1602,11 @@
<source>Distance</source>
<translation>Avstånd</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation>Länkar</translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1689,47 +1694,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>knop</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>min/nmi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Medel</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Tempo</translation>
</message>
@ -1771,27 +1776,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Medel</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Maximum</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Minimum</translation>
</message>
@ -1828,33 +1833,43 @@
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation>Länkar</translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Namn</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Koordinater</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Höjd</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>Beskrivning</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation>Länkar</translation>
</message>
</context>
</TS>

View File

@ -28,18 +28,18 @@
<context>
<name>CadenceGraphItem</name>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Azami</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="21"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="18"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<source>rpm</source>
<translation>rpm</translation>
</message>
<message>
<location filename="../src/GUI/cadencegraphitem.cpp" line="20"/>
<location filename="../src/GUI/cadencegraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Ortalama</translation>
</message>
@ -164,32 +164,32 @@
<context>
<name>ElevationGraphItem</name>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="35"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="33"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="36"/>
<source>Ascent</source>
<translation>Tırmanış</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="38"/>
<source>Descent</source>
<translation>İniş</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="40"/>
<source>Maximum</source>
<translation>Azami</translation>
</message>
<message>
<location filename="../src/GUI/elevationgraphitem.cpp" line="44"/>
<location filename="../src/GUI/elevationgraphitem.cpp" line="42"/>
<source>Minimum</source>
<translation>Asgari</translation>
</message>
@ -884,17 +884,17 @@
<context>
<name>GearRatioGraphItem</name>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="35"/>
<source>Minimum</source>
<translation>Asgari</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="38"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="36"/>
<source>Maximum</source>
<translation>Azami</translation>
</message>
<message>
<location filename="../src/GUI/gearratiographitem.cpp" line="39"/>
<location filename="../src/GUI/gearratiographitem.cpp" line="37"/>
<source>Most used</source>
<translation>Sık kullanılan</translation>
</message>
@ -902,59 +902,59 @@
<context>
<name>GraphView</name>
<message>
<location filename="../src/GUI/graphview.cpp" line="45"/>
<location filename="../src/GUI/graphview.cpp" line="46"/>
<source>Data not available</source>
<translation>Data erişilemez</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="65"/>
<location filename="../src/GUI/graphview.cpp" line="172"/>
<location filename="../src/GUI/graphview.cpp" line="66"/>
<location filename="../src/GUI/graphview.cpp" line="173"/>
<source>Distance</source>
<translation>Mesafe</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="109"/>
<location filename="../src/GUI/graphview.cpp" line="117"/>
<location filename="../src/GUI/graphview.cpp" line="110"/>
<location filename="../src/GUI/graphview.cpp" line="118"/>
<source>ft</source>
<translation>ft</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="112"/>
<location filename="../src/GUI/graphview.cpp" line="113"/>
<source>mi</source>
<translation>mi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="120"/>
<location filename="../src/GUI/graphview.cpp" line="121"/>
<source>nmi</source>
<translation>nmi</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="125"/>
<location filename="../src/GUI/graphview.cpp" line="126"/>
<source>m</source>
<translation>m</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="128"/>
<location filename="../src/GUI/graphview.cpp" line="129"/>
<source>km</source>
<translation>Km</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="134"/>
<location filename="../src/GUI/graphview.cpp" line="135"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="137"/>
<location filename="../src/GUI/graphview.cpp" line="138"/>
<source>min</source>
<translation>dk</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="140"/>
<location filename="../src/GUI/graphview.cpp" line="141"/>
<source>h</source>
<translation>sa</translation>
</message>
<message>
<location filename="../src/GUI/graphview.cpp" line="174"/>
<location filename="../src/GUI/graphview.cpp" line="175"/>
<source>Time</source>
<translation>Zaman</translation>
</message>
@ -986,18 +986,18 @@
<context>
<name>HeartRateGraphItem</name>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Azami</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="21"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="18"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<source>bpm</source>
<translation>bpm</translation>
</message>
<message>
<location filename="../src/GUI/heartrategraphitem.cpp" line="20"/>
<location filename="../src/GUI/heartrategraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Ortalama</translation>
</message>
@ -1532,12 +1532,12 @@
<context>
<name>PolygonItem</name>
<message>
<location filename="../src/GUI/areaitem.cpp" line="15"/>
<location filename="../src/GUI/areaitem.cpp" line="16"/>
<source>Name</source>
<translation>Adı</translation>
</message>
<message>
<location filename="../src/GUI/areaitem.cpp" line="17"/>
<location filename="../src/GUI/areaitem.cpp" line="18"/>
<source>Description</source>
<translation>ıklama</translation>
</message>
@ -1569,18 +1569,18 @@
<context>
<name>PowerGraphItem</name>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="17"/>
<source>Maximum</source>
<translation>Azami</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<location filename="../src/GUI/powergraphitem.cpp" line="21"/>
<location filename="../src/GUI/powergraphitem.cpp" line="18"/>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<source>W</source>
<translation>W</translation>
</message>
<message>
<location filename="../src/GUI/powergraphitem.cpp" line="20"/>
<location filename="../src/GUI/powergraphitem.cpp" line="19"/>
<source>Average</source>
<translation>Ortalama</translation>
</message>
@ -1602,6 +1602,11 @@
<source>Distance</source>
<translation>Mesafe</translation>
</message>
<message>
<location filename="../src/GUI/routeitem.cpp" line="29"/>
<source>Links</source>
<translation>Bağlantılar</translation>
</message>
</context>
<context>
<name>ScaleItem</name>
@ -1689,47 +1694,47 @@
<context>
<name>SpeedGraphItem</name>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="26"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="23"/>
<source>mi/h</source>
<translation>mi/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>kn</source>
<translation>kn</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="24"/>
<source>km/h</source>
<translation>km/h</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="30"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="27"/>
<source>min/km</source>
<translation>min/km</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/mi</source>
<translation>min/mi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="28"/>
<source>min/nmi</source>
<translation>min/nmi</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="34"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="31"/>
<source>Maximum</source>
<translation>Azami</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="36"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="33"/>
<source>Average</source>
<translation>Ortalama</translation>
</message>
<message>
<location filename="../src/GUI/speedgraphitem.cpp" line="38"/>
<location filename="../src/GUI/speedgraphitem.cpp" line="35"/>
<source>Pace</source>
<translation>Hız</translation>
</message>
@ -1771,27 +1776,27 @@
<context>
<name>TemperatureGraphItem</name>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>C</source>
<translation>C</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="23"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="21"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="24"/>
<source>Average</source>
<translation>Ortalama</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="26"/>
<source>Maximum</source>
<translation>Azami</translation>
</message>
<message>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="30"/>
<location filename="../src/GUI/temperaturegraphitem.cpp" line="28"/>
<source>Minimum</source>
<translation>Asgari</translation>
</message>
@ -1828,33 +1833,43 @@
<source>Date</source>
<translation>Tarih</translation>
</message>
<message>
<location filename="../src/GUI/trackitem.cpp" line="33"/>
<source>Links</source>
<translation>Bağlantılar</translation>
</message>
</context>
<context>
<name>WaypointItem</name>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="18"/>
<location filename="../src/GUI/waypointitem.cpp" line="21"/>
<source>Name</source>
<translation>Adı</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="19"/>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<source>Coordinates</source>
<translation>Koordinatlar</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="22"/>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<source>Elevation</source>
<translation>Rakım</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="25"/>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<source>Date</source>
<translation>Tarih</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="28"/>
<location filename="../src/GUI/waypointitem.cpp" line="31"/>
<source>Description</source>
<translation>ıklama</translation>
</message>
<message>
<location filename="../src/GUI/waypointitem.cpp" line="42"/>
<source>Links</source>
<translation>Bağlantılar</translation>
</message>
</context>
</TS>

View File

@ -227,6 +227,22 @@
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>gpi</string>
</array>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/vnd.garmin.gpi</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>icons/gpi.icns</string>
<key>CFBundleTypeName</key>
<string>Garmin POI File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
<key>UTImportedTypeDeclarations</key>
@ -504,6 +520,27 @@
<string>application/vnd.naviter.seeyou.cup</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>com.garmin.gpi</string>
<key>UTTypeReferenceURL</key>
<string>http://www.garmin.com</string>
<key>UTTypeDescription</key>
<string>Garmin POI File</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gpi</string>
</array>
<key>public.mime-type</key>
<string>application/vnd.garmin.cup</string>
</dict>
</dict>
</array>
</dict>
</plist>

View File

@ -7,7 +7,7 @@
; The name of the installer
Name "GPXSee"
; Program version
!define VERSION "7.15"
!define VERSION "7.16"
; The file to write
OutFile "GPXSee-${VERSION}.exe"
@ -106,19 +106,20 @@ Section "GPXSee" SEC_APP
; Associate file formats
DetailPrint "Associating file types..."
!insertmacro FILE_ASSOCIATION_ADD "gpx" "GPS Exchange Format" 6
!insertmacro FILE_ASSOCIATION_ADD "tcx" "Training Center XML" 7
!insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 8
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 9
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 10
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 data" 11
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track Point File" 12
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 13
!insertmacro FILE_ASSOCIATION_ADD "gpx" "GPS Exchange Format" 7
!insertmacro FILE_ASSOCIATION_ADD "tcx" "Training Center XML" 8
!insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 9
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 10
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 11
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 Data" 12
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track Point File" 13
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 14
!insertmacro FILE_ASSOCIATION_ADD "wpt" "OziExplorer Waypoint File" 1
!insertmacro FILE_ASSOCIATION_ADD "loc" "Geocaching.com Waypoint File" 2
!insertmacro FILE_ASSOCIATION_ADD "slf" "Sigma Log File" 3
!insertmacro FILE_ASSOCIATION_ADD "geojson" "GeoJSON" 4
!insertmacro FILE_ASSOCIATION_ADD "cup" "SeeYou CUP file" 5
!insertmacro FILE_ASSOCIATION_ADD "cup" "SeeYou CUP File" 5
!insertmacro FILE_ASSOCIATION_ADD "gpi" "Garmin POI File" 6
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
SectionEnd
@ -228,7 +229,8 @@ Section "Uninstall"
!insertmacro FILE_ASSOCIATION_REMOVE "loc"
!insertmacro FILE_ASSOCIATION_REMOVE "slf"
!insertmacro FILE_ASSOCIATION_REMOVE "geojson"
!insertmacro FILE_ASSOCIATION_REMOVE "cup"
!insertmacro FILE_ASSOCIATION_REMOVE "cup"
!insertmacro FILE_ASSOCIATION_REMOVE "gpi"
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
SectionEnd
@ -259,4 +261,4 @@ LangString DESC_LOCALIZATION ${LANG_ENGLISH} \
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_MSVC} $(DESC_MSVC)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_APP} $(DESC_APP)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_LOCALIZATION} $(DESC_LOCALIZATION)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
!insertmacro MUI_FUNCTION_DESCRIPTION_END

View File

@ -7,7 +7,7 @@
; The name of the installer
Name "GPXSee"
; Program version
!define VERSION "7.15"
!define VERSION "7.16"
; The file to write
OutFile "GPXSee-${VERSION}_x64.exe"
@ -113,19 +113,20 @@ Section "GPXSee" SEC_APP
; Associate file formats
DetailPrint "Associating file types..."
!insertmacro FILE_ASSOCIATION_ADD "gpx" "GPS Exchange Format" 6
!insertmacro FILE_ASSOCIATION_ADD "tcx" "Training Center XML" 7
!insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 8
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 9
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 10
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 data" 11
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track Point File" 12
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 13
!insertmacro FILE_ASSOCIATION_ADD "gpx" "GPS Exchange Format" 7
!insertmacro FILE_ASSOCIATION_ADD "tcx" "Training Center XML" 8
!insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 9
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 10
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 11
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 Data" 12
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track Point File" 13
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 14
!insertmacro FILE_ASSOCIATION_ADD "wpt" "OziExplorer Waypoint File" 1
!insertmacro FILE_ASSOCIATION_ADD "loc" "Geocaching.com Waypoint File" 2
!insertmacro FILE_ASSOCIATION_ADD "slf" "Sigma Log File" 3
!insertmacro FILE_ASSOCIATION_ADD "geojson" "GeoJSON" 4
!insertmacro FILE_ASSOCIATION_ADD "cup" "SeeYou CUP file" 5
!insertmacro FILE_ASSOCIATION_ADD "cup" "SeeYou CUP File" 5
!insertmacro FILE_ASSOCIATION_ADD "gpi" "Garmin POI File" 6
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
SectionEnd
@ -232,6 +233,7 @@ Section "Uninstall"
!insertmacro FILE_ASSOCIATION_REMOVE "slf"
!insertmacro FILE_ASSOCIATION_REMOVE "geojson"
!insertmacro FILE_ASSOCIATION_REMOVE "cup"
!insertmacro FILE_ASSOCIATION_REMOVE "gpi"
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
SectionEnd
@ -262,4 +264,4 @@ LangString DESC_LOCALIZATION ${LANG_ENGLISH} \
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_MSVC} $(DESC_MSVC)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_APP} $(DESC_APP)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_LOCALIZATION} $(DESC_LOCALIZATION)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
!insertmacro MUI_FUNCTION_DESCRIPTION_END

View File

@ -2,12 +2,13 @@
#include <QApplication>
#include <QCursor>
#include <QPainter>
#include <QGraphicsSceneMouseEvent>
#include "map/map.h"
#include "tooltip.h"
#include "popup.h"
#include "areaitem.h"
QString AreaItem::toolTip() const
ToolTip AreaItem::toolTip() const
{
ToolTip tt;
@ -17,7 +18,7 @@ QString AreaItem::toolTip() const
tt.insert(qApp->translate("PolygonItem", "Description"),
_area.description());
return tt.toString();
return tt;
}
AreaItem::AreaItem(const Area &area, Map *map, QGraphicsItem *parent)
@ -35,8 +36,6 @@ AreaItem::AreaItem(const Area &area, Map *map, QGraphicsItem *parent)
setCursor(Qt::ArrowCursor);
setAcceptHoverEvents(true);
setToolTip(toolTip());
}
@ -171,3 +170,9 @@ void AreaItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
setZValue(zValue() - 1.0);
update();
}
void AreaItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
Popup::show(event->screenPos(), toolTip().toString(), event->widget());
QGraphicsItem::mousePressEvent(event);
}

View File

@ -3,6 +3,7 @@
#include <QGraphicsItem>
#include "data/area.h"
#include "tooltip.h"
class Map;
@ -26,13 +27,15 @@ public:
void setStyle(Qt::PenStyle style);
void setDigitalZoom(int zoom);
private:
protected:
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
void mousePressEvent(QGraphicsSceneMouseEvent *event);
private:
QPainterPath painterPath(const Polygon &polygon);
void updatePainterPath();
QString toolTip() const;
ToolTip toolTip() const;
Area _area;
Map *_map;

View File

@ -7,10 +7,9 @@ CadenceGraphItem::CadenceGraphItem(const Graph &graph, GraphType type,
int width, const QColor &color, QGraphicsItem *parent)
: GraphItem(graph, type, width, color, parent)
{
setToolTip(toolTip());
}
QString CadenceGraphItem::toolTip() const
QString CadenceGraphItem::info() const
{
ToolTip tt;
QLocale l(QLocale::system());

View File

@ -11,8 +11,7 @@ public:
CadenceGraphItem(const Graph &graph, GraphType type, int width,
const QColor &color, QGraphicsItem *parent = 0);
private:
QString toolTip() const;
QString info() const;
};
#endif // CADENCEGRAPHITEM_H

View File

@ -24,15 +24,13 @@ ElevationGraphItem::ElevationGraphItem(const Graph &graph, GraphType type,
_descent += prev - cur;
}
}
setToolTip(toolTip(Metric));
}
QString ElevationGraphItem::toolTip(Units units) const
QString ElevationGraphItem::info() const
{
ToolTip tt;
qreal scale = (units == Metric) ? 1.0 : M2FT;
QString su = (units == Metric) ? tr("m") : tr("ft");
qreal scale = (_units == Metric) ? 1.0 : M2FT;
QString su = (_units == Metric) ? tr("m") : tr("ft");
QLocale l(QLocale::system());
tt.insert(tr("Ascent"), l.toString(ascent() * scale, 'f', 0)
@ -46,8 +44,3 @@ QString ElevationGraphItem::toolTip(Units units) const
return tt.toString();
}
void ElevationGraphItem::setUnits(Units units)
{
setToolTip(toolTip(units));
}

View File

@ -16,11 +16,9 @@ public:
qreal max() const {return _max;}
qreal min() const {return _min;}
void setUnits(Units units);
QString info() const;
private:
QString toolTip(Units units) const;
qreal _ascent, _descent, _min, _max;
};

View File

@ -25,11 +25,9 @@ GearRatioGraphItem::GearRatioGraphItem(const Graph &graph, GraphType type,
}
}
_top = key;
setToolTip(toolTip());
}
QString GearRatioGraphItem::toolTip() const
QString GearRatioGraphItem::info() const
{
ToolTip tt;
QLocale l(QLocale::system());

View File

@ -13,12 +13,11 @@ public:
const QColor &color, QGraphicsItem *parent = 0);
qreal top() const {return _top;}
const QMap<qreal, qreal> &map() const {return _map;}
private:
QString toolTip() const;
QString info() const;
private:
QMap<qreal, qreal> _map;
qreal _top;
};

48
src/GUI/graphicsscene.cpp Normal file
View File

@ -0,0 +1,48 @@
#include <QGraphicsSceneHelpEvent>
#include <QGraphicsView>
#include "popup.h"
#include "graphicsscene.h"
/* Standard GraphicsScene::items() is not pixel accurate, so we use the
following function which has the same logic as used in the original
QGraphicsScene::helpEvent() function. */
QList<QGraphicsItem *> GraphicsScene::itemsAtPosition(const QPoint &screenPos,
const QPointF &scenePos, QWidget *widget) const
{
QGraphicsView *view = widget
? qobject_cast<QGraphicsView *>(widget->parentWidget()) : 0;
if (!view)
return items(scenePos, Qt::IntersectsItemShape, Qt::DescendingOrder,
QTransform());
const QRectF pointRect(QPointF(widget->mapFromGlobal(screenPos)),
QSizeF(1, 1));
if (!view->isTransformed())
return items(pointRect, Qt::IntersectsItemShape, Qt::DescendingOrder);
const QTransform viewTransform = view->viewportTransform();
if (viewTransform.type() <= QTransform::TxScale)
return items(viewTransform.inverted().mapRect(pointRect),
Qt::IntersectsItemShape, Qt::DescendingOrder, viewTransform);
return items(viewTransform.inverted().map(pointRect),
Qt::IntersectsItemShape, Qt::DescendingOrder, viewTransform);
}
void GraphicsScene::helpEvent(QGraphicsSceneHelpEvent *event)
{
QList<QGraphicsItem *> list = itemsAtPosition(event->screenPos(),
event->scenePos(), event->widget());
for (int i = 0; i < list.size(); i++) {
if (list.at(i)->type() == QGraphicsItem::UserType + 1) {
GraphicsItem *mi = static_cast<GraphicsItem*>(list.at(i));
Popup::show(event->screenPos(), mi->info(), event->widget());
return;
}
}
/* No need to process QGraphicsScene::helpEvent() */
}

29
src/GUI/graphicsscene.h Normal file
View File

@ -0,0 +1,29 @@
#ifndef GRAPHICSSCENE_H
#define GRAPHICSSCENE_H
#include <QGraphicsScene>
#include <QGraphicsItem>
class GraphicsItem : public QGraphicsItem
{
public:
GraphicsItem(QGraphicsItem *parent = 0) : QGraphicsItem(parent) {}
virtual QString info() const = 0;
int type() const {return QGraphicsItem::UserType + 1;}
};
class GraphicsScene : public QGraphicsScene
{
public:
GraphicsScene(QObject *parent = 0) : QGraphicsScene(parent) {}
protected:
void helpEvent(QGraphicsSceneHelpEvent *event);
private:
QList<QGraphicsItem *> itemsAtPosition(const QPoint &screenPos,
const QPointF &scenePos, QWidget *widget) const;
};
#endif // GRAPHICSSCENE_H

View File

@ -1,13 +1,16 @@
#include <QPainter>
#include <QGraphicsSceneMouseEvent>
#include "popup.h"
#include "graphitem.h"
GraphItem::GraphItem(const Graph &graph, GraphType type, int width,
const QColor &color, QGraphicsItem *parent)
: QGraphicsObject(parent), _graph(graph), _type(type)
: GraphicsItem(parent), _graph(graph), _type(type)
{
Q_ASSERT(_graph.isValid());
_units = Metric;
_pen = QPen(color, width);
_sx = 0; _sy = 0;
_time = _graph.hasTime();
@ -231,7 +234,10 @@ void GraphItem::updateBounds()
}
}
_bounds = QRectF(QPointF(left, top), QPointF(right, bottom));
if (left == right)
_bounds = QRectF();
else
_bounds = QRectF(QPointF(left, top), QPointF(right, bottom));
}
qreal GraphItem::max() const
@ -303,3 +309,9 @@ void GraphItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
emit selected(false);
}
void GraphItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
Popup::show(event->screenPos(), info(), event->widget());
GraphicsItem::mousePressEvent(event);
}

View File

@ -5,8 +5,9 @@
#include <QPen>
#include "data/graph.h"
#include "units.h"
#include "graphicsscene.h"
class GraphItem : public QGraphicsObject
class GraphItem : public QObject, public GraphicsItem
{
Q_OBJECT
@ -15,6 +16,8 @@ public:
QGraphicsItem *parent = 0);
virtual ~GraphItem() {}
virtual QString info() const = 0;
QPainterPath shape() const {return _shape;}
QRectF boundingRect() const {return _shape.boundingRect();}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
@ -30,7 +33,7 @@ public:
void setGraphType(GraphType type);
void setColor(const QColor &color);
void setWidth(int width);
virtual void setUnits(Units units) {Q_UNUSED(units);}
void setUnits(Units units) {_units = units;}
qreal yAtX(qreal x);
qreal distanceAtTime(qreal time);
@ -45,10 +48,14 @@ public slots:
void emitSliderPositionChanged(qreal);
void hover(bool hover);
private:
protected:
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
void mousePressEvent(QGraphicsSceneMouseEvent *event);
Units _units;
private:
const GraphSegment *segment(qreal x, GraphType type) const;
void updatePath();
void updateShape();
@ -61,7 +68,6 @@ private:
QRectF _bounds;
qreal _sx, _sy;
QPen _pen;
bool _time;
};

View File

@ -15,6 +15,7 @@
#include "graphitem.h"
#include "pathitem.h"
#include "format.h"
#include "graphicsscene.h"
#include "graphview.h"
@ -23,7 +24,7 @@
GraphView::GraphView(QWidget *parent)
: QGraphicsView(parent)
{
_scene = new QGraphicsScene(this);
_scene = new GraphicsScene(this);
setScene(_scene);
setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
@ -37,9 +38,9 @@ GraphView::GraphView(QWidget *parent)
_yAxis = new AxisItem(AxisItem::Y);
_yAxis->setZValue(1.0);
_slider = new SliderItem();
_slider->setZValue(3.0);
_slider->setZValue(4.0);
_sliderInfo = new SliderInfoItem(_slider);
_sliderInfo->setZValue(3.0);
_sliderInfo->setZValue(4.0);
_info = new InfoItem();
_grid = new GridItem();
_message = new QGraphicsSimpleTextItem(tr("Data not available"));
@ -165,6 +166,10 @@ void GraphView::setGraphType(GraphType type)
for (int i = 0; i < _graphs.count(); i++) {
GraphItem *gi = _graphs.at(i);
gi->setGraphType(type);
if (gi->bounds().isNull())
removeItem(gi);
else
addItem(gi);
_bounds |= gi->bounds();
}
@ -193,7 +198,8 @@ void GraphView::addGraph(GraphItem *graph)
SLOT(emitSliderPositionChanged(qreal)));
_graphs.append(graph);
_scene->addItem(graph);
if (!graph->bounds().isNull())
_scene->addItem(graph);
_bounds |= graph->bounds();
setXUnits();
@ -357,13 +363,13 @@ void GraphView::wheelEvent(QWheelEvent *e)
QGraphicsView::wheelEvent(e);
}
void GraphView::paintEvent(QPaintEvent *event)
void GraphView::paintEvent(QPaintEvent *e)
{
QRectF viewRect(mapToScene(rect()).boundingRect());
_info->setPos(QPointF(viewRect.left() + (viewRect.width()
- _info->boundingRect().width())/2.0, _info->pos().y()));
QGraphicsView::paintEvent(event);
QGraphicsView::paintEvent(e);
}
void GraphView::plot(QPainter *painter, const QRectF &target, qreal scale)

View File

@ -17,6 +17,7 @@ class GraphItem;
class PathItem;
class GridItem;
class QGraphicsSimpleTextItem;
class GraphicsScene;
class GraphView : public QGraphicsView
{
@ -48,10 +49,15 @@ signals:
protected:
void addGraph(GraphItem *graph);
void removeGraph(GraphItem *graph);
void setGraphType(GraphType type);
void setUnits(Units units);
void resizeEvent(QResizeEvent *e);
void mousePressEvent(QMouseEvent *e);
void wheelEvent(QWheelEvent *e);
void changeEvent(QEvent *e);
void paintEvent(QPaintEvent *e);
const QString &yLabel() const {return _yLabel;}
const QString &yUnits() const {return _yUnits;}
qreal yScale() const {return _yScale;}
@ -88,13 +94,7 @@ private:
void removeItem(QGraphicsItem *item);
void addItem(QGraphicsItem *item);
void resizeEvent(QResizeEvent *e);
void mousePressEvent(QMouseEvent *e);
void wheelEvent(QWheelEvent *e);
void changeEvent(QEvent *e);
void paintEvent(QPaintEvent *event);
QGraphicsScene *_scene;
GraphicsScene *_scene;
AxisItem *_xAxis, *_yAxis;
SliderItem *_slider;

View File

@ -1580,7 +1580,6 @@ void GUI::keyPressEvent(QKeyEvent *event)
else
_movingTimeAction->trigger();
break;
case Qt::Key_Escape:
if (_fullscreenAction->isChecked()) {
_fullscreenAction->setChecked(false);

View File

@ -7,10 +7,9 @@ HeartRateGraphItem::HeartRateGraphItem(const Graph &graph, GraphType type,
int width, const QColor &color, QGraphicsItem *parent)
: GraphItem(graph, type, width, color, parent)
{
setToolTip(toolTip());
}
QString HeartRateGraphItem::toolTip() const
QString HeartRateGraphItem::info() const
{
ToolTip tt;
QLocale l(QLocale::system());

View File

@ -11,8 +11,7 @@ public:
HeartRateGraphItem(const Graph &graph, GraphType type, int width,
const QColor &color, QGraphicsItem *parent = 0);
private:
QString toolTip() const;
QString info() const;
};
#endif // HEARTRATEGRAPHITEM_H

View File

@ -16,6 +16,7 @@
#include "scaleitem.h"
#include "coordinatesitem.h"
#include "keys.h"
#include "graphicsscene.h"
#include "mapview.h"
@ -32,7 +33,7 @@ MapView::MapView(Map *map, POI *poi, QWidget *parent)
Q_ASSERT(map != 0);
Q_ASSERT(poi != 0);
_scene = new QGraphicsScene(this);
_scene = new GraphicsScene(this);
setScene(_scene);
setDragMode(QGraphicsView::ScrollHandDrag);
setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
@ -215,12 +216,12 @@ QList<PathItem *> MapView::loadData(const Data &data)
QList<PathItem *> paths;
int zoom = _map->zoom();
for (int i = 0; i < data.areas().count(); i++)
addArea(data.areas().at(i));
for (int i = 0; i < data.tracks().count(); i++)
paths.append(addTrack(data.tracks().at(i)));
for (int i = 0; i < data.routes().count(); i++)
paths.append(addRoute(data.routes().at(i)));
for (int i = 0; i < data.areas().count(); i++)
addArea(data.areas().at(i));
addWaypoints(data.waypoints());
if (_tracks.empty() && _routes.empty() && _waypoints.empty()

View File

@ -30,6 +30,7 @@ class PathItem;
class GraphItem;
class AreaItem;
class Area;
class GraphicsScene;
class MapView : public QGraphicsView
{
@ -120,7 +121,7 @@ private:
void mouseMoveEvent(QMouseEvent *event);
void leaveEvent(QEvent *event);
QGraphicsScene *_scene;
GraphicsScene *_scene;
ScaleItem *_mapScale;
CoordinatesItem *_coordinates;
QList<TrackItem*> _tracks;

View File

@ -1,9 +1,11 @@
#include <cmath>
#include <QCursor>
#include <QPainter>
#include <QGraphicsSceneMouseEvent>
#include "common/greatcircle.h"
#include "map/map.h"
#include "pathtickitem.h"
#include "popup.h"
#include "pathitem.h"
@ -20,7 +22,7 @@ static inline unsigned segments(qreal distance)
}
PathItem::PathItem(const Path &path, Map *map, QGraphicsItem *parent)
: QGraphicsObject(parent), _path(path), _map(map)
: GraphicsItem(parent), _path(path), _map(map)
{
Q_ASSERT(_path.isValid());
@ -38,6 +40,7 @@ PathItem::PathItem(const Path &path, Map *map, QGraphicsItem *parent)
_markerDistance = _path.first().first().distance();
_marker = new MarkerItem(this);
_marker->setZValue(1);
_marker->setPos(position(_markerDistance));
setCursor(Qt::ArrowCursor);
@ -336,7 +339,6 @@ void PathItem::updateTicks()
_ticks[i] = new PathTickItem(tr, (i + 1) * ts, this);
_ticks[i]->setPos(position((i + 1) * ts * xInM()));
_ticks[i]->setColor(_pen.color());
_ticks[i]->setToolTip(toolTip());
}
}
@ -381,3 +383,9 @@ void PathItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
emit selected(false);
}
void PathItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
Popup::show(event->screenPos(), info(), event->widget());
GraphicsItem::mousePressEvent(event);
}

View File

@ -6,16 +6,18 @@
#include "data/path.h"
#include "markeritem.h"
#include "units.h"
#include "graphicsscene.h"
class Map;
class PathTickItem;
class PathItem : public QGraphicsObject
class PathItem : public QObject, public GraphicsItem
{
Q_OBJECT
public:
PathItem(const Path &path, Map *map, QGraphicsItem *parent = 0);
virtual ~PathItem() {}
QPainterPath shape() const {return _shape;}
QRectF boundingRect() const {return _shape.boundingRect();}
@ -35,8 +37,6 @@ public:
void showMarker(bool show);
void showTicks(bool show);
Units units() const {return _units;}
public slots:
void moveMarker(qreal distance);
void hover(bool hover);
@ -44,6 +44,13 @@ public slots:
signals:
void selected(bool);
protected:
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
void mousePressEvent(QGraphicsSceneMouseEvent *event);
Units _units;
private:
const PathSegment *segment(qreal x) const;
QPointF position(qreal distance) const;
@ -55,15 +62,11 @@ private:
unsigned tickSize() const;
void updateTicks();
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
Path _path;
Map *_map;
qreal _markerDistance;
int _digitalZoom;
Units _units;
qreal _width;
QPen _pen;
QPainterPath _shape;

View File

@ -1,6 +1,9 @@
#include <QPainter>
#include <QCursor>
#include <QGraphicsSceneMouseEvent>
#include "font.h"
#include "popup.h"
#include "pathitem.h"
#include "pathtickitem.h"
@ -17,7 +20,7 @@ static QFont defaultFont()
QFont PathTickItem::_font = defaultFont();
PathTickItem::PathTickItem(const QRectF &tickRect, int value,
QGraphicsItem *parent) : QGraphicsItem(parent), _tickRect(tickRect),
QGraphicsItem *parent) : GraphicsItem(parent), _tickRect(tickRect),
_text(QString::number(value))
{
_tickRect.moveCenter(QPointF(0, -_tickRect.height()/2.0 - 3));
@ -69,3 +72,10 @@ QRect PathTickItem::tickRect(int value)
return fm.boundingRect(QRect(), Qt::AlignCenter,
QString::number(qMax(value, 10))).adjusted(-2, 0, 2, 0);
}
void PathTickItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
const PathItem *pi = static_cast<PathItem*>(parentItem());
Popup::show(event->screenPos(), pi->info(), event->widget());
QGraphicsItem::mousePressEvent(event);
}

View File

@ -3,8 +3,9 @@
#include <QFont>
#include <QGraphicsItem>
#include "graphicsscene.h"
class PathTickItem : public QGraphicsItem
class PathTickItem : public GraphicsItem
{
public:
PathTickItem(const QRectF &tickRect, int value, QGraphicsItem *parent = 0);
@ -16,8 +17,14 @@ public:
void setPos(const QPointF &pos);
void setColor(const QColor &color) {_brush = QBrush(color);}
int type() const {return parentItem()->type();}
QString info() const {return static_cast<GraphicsItem*>(parentItem())->info();}
static QRect tickRect(int value);
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
private:
QRectF _tickRect;
QString _text;

165
src/GUI/popup.cpp Normal file
View File

@ -0,0 +1,165 @@
#include <QToolTip>
#include <QStyle>
#include <QStylePainter>
#include <QStyleOptionFrame>
#include <QLabel>
#include <QMouseEvent>
#include <QApplication>
#include <QDesktopWidget>
#include <QBasicTimer>
#include "popup.h"
class PopupLabel : public QLabel
{
public:
PopupLabel(const QString &text, QWidget *parent = 0);
~PopupLabel();
bool eventFilter(QObject *o, QEvent *ev);
void place(const QPoint &pos, QWidget *w);
void deleteAfterTimer();
void stopTimer() {_timer.stop();}
static PopupLabel *_instance;
protected:
void paintEvent(QPaintEvent *event);
void timerEvent(QTimerEvent *event);
void contextMenuEvent(QContextMenuEvent *) {}
private:
QBasicTimer _timer;
};
PopupLabel *PopupLabel::_instance = 0;
PopupLabel::PopupLabel(const QString &text, QWidget *parent)
: QLabel(text, parent, Qt::ToolTip | Qt::BypassGraphicsProxyWidget
#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
| Qt::WindowDoesNotAcceptFocus
#endif // QT5
)
{
delete _instance;
_instance = this;
setForegroundRole(QPalette::ToolTipText);
setBackgroundRole(QPalette::ToolTipBase);
setPalette(QToolTip::palette());
ensurePolished();
setMargin(1 + style()->pixelMetric(QStyle::PM_ToolTipLabelFrameWidth, 0,
this));
setFrameStyle(QFrame::NoFrame);
setAlignment(Qt::AlignLeft);
setIndent(1);
setWindowOpacity(style()->styleHint(QStyle::SH_ToolTipLabel_Opacity, 0,
this) / 255.0);
setTextInteractionFlags(Qt::TextBrowserInteraction);
setOpenExternalLinks(true);
setWordWrap(true);
setMouseTracking(true);
qApp->installEventFilter(this);
}
PopupLabel::~PopupLabel()
{
_instance = 0;
}
void PopupLabel::paintEvent(QPaintEvent *event)
{
QStylePainter p(this);
QStyleOptionFrame opt;
opt.init(this);
p.drawPrimitive(QStyle::PE_PanelTipLabel, opt);
p.end();
QLabel::paintEvent(event);
}
void PopupLabel::timerEvent(QTimerEvent *event)
{
if (event->timerId() == _timer.timerId()) {
_timer.stop();
deleteLater();
}
}
bool PopupLabel::eventFilter(QObject *o, QEvent *ev)
{
Q_UNUSED(o);
switch (ev->type()) {
case QEvent::KeyPress:
case QEvent::KeyRelease: {
const int key = static_cast<QKeyEvent *>(ev)->key();
if (key == Qt::Key_Escape) {
deleteLater();
return true;
}
break;
}
case QEvent::FocusIn:
case QEvent::FocusOut:
case QEvent::WindowActivate:
case QEvent::WindowDeactivate:
case QEvent::Close:
deleteLater();
break;
case QEvent::MouseMove: {
QRectF r(geometry().adjusted(-5, -20, 5, 20));
QPointF p(static_cast<QMouseEvent*>(ev)->globalPos());
if (!r.contains(p))
deleteAfterTimer();
break;
}
default:
break;
}
return false;
}
void PopupLabel::place(const QPoint &pos, QWidget *w)
{
QRect screen = QApplication::desktop()->screenGeometry(w);
QPoint p(pos.x() + 2, pos.y() + 16);
if (p.x() + width() > screen.x() + screen.width())
p.rx() -= 4 + width();
if (p.y() + height() > screen.y() + screen.height())
p.ry() -= 24 + height();
if (p.y() < screen.y())
p.setY(screen.y());
if (p.x() + width() > screen.x() + screen.width())
p.setX(screen.x() + screen.width() - width());
if (p.x() < screen.x())
p.setX(screen.x());
if (p.y() + height() > screen.y() + screen.height())
p.setY(screen.y() + screen.height() - height());
this->move(p);
}
void PopupLabel::deleteAfterTimer()
{
if (!_timer.isActive())
_timer.start(300, this);
}
void Popup::show(const QPoint &pos, const QString &text, QWidget *w)
{
if (PopupLabel::_instance) {
PopupLabel::_instance->stopTimer();
PopupLabel::_instance->setText(text);
} else
PopupLabel::_instance = new PopupLabel(text);
PopupLabel::_instance->resize(PopupLabel::_instance->sizeHint());
PopupLabel::_instance->place(pos, w);
PopupLabel::_instance->showNormal();
}

14
src/GUI/popup.h Normal file
View File

@ -0,0 +1,14 @@
#ifndef POPUP_H
#define POPUP_H
class QPoint;
class QString;
class QWidget;
class Popup
{
public:
static void show(const QPoint &pos, const QString &text, QWidget *w);
};
#endif // POPUP_H

View File

@ -7,10 +7,9 @@ PowerGraphItem::PowerGraphItem(const Graph &graph, GraphType type, int width,
const QColor &color, QGraphicsItem *parent)
: GraphItem(graph, type, width, color, parent)
{
setToolTip(toolTip());
}
QString PowerGraphItem::toolTip() const
QString PowerGraphItem::info() const
{
ToolTip tt;
QLocale l(QLocale::system());

View File

@ -11,8 +11,7 @@ public:
PowerGraphItem(const Graph &graph, GraphType type, int width,
const QColor &color, QGraphicsItem *parent = 0);
private:
QString toolTip() const;
QString info() const;
};
#endif // POWERGRAPHITEM_H

View File

@ -7,7 +7,7 @@
#include "routeitem.h"
QString RouteItem::toolTip(Units units) const
QString RouteItem::info() const
{
ToolTip tt;
@ -16,7 +16,18 @@ QString RouteItem::toolTip(Units units) const
if (!_desc.isEmpty())
tt.insert(tr("Description"), _desc);
tt.insert(tr("Distance"), Format::distance(path().last().last().distance(),
units));
_units));
if (!_links.isEmpty()) {
QString links;
for (int i = 0; i < _links.size(); i++) {
const Link &link = _links.at(i);
links.append(QString("<a href=\"%0\">%1</a>").arg(link.URL(),
link.text().isEmpty() ? link.URL() : link.text()));
if (i != _links.size() - 1)
links.append("<br/>");
}
tt.insert(tr("Links"), links);
}
return tt.toString();
}
@ -32,9 +43,8 @@ RouteItem::RouteItem(const Route &route, Map *map, QGraphicsItem *parent)
_name = route.name();
_desc = route.description();
_links = route.links();
_coordinatesFormat = DecimalDegrees;
setToolTip(toolTip(Metric));
}
void RouteItem::setMap(Map *map)
@ -47,15 +57,13 @@ void RouteItem::setMap(Map *map)
void RouteItem::setUnits(Units u)
{
if (units() == u)
if (_units == u)
return;
PathItem::setUnits(u);
setToolTip(toolTip(units()));
for (int i = 0; i < _waypoints.count(); i++)
_waypoints[i]->setToolTipFormat(units(), _coordinatesFormat);
_waypoints[i]->setToolTipFormat(u, _coordinatesFormat);
PathItem::setUnits(u);
}
void RouteItem::setCoordinatesFormat(CoordinatesFormat format)
@ -66,7 +74,7 @@ void RouteItem::setCoordinatesFormat(CoordinatesFormat format)
_coordinatesFormat = format;
for (int i = 0; i < _waypoints.count(); i++)
_waypoints[i]->setToolTipFormat(units(), _coordinatesFormat);
_waypoints[i]->setToolTipFormat(_units, _coordinatesFormat);
}
void RouteItem::showWaypoints(bool show)

View File

@ -5,6 +5,7 @@
#include "pathitem.h"
#include "units.h"
#include "format.h"
#include "graphicsscene.h"
class Map;
class WaypointItem;
@ -23,11 +24,12 @@ public:
void showWaypoints(bool show);
void showWaypointLabels(bool show);
private:
QString toolTip(Units units) const;
QString info() const;
private:
QString _name;
QString _desc;
QVector<Link> _links;
CoordinatesFormat _coordinatesFormat;
QVector<WaypointItem*> _waypoints;

View File

@ -8,17 +8,14 @@ SpeedGraphItem::SpeedGraphItem(const Graph &graph, GraphType type, int width,
const QColor &color, qreal movingTime, QGraphicsItem *parent)
: GraphItem(graph, type, width, color, parent)
{
_units = Metric;
_timeType = Total;
_max = GraphItem::max();
_avg = graph.last().last().s() / graph.last().last().t();
_mavg = graph.last().last().s() / movingTime;
setToolTip(toolTip());
}
QString SpeedGraphItem::toolTip() const
QString SpeedGraphItem::info() const
{
ToolTip tt;
qreal scale = (_units == Imperial) ? MS2MIH : (_units == Nautical)
@ -40,14 +37,7 @@ QString SpeedGraphItem::toolTip() const
return tt.toString();
}
void SpeedGraphItem::setUnits(Units units)
{
_units = units;
setToolTip(toolTip());
}
void SpeedGraphItem::setTimeType(TimeType type)
{
_timeType = type;
setToolTip(toolTip());
}

View File

@ -16,15 +16,13 @@ public:
qreal mavg() const {return _mavg;}
qreal max() const {return _max;}
void setUnits(Units units);
QString info() const;
void setTimeType(TimeType type);
private:
QString toolTip() const;
qreal _avg, _mavg, _max;
TimeType _timeType;
Units _units;
};
#endif // SPEEDGRAPHITEM_H

View File

@ -10,16 +10,14 @@ TemperatureGraphItem::TemperatureGraphItem(const Graph &graph, GraphType type,
_min = GraphItem::min();
_max = GraphItem::max();
_avg = GraphItem::avg();
setToolTip(toolTip(Metric));
}
QString TemperatureGraphItem::toolTip(Units units) const
QString TemperatureGraphItem::info() const
{
ToolTip tt;
qreal scale = (units == Metric) ? 1.0 : C2FS;
qreal offset = (units == Metric) ? 0 : C2FO;
QString su = (units == Metric) ?
qreal scale = (_units == Metric) ? 1.0 : C2FS;
qreal offset = (_units == Metric) ? 0 : C2FO;
QString su = (_units == Metric) ?
QChar(0x00B0) + tr("C") : QChar(0x00B0) + tr("F");
QLocale l(QLocale::system());
@ -32,8 +30,3 @@ QString TemperatureGraphItem::toolTip(Units units) const
return tt.toString();
}
void TemperatureGraphItem::setUnits(Units units)
{
setToolTip(toolTip(units));
}

View File

@ -15,11 +15,9 @@ public:
qreal min() const {return _min;}
qreal avg() const {return _avg;}
void setUnits(Units units);
QString info() const;
private:
QString toolTip(Units units) const;
qreal _min, _max, _avg;
};

View File

@ -1,4 +1,6 @@
#include <QImageReader>
#include <QLabel>
#include "popup.h"
#include "tooltip.h"
@ -26,7 +28,8 @@ QString ToolTip::toString() const
}
html += "<div align=\"center\">";
html += QString("<img src=\"file:%0\" width=\"%1\" height=\"%2\"/>")
html += QString("<a href=\"file:%0\">"
"<img src=\"%0\" width=\"%1\" height=\"%2\"/></a>")
.arg(_img.path(), QString::number(width), QString::number(height));
html += "</div>";
}

View File

@ -5,7 +5,7 @@
#include "trackitem.h"
QString TrackItem::toolTip(Units units) const
QString TrackItem::info() const
{
ToolTip tt;
@ -14,13 +14,24 @@ QString TrackItem::toolTip(Units units) const
if (!_desc.isEmpty())
tt.insert(tr("Description"), _desc);
tt.insert(tr("Distance"), Format::distance(path().last().last().distance(),
units));
_units));
if (_time > 0)
tt.insert(tr("Total time"), Format::timeSpan(_time));
if (_movingTime > 0)
tt.insert(tr("Moving time"), Format::timeSpan(_movingTime));
if (!_date.isNull())
tt.insert(tr("Date"), _date.toString(Qt::SystemLocaleShortDate));
if (!_links.isEmpty()) {
QString links;
for (int i = 0; i < _links.size(); i++) {
const Link &link = _links.at(i);
links.append(QString("<a href=\"%0\">%1</a>").arg(link.URL(),
link.text().isEmpty() ? link.URL() : link.text()));
if (i != _links.size() - 1)
links.append("<br/>");
}
tt.insert(tr("Links"), links);
}
return tt.toString();
}
@ -30,15 +41,8 @@ TrackItem::TrackItem(const Track &track, Map *map, QGraphicsItem *parent)
{
_name = track.name();
_desc = track.description();
_links = track.links();
_date = track.date();
_time = track.time();
_movingTime = track.movingTime();
setToolTip(toolTip(Metric));
}
void TrackItem::setUnits(Units units)
{
PathItem::setUnits(units);
setToolTip(toolTip(units));
}

View File

@ -6,6 +6,7 @@
#include "data/track.h"
#include "pathitem.h"
#include "units.h"
#include "graphicsscene.h"
class Map;
@ -16,13 +17,12 @@ class TrackItem : public PathItem
public:
TrackItem(const Track &track, Map *map, QGraphicsItem *parent = 0);
void setUnits(Units units);
QString info() const;
private:
QString toolTip(Units units) const;
QString _name;
QString _desc;
QVector<Link> _links;
QDateTime _date;
qreal _time;
qreal _movingTime;

View File

@ -1,7 +1,10 @@
#include <QApplication>
#include <QPainter>
#include <QGraphicsSceneMouseEvent>
#include <QLabel>
#include "font.h"
#include "tooltip.h"
#include "popup.h"
#include "waypointitem.h"
@ -10,30 +13,41 @@
#define FS(size) \
((int)((qreal)size * 1.41))
QString WaypointItem::toolTip(Units units, CoordinatesFormat format)
QString WaypointItem::info() const
{
ToolTip tt;
if (!_waypoint.name().isEmpty())
tt.insert(qApp->translate("WaypointItem", "Name"), _waypoint.name());
tt.insert(qApp->translate("WaypointItem", "Coordinates"),
Format::coordinates(_waypoint.coordinates(), format));
Format::coordinates(_waypoint.coordinates(), _format));
if (_waypoint.hasElevation())
tt.insert(qApp->translate("WaypointItem", "Elevation"),
Format::elevation(_waypoint.elevation(), units));
Format::elevation(_waypoint.elevation(), _units));
if (_waypoint.timestamp().isValid())
tt.insert(qApp->translate("WaypointItem", "Date"),
_waypoint.timestamp().toString(Qt::SystemLocaleShortDate));
if (!_waypoint.description().isEmpty())
tt.insert(qApp->translate("WaypointItem", "Description"),
_waypoint.description());
if (!_waypoint.links().isEmpty()) {
QString links;
for (int i = 0; i < _waypoint.links().size(); i++) {
const Link &link = _waypoint.links().at(i);
links.append(QString("<a href=\"%0\">%1</a>").arg(link.URL(),
link.text().isEmpty() ? link.URL() : link.text()));
if (i != _waypoint.links().size() - 1)
links.append("<br/>");
}
tt.insert(qApp->translate("WaypointItem", "Links"), links);
}
tt.setImage(_waypoint.image());
return tt.toString();
}
WaypointItem::WaypointItem(const Waypoint &waypoint, Map *map,
QGraphicsItem *parent) : QGraphicsItem(parent)
QGraphicsItem *parent) : GraphicsItem(parent)
{
_waypoint = waypoint;
_showLabel = true;
@ -43,10 +57,12 @@ WaypointItem::WaypointItem(const Waypoint &waypoint, Map *map,
_font.setPixelSize(FS(_size));
_font.setFamily(FONT_FAMILY);
_units = Metric;
_format = DecimalDegrees;
updateCache();
setPos(map->ll2xy(waypoint.coordinates()));
setToolTip(toolTip(Metric, DecimalDegrees));
setCursor(Qt::ArrowCursor);
setAcceptHoverEvents(true);
}
@ -116,7 +132,8 @@ void WaypointItem::setColor(const QColor &color)
void WaypointItem::setToolTipFormat(Units units, CoordinatesFormat format)
{
setToolTip(toolTip(units, format));
_units = units;
_format = format;
}
void WaypointItem::showLabel(bool show)
@ -148,3 +165,10 @@ void WaypointItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
updateCache();
setZValue(zValue() - 1.0);
}
void WaypointItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
Popup::show(event->screenPos(), info(), event->widget());
/* Do not propagate the event any further as lower stacked items (path
items) would replace the popup with their own popup */
}

View File

@ -3,12 +3,15 @@
#include <cmath>
#include <QGraphicsItem>
#include <QFont>
#include "data/waypoint.h"
#include "map/map.h"
#include "units.h"
#include "graphicsscene.h"
#include "format.h"
class WaypointItem : public QGraphicsItem
class WaypointItem : public GraphicsItem
{
public:
WaypointItem(const Waypoint &waypoint, Map *map, QGraphicsItem *parent = 0);
@ -16,23 +19,26 @@ public:
const Waypoint &waypoint() const {return _waypoint;}
void setMap(Map *map) {setPos(map->ll2xy(_waypoint.coordinates()));}
void setToolTipFormat(Units units, CoordinatesFormat format);
void setSize(int size);
void setColor(const QColor &color);
void showLabel(bool show);
void setDigitalZoom(int zoom) {setScale(pow(2, -zoom));}
void setToolTipFormat(Units units, CoordinatesFormat format);
QPainterPath shape() const {return _shape;}
QRectF boundingRect() const {return _shape.boundingRect();}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget);
private:
QString info() const;
protected:
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
void mousePressEvent(QGraphicsSceneMouseEvent *event);
private:
void updateCache();
QString toolTip(Units units, CoordinatesFormat format);
Waypoint _waypoint;
QPainterPath _shape;
@ -41,6 +47,9 @@ private:
bool _showLabel;
QFont _font;
QRect _labelBB;
Units _units;
CoordinatesFormat _format;
};
#endif // WAYPOINTITEM_H

View File

@ -18,6 +18,7 @@
#endif // ENABLE_GEOJSON
#include "exifparser.h"
#include "cupparser.h"
#include "gpiparser.h"
#include "dem.h"
#include "data.h"
@ -39,6 +40,7 @@ static GeoJSONParser geojson;
#endif // ENABLE_GEOJSON
static EXIFParser exif;
static CUPParser cup;
static GPIParser gpi;
static QHash<QString, Parser*> parsers()
{
@ -63,6 +65,7 @@ static QHash<QString, Parser*> parsers()
hash.insert("jpeg", &exif);
hash.insert("jpg", &exif);
hash.insert("cup", &cup);
hash.insert("gpi", &gpi);
return hash;
}
@ -177,6 +180,7 @@ QString Data::formats()
#ifdef ENABLE_GEOJSON
+ qApp->translate("Data", "GeoJSON files") + " (*.geojson *.json);;"
#endif // ENABLE_GEOJSON
+ qApp->translate("Data", "GPI files") + " (*.gpi);;"
+ qApp->translate("Data", "GPX files") + " (*.gpx);;"
+ qApp->translate("Data", "IGC files") + " (*.igc);;"
+ qApp->translate("Data", "JPEG images") + " (*.jpg *.jpeg);;"

446
src/data/gpiparser.cpp Normal file
View File

@ -0,0 +1,446 @@
#include <QDataStream>
#include <QTextCodec>
#include <QtEndian>
#include <QUrl>
#include "gpiparser.h"
struct RecordHeader {
quint16 type;
quint16 flags;
quint32 size;
quint32 extra;
};
class TranslatedString {
public:
TranslatedString() {}
TranslatedString(const QString &lang, const QString &str)
: _lang(lang), _str(str) {}
const QString &str() const {return _str;}
const QString &lang() const {return _lang;}
private:
QString _lang;
QString _str;
};
static inline double toWGS(qint32 v)
{
return (double)(((double)v / (double)(1U<<31)) * (double)180);
}
static quint16 nextHeaderType(QDataStream &stream)
{
quint16 type = 0;
stream.device()->peek((char*)&type, sizeof(type));
return qFromLittleEndian(type);
}
static quint8 readRecordHeader(QDataStream &stream, RecordHeader &hdr)
{
stream >> hdr.type >> hdr.flags >> hdr.size;
if (hdr.flags & 0xA)
stream >> hdr.extra;
return (hdr.flags & 0xA) ? 12 : 8;
}
static quint32 skipRecord(QDataStream &stream)
{
RecordHeader rh;
quint8 rs = readRecordHeader(stream, rh);
stream.skipRawData(rh.size);
return rs + rh.size;
}
static quint32 readFprsRecord(QDataStream &stream)
{
RecordHeader rh;
quint16 s1;
quint8 rs, s2, s3, s4;
rs = readRecordHeader(stream, rh);
stream >> s1 >> s2 >> s3 >> s4;
return rs + 5;
}
static quint16 readString(QDataStream &stream, QTextCodec *codec, QString &str)
{
quint16 len;
stream >> len;
QByteArray ba;
ba.resize(len);
stream.readRawData(ba.data(), len);
str = codec ? codec->toUnicode(ba) : QString::fromLatin1(ba);
return len + 2;
}
static quint32 readTranslatedObjects(QDataStream &stream, QTextCodec *codec,
QList<TranslatedString> &objects)
{
qint32 size = 0, ret;
char lang[2];
objects.clear();
stream >> size;
ret = size + 4;
while (size > 0) {
QString str;
stream.readRawData(lang, sizeof(lang));
size -= readString(stream, codec, str) + 2;
objects.append(TranslatedString(lang, str));
}
if (size < 0)
stream.setStatus(QDataStream::ReadCorruptData);
return ret;
}
static quint32 readDescription(QDataStream &stream, QTextCodec *codec,
Waypoint &waypoint)
{
RecordHeader rh;
quint8 rs;
quint32 ds;
QList<TranslatedString> obj;
rs = readRecordHeader(stream, rh);
ds = readTranslatedObjects(stream, codec, obj);
if (!obj.isEmpty())
waypoint.setDescription(obj.first().str());
if (ds != rh.size)
stream.setStatus(QDataStream::ReadCorruptData);
return rs + rh.size;
}
static quint32 readNotes(QDataStream &stream, QTextCodec *codec,
Waypoint &waypoint)
{
RecordHeader rh;
quint8 rs, s1;
quint32 ds = 1;
rs = readRecordHeader(stream, rh);
stream >> s1;
if (s1 & 0x1) {
QList<TranslatedString> obj;
ds += readTranslatedObjects(stream, codec, obj);
if (!obj.isEmpty() && waypoint.description().isNull())
waypoint.setDescription(obj.first().str());
}
if (s1 & 0x2) {
QString str;
ds += readString(stream, codec, str);
if (!str.isEmpty() && waypoint.description().isNull())
waypoint.setDescription(str);
}
if (ds != rh.size)
stream.setStatus(QDataStream::ReadCorruptData);
return rs + rh.size;
}
static quint32 readContact(QDataStream &stream, QTextCodec *codec,
Waypoint &waypoint)
{
RecordHeader rh;
quint8 rs;
quint16 s1;
quint32 ds = 2;
QString str;
QList<TranslatedString> obj;
rs = readRecordHeader(stream, rh);
stream >> s1;
if (s1 & 0x1) // phone
ds += readString(stream, codec, str);
if (s1 & 0x2) // phone2
ds += readString(stream, codec, str);
if (s1 & 0x4) // fax
ds += readString(stream, codec, str);
if (s1 & 0x8) // mail
ds += readString(stream, codec, str);
if (s1 & 0x10) { // web
ds += readString(stream, codec, str);
QUrl url(str);
waypoint.addLink(Link(url.scheme().isEmpty()
? "http://" + str : str, str));
}
if (s1 & 0x20) // unknown
ds += readTranslatedObjects(stream, codec, obj);
if (ds != rh.size)
stream.setStatus(QDataStream::ReadCorruptData);
return rs + rh.size;
}
static quint32 readPOI(QDataStream &stream, QTextCodec *codec,
QVector<Waypoint> &waypoints)
{
RecordHeader rh;
quint8 rs;
quint32 ds;
qint32 s1, s2;
quint16 s3;
QList<TranslatedString> obj;
rs = readRecordHeader(stream, rh);
stream >> s1 >> s2 >> s3;
stream.skipRawData(s3);
ds = 10 + s3;
ds += readTranslatedObjects(stream, codec, obj);
waypoints.append(Waypoint(Coordinates(toWGS(s2), toWGS(s1))));
if (!obj.isEmpty())
waypoints.last().setName(obj.first().str());
while (ds < rh.size) {
switch(nextHeaderType(stream)) {
case 10:
ds += readDescription(stream, codec, waypoints.last());
break;
case 12:
ds += readContact(stream, codec, waypoints.last());
break;
case 14:
ds += readNotes(stream, codec, waypoints.last());
break;
default:
ds += skipRecord(stream);
}
}
if (ds != rh.size)
stream.setStatus(QDataStream::ReadCorruptData);
return rs + rh.size;
}
static quint32 readSpatialIndex(QDataStream &stream, QTextCodec *codec,
QVector<Waypoint> &waypoints)
{
RecordHeader rh;
quint32 ds, s5;
qint32 top, right, bottom, left;
quint16 s6;
quint8 rs;
rs = readRecordHeader(stream, rh);
stream >> top >> right >> bottom >> left >> s5 >> s6;
stream.skipRawData(s6);
ds = 22 + s6;
if (rh.flags & 0x8) {
while (ds < rh.size) {
switch(nextHeaderType(stream)) {
case 2:
ds += readPOI(stream, codec, waypoints);
break;
case 8:
ds += readSpatialIndex(stream, codec, waypoints);
break;
default:
ds += skipRecord(stream);
}
}
}
if (ds != rh.size)
stream.setStatus(QDataStream::ReadCorruptData);
return rs + rh.size;
}
static quint32 readFileDataRecord(QDataStream &stream, QTextCodec *codec)
{
RecordHeader rh;
quint32 ds, s1;
quint16 s2, s3;
quint8 rs;
QList<TranslatedString> obj;
rs = readRecordHeader(stream, rh);
stream >> s1 >> s2 >> s3;
ds = 8;
ds += readTranslatedObjects(stream, codec, obj);
ds += readTranslatedObjects(stream, codec, obj);
if (s1 & 0x10) {
quint8 ss1, ss2;
quint16 ss3;
stream >> ss1 >> ss2 >> ss3;
ds += 4;
}
if (s1 & 0x100) {
quint32 ss1;
stream >> ss1;
if (ss1)
stream.skipRawData(ss1);
ds += ss1 + 4;
}
if (s1 & 0x400) {
QString str;
ds += readString(stream, codec, str);
}
if (s1 & 0x400000) {
quint16 ss1;
stream >> ss1;
if (ss1)
stream.skipRawData(ss1);
ds += ss1 + 2;
}
if (ds != rh.size)
stream.setStatus(QDataStream::ReadCorruptData);
return rs + rh.size;
}
bool GPIParser::readFileHeader(QDataStream &stream)
{
RecordHeader rh;
quint32 ds, s7;
quint16 s10;
quint8 s5, s6, s8, s9;
char magic[6];
readRecordHeader(stream, rh);
stream.readRawData(magic, sizeof(magic));
if (memcmp(magic, "GRMREC", sizeof(magic))) {
_errorString = "Not a GPI file";
return false;
}
stream >> s5 >> s6 >> s7 >> s8 >> s9 >> s10;
stream.skipRawData(s10);
ds = sizeof(magic) + 10 + s10;
if (rh.flags & 8)
ds += readFprsRecord(stream);
if (s8 & 0x4) {
_errorString = "Encrypted GPI files not supported";
return false;
}
if (stream.status() != QDataStream::Ok || ds != rh.size) {
_errorString = "Invalid file header";
return false;
} else
return true;
}
bool GPIParser::readGPIHeader(QDataStream &stream, QTextCodec *codec)
{
RecordHeader rh;
char m1[6], m2[2];
quint16 codepage = 0;
quint8 s2, s3;
quint32 ds;
readRecordHeader(stream, rh);
stream.readRawData(m1, sizeof(m1));
stream.readRawData(m2, sizeof(m2));
stream >> codepage >> s2 >> s3;
ds = sizeof(m1) + sizeof(m2) + 4;
if (codepage == 65001)
codec = QTextCodec::codecForName("UTF-8");
else if (codepage == 0)
codec = 0;
else
codec = QTextCodec::codecForName(QString("CP%1").arg(codepage)
.toLatin1());
if (s2 & 0x10)
ds += readFileDataRecord(stream, codec);
if (stream.status() != QDataStream::Ok || ds != rh.size) {
_errorString = "Invalid GPI header";
return false;
} else
return true;
}
void GPIParser::readPOIDatabase(QDataStream &stream, QTextCodec *codec,
QVector<Waypoint> &waypoints)
{
RecordHeader rh;
QList<TranslatedString> obj;
quint32 ds;
readRecordHeader(stream, rh);
ds = readTranslatedObjects(stream, codec, obj);
ds += readSpatialIndex(stream, codec, waypoints);
if (rh.flags & 0x8) {
while (ds < rh.size) {
switch(nextHeaderType(stream)) {
case 5: // symbol
case 7: // category
default:
ds += skipRecord(stream);
}
}
}
if (ds != rh.size)
stream.setStatus(QDataStream::ReadCorruptData);
}
bool GPIParser::readEntry(QDataStream &stream, QTextCodec *codec,
QVector<Waypoint> &waypoints)
{
switch (nextHeaderType(stream)) {
case 0x09: // POI database
readPOIDatabase(stream, codec, waypoints);
break;
case 0xffff: // EOF
skipRecord(stream);
return false;
case 0x16: // route
case 0x15: // info header
default:
skipRecord(stream);
}
return true;
}
bool GPIParser::readData(QDataStream &stream, QTextCodec *codec,
QVector<Waypoint> &waypoints)
{
while (stream.status() == QDataStream::Ok)
if (!readEntry(stream, codec, waypoints))
return stream.atEnd();
return false;
}
bool GPIParser::parse(QFile *file, QList<TrackData> &tracks,
QList<RouteData> &routes, QList<Area> &polygons, QVector<Waypoint> &waypoints)
{
Q_UNUSED(tracks);
Q_UNUSED(routes);
Q_UNUSED(polygons);
QDataStream stream(file);
QTextCodec *codec = 0;
stream.setByteOrder(QDataStream::LittleEndian);
if (!readFileHeader(stream) || !readGPIHeader(stream, codec))
return false;
if (!readData(stream, codec, waypoints)) {
_errorString = "Invalid/corrupted GPI data";
return false;
} else
return true;
}

30
src/data/gpiparser.h Normal file
View File

@ -0,0 +1,30 @@
#ifndef GPIPARSER_H
#define GPIPARSER_H
#include "parser.h"
class QDataStream;
class QTextCodec;
class GPIParser : public Parser
{
public:
bool parse(QFile *file, QList<TrackData> &tracks, QList<RouteData> &routes,
QList<Area> &polygons, QVector<Waypoint> &waypoints);
QString errorString() const {return _errorString;}
int errorLine() const {return 0;}
private:
bool readFileHeader(QDataStream &stream);
bool readGPIHeader(QDataStream &stream, QTextCodec *codec);
bool readData(QDataStream &stream, QTextCodec *codec,
QVector<Waypoint> &waypoints);
bool readEntry(QDataStream &stream, QTextCodec *codec,
QVector<Waypoint> &waypoints);
void readPOIDatabase(QDataStream &stream, QTextCodec *codec,
QVector<Waypoint> &waypoints);
QString _errorString;
};
#endif // GPIPARSER_H

View File

@ -23,6 +23,21 @@ QDateTime GPXParser::time()
return d;
}
Link GPXParser::link()
{
QString URL = _reader.attributes().value("href").toString();
QString text;
while (_reader.readNextStartElement()) {
if (_reader.name() == QLatin1String("text"))
text = _reader.readElementText();
else
_reader.skipCurrentElement();
}
return Link(URL, text);
}
Coordinates GPXParser::coordinates()
{
bool res;
@ -134,6 +149,7 @@ void GPXParser::trackpointData(Trackpoint &trackpoint)
void GPXParser::waypointData(Waypoint &waypoint, SegmentData *autoRoute)
{
qreal gh = NAN;
Link link10;
while (_reader.readNextStartElement()) {
if (_reader.name() == QLatin1String("name"))
@ -146,12 +162,22 @@ void GPXParser::waypointData(Waypoint &waypoint, SegmentData *autoRoute)
gh = number();
else if (_reader.name() == QLatin1String("time"))
waypoint.setTimestamp(time());
else if (_reader.name() == QLatin1String("link")) {
Link l(link());
if (!l.URL().isEmpty())
waypoint.addLink(l);
} else if (_reader.name() == QLatin1String("url"))
link10.setURL(_reader.readElementText());
else if (_reader.name() == QLatin1String("urlname"))
link10.setText(_reader.readElementText());
else if (autoRoute && _reader.name() == QLatin1String("extensions"))
rteptExtensions(autoRoute);
else
_reader.skipCurrentElement();
}
if (!link10.URL().isEmpty())
waypoint.addLink(link10);
if (!std::isnan(gh) && !std::isnan(waypoint.elevation()))
waypoint.setElevation(waypoint.elevation() - gh);
}
@ -172,6 +198,7 @@ void GPXParser::routepoints(RouteData &route, QList<TrackData> &tracks)
TrackData autoRoute;
autoRoute.append(SegmentData());
SegmentData &autoRouteSegment = autoRoute.last();
Link link10;
while (_reader.readNextStartElement()) {
if (_reader.name() == QLatin1String("rtept")) {
@ -181,10 +208,21 @@ void GPXParser::routepoints(RouteData &route, QList<TrackData> &tracks)
route.setName(_reader.readElementText());
else if (_reader.name() == QLatin1String("desc"))
route.setDescription(_reader.readElementText());
else if (_reader.name() == QLatin1String("link")) {
Link l(link());
if (!l.URL().isEmpty())
route.addLink(l);
} else if (_reader.name() == QLatin1String("url"))
link10.setURL(_reader.readElementText());
else if (_reader.name() == QLatin1String("urlname"))
link10.setText(_reader.readElementText());
else
_reader.skipCurrentElement();
}
if (!link10.URL().isEmpty())
route.addLink(link10);
if (!autoRouteSegment.isEmpty()) {
autoRoute.setName(route.name());
autoRoute.setDescription(route.description());
@ -194,6 +232,8 @@ void GPXParser::routepoints(RouteData &route, QList<TrackData> &tracks)
void GPXParser::track(TrackData &track)
{
Link link10;
while (_reader.readNextStartElement()) {
if (_reader.name() == QLatin1String("trkseg")) {
track.append(SegmentData());
@ -202,9 +242,20 @@ void GPXParser::track(TrackData &track)
track.setName(_reader.readElementText());
else if (_reader.name() == QLatin1String("desc"))
track.setDescription(_reader.readElementText());
else if (_reader.name() == QLatin1String("link")) {
Link l(link());
if (!l.URL().isEmpty())
track.addLink(l);
} else if (_reader.name() == QLatin1String("url"))
link10.setURL(_reader.readElementText());
else if (_reader.name() == QLatin1String("urlname"))
link10.setText(_reader.readElementText());
else
_reader.skipCurrentElement();
}
if (!link10.URL().isEmpty())
track.addLink(link10);
}
void GPXParser::area(Area &area)

View File

@ -4,7 +4,6 @@
#include <QXmlStreamReader>
#include "parser.h"
class GPXParser : public Parser
{
public:
@ -30,6 +29,7 @@ private:
qreal number();
QDateTime time();
Coordinates coordinates();
Link link();
QXmlStreamReader _reader;
};

22
src/data/link.h Normal file
View File

@ -0,0 +1,22 @@
#ifndef LINK_H
#define LINK_H
#include <QString>
class Link {
public:
Link() {}
Link(const QString &URL, const QString &text = QString())
: _URL(URL), _text(text) {}
void setURL(const QString &URL) {_URL = URL;}
void setText(const QString &text) {_text = text;}
const QString &URL() const {return _URL;}
const QString &text() const {return _text;}
private:
QString _URL;
QString _text;
};
#endif // LINK_H

View File

@ -38,6 +38,11 @@ void LOCParser::waypoint(Waypoint &waypoint)
} else if (_reader.name() == QLatin1String("coord")) {
waypoint.setCoordinates(coordinates());
_reader.skipCurrentElement();
} else if (_reader.name() == QLatin1String("link")) {
const QXmlStreamAttributes &attr = _reader.attributes();
QString URL(_reader.readElementText());
if (!URL.isEmpty())
waypoint.addLink(Link(URL, attr.value("text").toString()));
} else
_reader.skipCurrentElement();
}

View File

@ -21,6 +21,7 @@ public:
const QString &name() const {return _data.name();}
const QString &description() const {return _data.description();}
const QVector<Link> &links() const {return _data.links();}
bool isValid() const {return _data.size() >= 2;}

View File

@ -4,18 +4,23 @@
#include <QVector>
#include <QString>
#include "waypoint.h"
#include "link.h"
class RouteData : public QVector<Waypoint>
{
public:
const QString& name() const {return _name;}
const QString& description() const {return _desc;}
const QString &name() const {return _name;}
const QString &description() const {return _desc;}
const QVector<Link> &links() const {return _links;}
void setName(const QString &name) {_name = name;}
void setDescription(const QString &desc) {_desc = desc;}
void addLink(const Link &link) {_links.append(link);}
private:
QString _name;
QString _desc;
QVector<Link> _links;
};
#endif // ROUTEDATA_H

View File

@ -88,19 +88,34 @@ Track::Track(const TrackData &data) : _data(data), _pause(0)
sd.first().hasTimestamp() ? 0 : NAN);
seg.speed.append(sd.first().hasTimestamp() ? 0 : NAN);
acceleration.append(sd.first().hasTimestamp() ? 0 : NAN);
bool hasTime = !std::isnan(seg.time.first());
for (int j = 1; j < sd.size(); j++) {
ds = sd.at(j).coordinates().distanceTo(
sd.at(j-1).coordinates());
seg.distance.append(seg.distance.last() + ds);
if (sd.at(j).timestamp() >= sd.at(j-1).timestamp())
dt = sd.at(j-1).timestamp().msecsTo(
sd.at(j).timestamp()) / 1000.0;
else {
qWarning("%s: %s: time skew detected", qPrintable(_data.name()),
qPrintable(sd.at(j).timestamp().toString(Qt::ISODate)));
dt = 0;
if (hasTime && sd.at(j).timestamp().isValid()) {
if (sd.at(j).timestamp() > sd.at(j-1).timestamp())
dt = sd.at(j-1).timestamp().msecsTo(
sd.at(j).timestamp()) / 1000.0;
else {
qWarning("%s: %s: time skew detected", qPrintable(
_data.name()), qPrintable(sd.at(j).timestamp().toString(
Qt::ISODate)));
dt = 0;
}
} else {
dt = NAN;
if (hasTime) {
qWarning("%s: missing timestamp(s), time graphs disabled",
qPrintable(_data.name()));
hasTime = false;
for (int i = 0; i < seg.time.size(); i++)
seg.time[i] = NAN;
for (int i = 0; i < seg.speed.size(); i++)
seg.speed[i] = NAN;
}
}
seg.time.append(seg.time.last() + dt);
@ -125,7 +140,7 @@ Track::Track(const TrackData &data) : _data(data), _pause(0)
}
}
if (!_outlierEliminate)
if (!_outlierEliminate || !hasTime)
continue;

View File

@ -32,6 +32,7 @@ public:
const QString &name() const {return _data.name();}
const QString &description() const {return _data.description();}
const QVector<Link> &links() const {return _data.links();}
bool isValid() const;

View File

@ -5,20 +5,25 @@
#include <QVector>
#include <QString>
#include "trackpoint.h"
#include "link.h"
typedef QVector<Trackpoint> SegmentData;
class TrackData : public QList<SegmentData>
{
public:
const QString& name() const {return _name;}
const QString& description() const {return _desc;}
const QString &name() const {return _name;}
const QString &description() const {return _desc;}
const QVector<Link> &links() const {return _links;}
void setName(const QString &name) {_name = name;}
void setDescription(const QString &desc) {_desc = desc;}
void addLink(const Link &link) {_links.append(link);}
private:
QString _name;
QString _desc;
QVector<Link> _links;
};
#endif // TRACKDATA_H

View File

@ -7,6 +7,7 @@
#include <QDebug>
#include "common/coordinates.h"
#include "imageinfo.h"
#include "link.h"
class Waypoint
{
@ -19,6 +20,7 @@ public:
const QString &name() const {return _name;}
const QString &description() const {return _description;}
const ImageInfo &image() const {return _image;}
const QVector<Link> &links() const {return _links;}
const QDateTime &timestamp() const {return _timestamp;}
qreal elevation() const {return _elevation;}
@ -30,6 +32,7 @@ public:
void setTimestamp(const QDateTime &timestamp) {_timestamp = timestamp;}
void setElevation(qreal elevation) {_elevation = elevation;}
void setImage(const ImageInfo &image) {_image = image;}
void addLink(const Link &link) {_links.append(link);}
bool hasElevation() const {return !std::isnan(_elevation);}
@ -42,6 +45,7 @@ private:
QString _name;
QString _description;
ImageInfo _image;
QVector<Link> _links;
QDateTime _timestamp;
qreal _elevation;
};