mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-07-08 08:14:28 +02:00
Compare commits
72 Commits
Author | SHA1 | Date | |
---|---|---|---|
cb03c8a903 | |||
eef6360643 | |||
ac73c04445 | |||
3299b41ec7 | |||
58fd5022ca | |||
ebe1851abb | |||
b3ddbd7b63 | |||
e5042b11d7 | |||
2e0eadd0e7 | |||
42e917efab | |||
07761ea335 | |||
f17e5c2ea1 | |||
21bcaf9562 | |||
a160cb4eb3 | |||
f5ec18a13a | |||
f6b15e1acc | |||
652471ac90 | |||
2da1f8bc70 | |||
2d4d2721bf | |||
d74816883a | |||
81b5631de4 | |||
2e84901e43 | |||
f61fb5657c | |||
24e216cdfc | |||
09d6de00a6 | |||
f7990ee2e6 | |||
cb01c0b590 | |||
21cf5ddaec | |||
48d4686dd4 | |||
d035a307d8 | |||
89e04f3678 | |||
e664fc188c | |||
3597a07ed7 | |||
0472cc03f3 | |||
d169a9f710 | |||
2ff2195116 | |||
cdbf2db5fe | |||
2bb635a120 | |||
465b146001 | |||
ce6d6298bb | |||
ae2ff99be8 | |||
5b6cd24839 | |||
cd22e6207a | |||
b826e497f3 | |||
7cc39f25e1 | |||
f61d9fcd55 | |||
67a1f7e108 | |||
040de56a54 | |||
a486abb159 | |||
37215959b8 | |||
1ccce095a9 | |||
057180e431 | |||
60e62da6a2 | |||
a3eafea60a | |||
962f8de160 | |||
6525d34e08 | |||
3c661ddf65 | |||
42b4216d9c | |||
4e7418111d | |||
a89ef11d73 | |||
293046590e | |||
ea2f67fc09 | |||
eb744df9cc | |||
6c6d297a3c | |||
669715aa32 | |||
fdc172ab38 | |||
b9d5fa8772 | |||
d4de0edca6 | |||
7f650f9d6a | |||
52c6bb569e | |||
dba46b09a8 | |||
b8cf3872ce |
@ -1,22 +1,33 @@
|
||||
version: 7.19.{build}
|
||||
configuration: Release
|
||||
platform: Any CPU
|
||||
version: 7.20.{build}
|
||||
|
||||
configuration:
|
||||
- Release
|
||||
|
||||
image:
|
||||
- Visual Studio 2017
|
||||
|
||||
environment:
|
||||
NSISDIR: C:\Program Files (x86)\NSIS
|
||||
matrix:
|
||||
- QTDIR: C:\Qt\5.11\msvc2015
|
||||
PLATFORM: x86
|
||||
- QTDIR: C:\Qt\5.13\msvc2017
|
||||
NSI: gpxsee.nsi
|
||||
OPENSSLDIR: C:\OpenSSL-Win32\bin
|
||||
- QTDIR: C:\Qt\5.11\msvc2015_64
|
||||
PLATFORM: x86_amd64
|
||||
VCVARS: vcvars32.bat
|
||||
OPENSSLDIR: C:\OpenSSL-v111-Win32\bin
|
||||
LIBCRYPTO: libssl-1_1.dll
|
||||
LIBSSL: libcrypto-1_1.dll
|
||||
- QTDIR: C:\Qt\5.13\msvc2017_64
|
||||
NSI: gpxsee64.nsi
|
||||
OPENSSLDIR: C:\OpenSSL-Win64\bin
|
||||
VCVARS: vcvars64.bat"
|
||||
OPENSSLDIR: C:\OpenSSL-v111-Win64\bin
|
||||
LIBCRYPTO: libssl-1_1-x64.dll
|
||||
LIBSSL: libcrypto-1_1-x64.dll
|
||||
|
||||
install:
|
||||
- cmd: >-
|
||||
set PATH=%QTDIR%\bin;%NSISDIR%;%PATH%
|
||||
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %PLATFORM%
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\"%VCVARS%
|
||||
|
||||
build_script:
|
||||
- cmd: >-
|
||||
lrelease gpxsee.pro
|
||||
@ -44,9 +55,9 @@ build_script:
|
||||
|
||||
copy licence.txt installer
|
||||
|
||||
copy %OPENSSLDIR%\libeay32.dll installer
|
||||
copy %OPENSSLDIR%\%LIBCRYPTO% installer
|
||||
|
||||
copy %OPENSSLDIR%\ssleay32.dll installer
|
||||
copy %OPENSSLDIR%\%LIBSSL% installer
|
||||
|
||||
|
||||
makensis.exe installer\%NSI%
|
||||
|
22
gpxsee.pro
22
gpxsee.pro
@ -3,7 +3,7 @@ unix:!macx {
|
||||
} else {
|
||||
TARGET = GPXSee
|
||||
}
|
||||
VERSION = 7.19
|
||||
VERSION = 7.20
|
||||
|
||||
QT += core \
|
||||
gui \
|
||||
@ -89,6 +89,10 @@ HEADERS += src/common/config.h \
|
||||
src/GUI/areaitem.h \
|
||||
src/data/link.h \
|
||||
src/map/IMG/bitmapline.h \
|
||||
src/map/IMG/bitstream.h \
|
||||
src/map/IMG/deltastream.h \
|
||||
src/map/IMG/huffmanstream.h \
|
||||
src/map/IMG/huffmantable.h \
|
||||
src/map/IMG/textpathitem.h \
|
||||
src/map/IMG/textpointitem.h \
|
||||
src/map/projection.h \
|
||||
@ -188,7 +192,8 @@ HEADERS += src/common/config.h \
|
||||
src/data/csv.h \
|
||||
src/data/cupparser.h \
|
||||
src/data/gpiparser.h \
|
||||
src/data/address.h
|
||||
src/data/address.h \
|
||||
src/data/smlparser.h
|
||||
SOURCES += src/main.cpp \
|
||||
src/GUI/popup.cpp \
|
||||
src/common/coordinates.cpp \
|
||||
@ -242,6 +247,10 @@ SOURCES += src/main.cpp \
|
||||
src/GUI/mapview.cpp \
|
||||
src/GUI/areaitem.cpp \
|
||||
src/map/IMG/bitmapline.cpp \
|
||||
src/map/IMG/bitstream.cpp \
|
||||
src/map/IMG/deltastream.cpp \
|
||||
src/map/IMG/huffmanstream.cpp \
|
||||
src/map/IMG/huffmantable.cpp \
|
||||
src/map/IMG/textpathitem.cpp \
|
||||
src/map/IMG/textpointitem.cpp \
|
||||
src/map/maplist.cpp \
|
||||
@ -324,7 +333,8 @@ SOURCES += src/main.cpp \
|
||||
src/data/csv.cpp \
|
||||
src/data/cupparser.cpp \
|
||||
src/GUI/graphicsscene.cpp \
|
||||
src/data/gpiparser.cpp
|
||||
src/data/gpiparser.cpp \
|
||||
src/data/smlparser.cpp
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
HEADERS += src/data/geojsonparser.h
|
||||
@ -387,7 +397,8 @@ macx {
|
||||
icons/formats/slf.icns \
|
||||
icons/formats/json.icns \
|
||||
icons/formats/cup.icns \
|
||||
icons/formats/gpi.icns
|
||||
icons/formats/gpi.icns \
|
||||
icons/formats/sml.icns
|
||||
QMAKE_BUNDLE_DATA += locale maps icons csv
|
||||
}
|
||||
|
||||
@ -406,7 +417,8 @@ win32 {
|
||||
icons/formats/slf.ico \
|
||||
icons/formats/json.ico \
|
||||
icons/formats/cup.ico \
|
||||
icons/formats/gpi.ico
|
||||
icons/formats/gpi.ico \
|
||||
icons/formats/sml.ico
|
||||
DEFINES += _USE_MATH_DEFINES \
|
||||
NOGDI
|
||||
}
|
||||
|
BIN
icons/formats/sml.icns
Normal file
BIN
icons/formats/sml.icns
Normal file
Binary file not shown.
BIN
icons/formats/sml.ico
Normal file
BIN
icons/formats/sml.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 304 KiB |
@ -12,3 +12,4 @@ loc:#556677
|
||||
slf:#881199
|
||||
cup:#20a810
|
||||
gpi:#fca314
|
||||
sml:#6434eb
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Podporované soubory</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>Soubory CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>Soubory CUP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>Soubory FIT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>Soubory GeoJSON</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>Soubory GPI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>Soubory GPX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>Soubory IGC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>Obrázky JPEG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>Soubory KML</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>Soubory LOC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>Soubory NMEA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>Soubory OziExploreru</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation>Soubory SML</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>Soubory TCX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>Soubory SLF</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Všechny soubory</translation>
|
||||
</message>
|
||||
@ -1131,7 +1136,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Grafy</translation>
|
||||
</message>
|
||||
@ -1233,14 +1238,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Výška:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Rychlost:</translation>
|
||||
</message>
|
||||
@ -1296,69 +1301,69 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Minimální rychlost:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Minimální doba trvání:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Vypočítaná ze vzdálenosti/času</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Zaznamenaná zařízením</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>GPS data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>DEM data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Výška</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Filtrování</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Zdroje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Detekce přestávek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Radius:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Rychlost</translation>
|
||||
</message>
|
||||
@ -1403,144 +1408,144 @@
|
||||
<translation>Vlastní</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>nmi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Vysoké rozlišení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>Oblast tisku přibližně odpovídá zobrazované oblasti. Přiblížení mapy se nemění.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>Přiblížení mapy bude upraveno tak, aby se celý obsah (trasy/body) vešel do oblasti tisku a rozlišení mapy bylo co nejblíže rozlišení tisku.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Název</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Datum</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Vzdálenost</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Čas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Čistý čas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Počet objektů (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Samostatná stránka s grafy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Režim tisku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Záhlaví</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Používat OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Povolit HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>MB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Mezipaměť obrázků:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Časový limit připojení:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>Systém</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Vzhled</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Mapy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Tisk a export</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Nastavení</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Understøttede filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>CSV-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>FIT-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>GPX-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>IGC-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>KML-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>LOC-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>NMEA-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>OziExplorer-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>SLF-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>TCX-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Alle filer</translation>
|
||||
</message>
|
||||
@ -1251,7 +1256,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Grafer</translation>
|
||||
</message>
|
||||
@ -1267,14 +1272,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Højde:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Hastighed:</translation>
|
||||
</message>
|
||||
@ -1330,69 +1335,69 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Mindste hastighed:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Minidste varighed:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Beregnet ud fra afstanden/tiden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Indspillet af enhed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation type="unfinished">Højde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Filtrering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation type="unfinished">Pause genkendelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Hastighed</translation>
|
||||
</message>
|
||||
@ -1402,144 +1407,144 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>sømil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>IP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation type="unfinished">WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Højopløsning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation type="unfinished">Det udskrevne område er ca. det samme som visningsområdet. Kortes zoomniveau ændres ikke.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation type="unfinished">Zoom-niveauet vil blive ændret, således at hele indholdet (spor/rutepunkter) passer til udskriftsområdet og kortopløsning er så tæt som muligt på udskriftsopløsningen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Navn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Dato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Afstand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Tid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Tid i bevægelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation type="unfinished">Elementantal (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Separat grafside</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation type="unfinished">Udskrivningstilstand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation type="unfinished">Toptekst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Brug OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Aktiver HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>MB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation type="unfinished">Billed cachestørrelse:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Timeout for forbindelse:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>System</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Udseende</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Kort</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Udskriv & eksport</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Indstillinger</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Unterstützte Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>CSV-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>CUP-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>FIT-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>GeoJSON-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>GPI-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>GPX-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>IGC-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>JPEG-Bilder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>KML-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>LOC-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>NMEA-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>OziExplorer-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation>SML-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>TCX-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>SLF-Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Alle Dateien</translation>
|
||||
</message>
|
||||
@ -1130,7 +1135,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Graphen</translation>
|
||||
</message>
|
||||
@ -1232,14 +1237,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Höhe:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Geschwindigkeit:</translation>
|
||||
</message>
|
||||
@ -1295,69 +1300,69 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>sek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Minimale Geschwindigkeit:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Minimale Dauer:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Berechnet aus Entfernung/Zeit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Aufgezeichnet von Gerät</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>GPS-Daten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>DEM-Daten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Höhe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Datenfilterung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Datenquellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Pausenerkennung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Radius:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Geschwindigkeit</translation>
|
||||
</message>
|
||||
@ -1402,144 +1407,144 @@
|
||||
<translation>Benutzerdefiniert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>nmi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Hohe Auflösung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>Der Druckbereich entspricht ungefähr dem Anzeigebereich. Das Karten-Zoom ändert sich nicht.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>Das Karten-Zoom ändert sich so, dass der ganze Inhalt (Strecken/Wegpunkte) in den Druckbereich passen und die Kartenauflösung so nah wie möglich an der Druckauflösung ist.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Name</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Datum</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Distanz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Zeit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Bewegungszeit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Elementanzahl (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Separate Seite für Graphen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Druckmodus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Kopfzeile</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>OpenGL verwenden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>HTTP/2 verwenden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>MB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Bild-Cachegröße:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Verbindungs-Timeout:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>System</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Erscheinungsbild</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Karten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Daten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Druck / Export</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Formatos soportados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>Archivos CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Archivos CUP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>Archivos FIT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>Archivos GeoJSON</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Archivos GPI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>Archivos GPX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>Archivos IGC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>Imagen JPEG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>Archivos KML</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>Archivos LOC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>Archivos NMEA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>Archivos OziExplorer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>Archivos SLF</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation>Archivos SML</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>Archivos TCX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Todos los archivos</translation>
|
||||
</message>
|
||||
@ -480,7 +485,7 @@
|
||||
<message>
|
||||
<location filename="../src/GUI/gui.cpp" line="352"/>
|
||||
<source>km/mi markers</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Hitos kilométricos o cada milla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/gui.cpp" line="359"/>
|
||||
@ -762,7 +767,7 @@
|
||||
<message>
|
||||
<location filename="../src/GUI/gui.cpp" line="733"/>
|
||||
<source>Styles directory:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Directorio de estilos:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/gui.cpp" line="735"/>
|
||||
@ -1027,7 +1032,7 @@
|
||||
<message>
|
||||
<location filename="../src/map/maplist.cpp" line="123"/>
|
||||
<source>Garmin IMG maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Mapas Garmin IMG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/map/maplist.cpp" line="125"/>
|
||||
@ -1100,12 +1105,12 @@
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="80"/>
|
||||
<source>Projection:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Proyección:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="102"/>
|
||||
<source>Vector maps</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Mapas vectoriales</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="121"/>
|
||||
@ -1251,7 +1256,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Gráficas</translation>
|
||||
</message>
|
||||
@ -1267,14 +1272,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Altitud:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Velocidad:</translation>
|
||||
</message>
|
||||
@ -1311,7 +1316,7 @@
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="352"/>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Automática</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="366"/>
|
||||
@ -1330,216 +1335,216 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Velocidad mínima:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Duración mínima:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Calculado con distancia/tiempo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Grabado por el dispositivo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>Datos GPS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>Datos del MDT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Altitud</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Filtrado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Fuentes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Detectar paradas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Radio:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Velocidad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="353"/>
|
||||
<source>Custom</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Personalizada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>nmi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Alta resolución</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>El área que se imprime es la que muestra la pantalla. El zoom del mapa no cambiará.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>El zoom del mapa se cambia para que el area impresa se ajuste a todos los elementos( tracks, waypoints...) y la resolución sea lo mas próxima posible a la de impresión.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Nombre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Fecha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Distancia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Hora</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Tiempo en movimiento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Recuento de elementos (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Pagina de gráficas separada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Modo de impresión</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Titulo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Usar OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Habilitar HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>Mo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Tamaño del cache de imágenes:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Caducidad de la conexión:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>Sistema</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Apariencia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Mapas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Fecha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Imprimir y exportar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Opciones</translation>
|
||||
</message>
|
||||
@ -1620,7 +1625,7 @@
|
||||
<message>
|
||||
<location filename="../src/GUI/routeitem.cpp" line="29"/>
|
||||
<source>Links</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Enlaces</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1851,7 +1856,7 @@
|
||||
<message>
|
||||
<location filename="../src/GUI/trackitem.cpp" line="33"/>
|
||||
<source>Links</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Enlaces</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1884,12 +1889,12 @@
|
||||
<message>
|
||||
<location filename="../src/GUI/waypointitem.cpp" line="44"/>
|
||||
<source>Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dirección</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/waypointitem.cpp" line="55"/>
|
||||
<source>Links</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Enlaces</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Tuetut tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>CSV-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>CUP-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>FIT-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>GeoJSON-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>GPI-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>GPX-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>IGC-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>JPEG-kuvat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>KML-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>LOC-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>NMEA-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>OziExplorer-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>TCX-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>SLF-tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Kaikki tiedostot</translation>
|
||||
</message>
|
||||
@ -1130,7 +1135,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Kaaviokuvat</translation>
|
||||
</message>
|
||||
@ -1232,14 +1237,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Korkeus:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Vauhti:</translation>
|
||||
</message>
|
||||
@ -1295,69 +1300,69 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Minimivauhti:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Minimikesto:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Laskettu etäisyydestä/ajasta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Tallennettu laitteella</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>GPS-tiedot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>DEM-tiedot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Korkeus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Suodatus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Lähteet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Pysähdysten havaitseminen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Säde:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Vauhti</translation>
|
||||
</message>
|
||||
@ -1402,144 +1407,144 @@
|
||||
<translation>Käyttäjän määrittämä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>mpk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Korkea resoluutio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>Painettu alue on suunnilleen näyttöalue. Kartan zoomaustaso ei muutu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>Zoomaustasoa muutetaan niin, että koko sisältö (jäljet/reittipisteet) sopii painettuun alueeseen ja kartan resoluutio on mahdollisimman lähellä tulostusresoluutiota.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Nimi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Päivämäärä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Etäisyys</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Aika</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Liikkumisaika</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Kohteiden määrä (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Erillinen sivu kaaviokuvalle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Tulostustila</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Otsikko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Käytä OpenGL:ää</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Ota HTTP/2 käyttöön</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>Mt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Kuvavälimuistin koko:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Yhteyden aikakatkaisu:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>Järjestelmä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Ulkoasu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Kartat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Tiedot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Tulostus & vienti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Valinnat</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Formats pris en charge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>Données CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>Données CUP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>Données FIT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>Données GeoJSON</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>Données GPI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>Données GPX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>Données IGC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>Images JPEG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>Données KML</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>Données LOC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>Données NMEA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>Données OziExplorer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation>Données SML</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>Données TCX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>Données SLF</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Tous les fichiers</translation>
|
||||
</message>
|
||||
@ -1130,7 +1135,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Graphe</translation>
|
||||
</message>
|
||||
@ -1232,14 +1237,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Altitude :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Vitesse :</translation>
|
||||
</message>
|
||||
@ -1295,69 +1300,69 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Vitesse minimale :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Durée minimale :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Calculée comme distance/temps</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Enregistrée par l'appareil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>Données GPS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>Données MNT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Altitude</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Filtrage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Sources</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Détection des arrêts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Rayon :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Vitesse</translation>
|
||||
</message>
|
||||
@ -1402,144 +1407,144 @@
|
||||
<translation>Personnalisé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>nmi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Résolution élevée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>La zone d'impression est presque celle affichée. L'échelle reste la même.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>L'échelle est ajustée pour que tout le contenu (traces et points de jalonnement) rentre dans la zone d'impression tout en gardant proches les résolutions d'impression et de carte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Nom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Distance</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Durée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Durée en déplacement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Nombre d'éléments (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Sauter une page pour les graphes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Mode d'impression</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Entête</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Utiliser OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Activer l'HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>Mo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Volume du cache à images :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Délai d'attente de connexion :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>Système</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Apparence</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Cartes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Données</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Imprimer et exporter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Options</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Støttede filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>CSV-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>CUP-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>FIT-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>GeoJSON-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>GPI-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>GPX-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>IGC-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>JPEG-bilder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>KML-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>LOC-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>NMEA-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>OziExplorer-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>SLF-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation>SML-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>TCX-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Alle filer</translation>
|
||||
</message>
|
||||
@ -1251,7 +1256,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Diagrammer</translation>
|
||||
</message>
|
||||
@ -1267,14 +1272,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Høyde:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Hastighet:</translation>
|
||||
</message>
|
||||
@ -1311,7 +1316,7 @@
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="352"/>
|
||||
<source>Automatic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Automatisk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="366"/>
|
||||
@ -1330,216 +1335,216 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Minimumshastighet:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Minimumsvarighet:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Utregnet fra avstand/tid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Tatt opp av enhet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>GPS-data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>DEM-data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation type="unfinished">Høyde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Filtrering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Kilder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Sett oppdagelse på pause</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Radius:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Hastighet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="353"/>
|
||||
<source>Custom</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Egendefinert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>nmi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Høyoppløsning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>Det utskrevne området er omentrent det samme som visningsområdet. Kartforstørrelsesnivået endrer seg ikke.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>Forstørrelsesnivået vil endres slik at hele innholdet (spor/veipunkter) passer med utskrevet område, og kartoppløsningen er så lik utskriftsoppløsningen som mulig.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Navn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Dato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Avstand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Tid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Tid i bevegelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Elementantall (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Separat diagramside</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Utskriftsmodus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Topptekst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Bruk OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Skru på HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>MB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Bildehurtiglagringstørrelse:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Tilkoblingstidsavbrudd:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>System</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Utseende</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Kart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Utskrift og ekport</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Valg</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Obsługiwane pliki</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>Pliki CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>Pliki FIT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>Pliki GeoJSON</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>Pliki GPX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>Pliki IGC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>Pliki JPEG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>Pliki KML</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>Pliki LOC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>Pliki NMEA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>Pliki OziExplorer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>Pliki TCX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>Pliki SLF</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Wszystkie pliki</translation>
|
||||
</message>
|
||||
@ -1131,7 +1136,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Wykresy</translation>
|
||||
</message>
|
||||
@ -1233,14 +1238,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Wysokość:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Prędkość:</translation>
|
||||
</message>
|
||||
@ -1296,69 +1301,69 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Minimalna prędkość:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Minimalny czas trwania:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Obliczona na postawie odległości/czasu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Zapisana przez urządzenie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>Dane GPS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>Dane DEM</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Wysokość</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Filtrowanie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Źródła</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Wykrywanie postoju</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Promień:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Prędkość</translation>
|
||||
</message>
|
||||
@ -1403,144 +1408,144 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>nmi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Wysoka rozdzielczość</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>Wydrukowany obszar jest w przybliżeniu obszarem wyświetlania. Poziom powiększenia mapy nie zmienia się.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>Poziom powiększenia mapy zostanie dostosowany w taki sposób, aby cała zawartość (ścieżki/punkty) wchodziła do drukowanego obszaru, a rozdzielczość mapy była jak najbliższa rozdzielczości wydruku.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Nazwa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Dystans</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Czas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Czas ruchu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Liczba elementów (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Oddzielna strona wykresu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Tryb wydruku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Nagłówek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Używaj OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Włącz HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>MB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Rozmiar pamięci podręcznej obrazu:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Limit czasu połączenia:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>System</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Wygląd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Mapy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Dane</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Drukowanie i eksport</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Opcje</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Formatos suportados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>Arquivos CSV</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>Arquivos CUP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>Arquivos FIT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>Arquivos GeoJSON</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>Arquivos GPI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>Arquivos GPX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>Arquivos IGC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>Imagens JPEG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>Arquivos KML</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>Arquivos LOC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>Arquivos NMEA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>Arquivos OziExplorer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>Arquivos SLF</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation>Arquivos SML</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>Arquivos TCX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Todos os arquivos</translation>
|
||||
</message>
|
||||
@ -1251,7 +1256,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Gráficos</translation>
|
||||
</message>
|
||||
@ -1267,14 +1272,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Altitude:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Velocidade:</translation>
|
||||
</message>
|
||||
@ -1335,211 +1340,211 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Velocidade Mínima:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Duração mínima:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Calculada a partir da distância/tempo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Gravada através de dispositivo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>Dados de GPS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>Dados de DEM</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Velocidade</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Altitude</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Filtragem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Fontes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Detecção de pausa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>nmi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Raio:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Alta resolução</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>A área de impressão é aproximadamente a área de tela. O nível de zoom do mapa não é alterado.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>O nível de zoom será alterado de modo que todo o conteúdo (trilhas/waypoints) caiba na área de impressão e a resolução seja tão próxima quanto possível da resolução de impressão.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Nome</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Distância</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Tempo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Tempo em movimento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Número de itens (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Separar página de gráficos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Modo de impressão</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Cabeçalho</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Usar OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Habilitar HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>MB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Tamanho do cache de imagens:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Tempo de espera de conexão:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>Sistema</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Aparência</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Mapas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Dados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Imprimir e Exportar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Preferências</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Все поддерживаемые файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>CSV файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>CUP файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>FIT файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>GeoJSON файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>GPI файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>GPX файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>IGC файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>JPEG изображения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>KML файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>LOC файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>NMEA файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>OziExplorer файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>TCX файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>SLF файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Все файлы</translation>
|
||||
</message>
|
||||
@ -1131,7 +1136,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Графики</translation>
|
||||
</message>
|
||||
@ -1233,14 +1238,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Высота:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Скорость:</translation>
|
||||
</message>
|
||||
@ -1296,69 +1301,69 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>с</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Минимальная скорость:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Минимальная продолжительность:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Вычисленная из расстояния/времени</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Записанная устройством</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>GPS данные</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>DEM данные</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Высота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Фильтрация</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Источники</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Обнаружение остановок</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Радиус:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Скорость</translation>
|
||||
</message>
|
||||
@ -1403,144 +1408,144 @@
|
||||
<translation>Пользовательскoe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>мл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>мор. мл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>км</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>Точки POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Высокое разрешение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>Печатная область примерно совпадает с областью отображения. Уровень приближения карты не изменяется.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>Уровень приближения будет изменен так, чтобы всё содержимое (треки/точки) уместились в печатную область и разрешение карты было бы как можно ближе к разрешению печати.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Имя</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Дата</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Расстояние</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Время</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Время движения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Количество объектов (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Отдельная страница с графиком</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Режим печати</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Заголовок</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Использовать OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Включить HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>МБ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Размер кэша изображений:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Таймаут соединения:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>Система</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Внешний вид</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Карты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Данные</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Печать и экспорт</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Параметры</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Filer som stöds</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>CSV-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>CUP-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>FIT-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>GeoJSON-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>GPI-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>GPX-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>IGC-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>JPEG-bilder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>KML-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>LOC-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>NMEA-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>OziExplorer-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation>SML-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>TCX-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>SLF-filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Alla filer</translation>
|
||||
</message>
|
||||
@ -1130,7 +1135,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Diagram</translation>
|
||||
</message>
|
||||
@ -1232,14 +1237,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Höjd:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Hastighet:</translation>
|
||||
</message>
|
||||
@ -1295,69 +1300,69 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>sek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Minsta hastighet:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Kortast varaktighet:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Beräknad från distans/tid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Inspelad av enhet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>GPS-data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>DEM-data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Stigning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Filtrering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Källor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Pausa identifiering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Radie:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Hastighet</translation>
|
||||
</message>
|
||||
@ -1402,144 +1407,144 @@
|
||||
<translation>Anpassat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>nmi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Högupplösning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>Det utskrivna området är ungefär detsamma som synligt område på skärmen. Kartans zoomnivå ändras inte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>Zoomnivån kommer att ändras så att hela innehållet (spår/vägpunkter) passar utskriftsområdet och kartresolutionen är så nära som möjligt till utskriftsupplösningen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Namn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Datum</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Avstånd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Tid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Förflyttningstid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Objektantal (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Separat diagramsida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Utskriftsläge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Rubrik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Använd OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Aktivera HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>MB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Cashe-storlek för bilder:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Anslutningens tidsgräns:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>System</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Utseende</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Kartor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Utskrift & Export</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Alternativ</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Desteklenen dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>CSV dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>CUP dosyaları</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>FIT dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>GeoJSON dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>GPI dosyaları</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>GPX dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>IGC dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>JPEG resimler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>KML dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>LOC dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>NMEA dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>OziExplorer dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>SLF dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation>SML dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>TCX dosyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Tüm dosyalar</translation>
|
||||
</message>
|
||||
@ -858,7 +863,6 @@
|
||||
<source>%n files</source>
|
||||
<translation>
|
||||
<numerusform>%n dosya</numerusform>
|
||||
<numerusform>%n dosya</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
@ -1251,7 +1255,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Grafikler</translation>
|
||||
</message>
|
||||
@ -1267,14 +1271,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Rakım:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Hız:</translation>
|
||||
</message>
|
||||
@ -1330,69 +1334,69 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Asgari hız:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Minimum süre:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Mesafe/zamandan hesaplandı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Cihazdan kaydedilen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>GPS verisi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>DEM verisi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Rakım</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Filtreleme</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Kaynaklar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Duraklama algılama</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Yarıçap:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Hız</translation>
|
||||
</message>
|
||||
@ -1402,144 +1406,144 @@
|
||||
<translation>Özel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>mi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>nmi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>Km</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Yüksek çözünürlük</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>Yazdırılan alan yaklaşık olarak görüntü alanıdır. Harita zum seviyesi değişmez.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>Yakınlaştırma seviyesi, tüm içeriğin (izler/yer işaretleri) yazdırılan alana sığması ve harita çözünürlüğünün baskı çözünürlüğüne olabildiğince yakın olacak şekilde değiştirilecektir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Adı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Tarih</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Mesafe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Zaman</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Hareket süresi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Öğe sayısı (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Ayrı grafik sayfası</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Yazdırma modu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Başlık</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>OpenGL Kullan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>HTTP/2 etkinleştir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>MB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Görüntü önbellek boyutu:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Bağlantı zaman aşımı:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>Sistem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Görünüm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Haritalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Veri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Yazdır & Dışa ver</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Seçenekler</translation>
|
||||
</message>
|
||||
|
@ -47,82 +47,87 @@
|
||||
<context>
|
||||
<name>Data</name>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="176"/>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<source>Supported files</source>
|
||||
<translation>Всі підтримувані формати</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="177"/>
|
||||
<location filename="../src/data/data.cpp" line="180"/>
|
||||
<source>CSV files</source>
|
||||
<translation>CSV файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="178"/>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<source>CUP files</source>
|
||||
<translation>CUP файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="179"/>
|
||||
<location filename="../src/data/data.cpp" line="182"/>
|
||||
<source>FIT files</source>
|
||||
<translation>FIT файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="181"/>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<source>GeoJSON files</source>
|
||||
<translation>GeoJSON файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="183"/>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<source>GPI files</source>
|
||||
<translation>GPI файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="184"/>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<source>GPX files</source>
|
||||
<translation>GPX файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="185"/>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<source>IGC files</source>
|
||||
<translation>IGC файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="186"/>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<source>JPEG images</source>
|
||||
<translation>JPEG зображення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="187"/>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<source>KML files</source>
|
||||
<translation>KML файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="188"/>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<source>LOC files</source>
|
||||
<translation>LOC файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="189"/>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<source>NMEA files</source>
|
||||
<translation>NMEA файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="190"/>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<source>OziExplorer files</source>
|
||||
<translation>OziExplorer файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="191"/>
|
||||
<location filename="../src/data/data.cpp" line="194"/>
|
||||
<source>SLF files</source>
|
||||
<translation>SLF файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="192"/>
|
||||
<location filename="../src/data/data.cpp" line="195"/>
|
||||
<source>SML files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="196"/>
|
||||
<source>TCX files</source>
|
||||
<translation>TCX файли</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/data/data.cpp" line="193"/>
|
||||
<location filename="../src/data/data.cpp" line="197"/>
|
||||
<source>All files</source>
|
||||
<translation>Всі файли</translation>
|
||||
</message>
|
||||
@ -1252,7 +1257,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="295"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="572"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="575"/>
|
||||
<source>Graphs</source>
|
||||
<translation>Графіки</translation>
|
||||
</message>
|
||||
@ -1268,14 +1273,14 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="322"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="429"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="492"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="432"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="495"/>
|
||||
<source>Elevation:</source>
|
||||
<translation>Висота:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="323"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="428"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="431"/>
|
||||
<source>Speed:</source>
|
||||
<translation>Швидкість:</translation>
|
||||
</message>
|
||||
@ -1336,211 +1341,211 @@
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="376"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="595"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="598"/>
|
||||
<source>s</source>
|
||||
<translation>с</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="389"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="392"/>
|
||||
<source>Minimal speed:</source>
|
||||
<translation>Мінімальна швидкість:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="390"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="393"/>
|
||||
<source>Minimal duration:</source>
|
||||
<translation>Мінімальна тривалість:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="400"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="403"/>
|
||||
<source>Computed from distance/time</source>
|
||||
<translation>Обчислено з відстань/час</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="401"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="404"/>
|
||||
<source>Recorded by device</source>
|
||||
<translation>Записано пристроєм</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="407"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="465"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="410"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="468"/>
|
||||
<source>GPS data</source>
|
||||
<translation>GPS дані</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="408"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="466"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="411"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="469"/>
|
||||
<source>DEM data</source>
|
||||
<translation>DEM дані</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="439"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="442"/>
|
||||
<source>Speed</source>
|
||||
<translation>Швидкість</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="445"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="448"/>
|
||||
<source>Elevation</source>
|
||||
<translation>Висота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="456"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="459"/>
|
||||
<source>Filtering</source>
|
||||
<translation>Фільтрування</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="457"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="460"/>
|
||||
<source>Sources</source>
|
||||
<translation>Джерела</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="458"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="461"/>
|
||||
<source>Pause detection</source>
|
||||
<translation>Виявлення пауз</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="477"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<source>mi</source>
|
||||
<translation>миля</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="480"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<source>nmi</source>
|
||||
<translation>мор.миля</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="483"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="486"/>
|
||||
<source>km</source>
|
||||
<translation>км</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="491"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="494"/>
|
||||
<source>Radius:</source>
|
||||
<translation>Радіус:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="498"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="638"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="501"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<source>POI</source>
|
||||
<translation>Точки POI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="505"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="508"/>
|
||||
<source>WYSIWYG</source>
|
||||
<translation>WYSIWYG (Візуальний редактор)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="506"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="509"/>
|
||||
<source>High-Resolution</source>
|
||||
<translation>Висока роздільна здатність</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="511"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="514"/>
|
||||
<source>The printed area is approximately the display area. The map zoom level does not change.</source>
|
||||
<translation>Область друку є приблизною областю відображення. Рівень масштабування мапи не змінюється.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="513"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="516"/>
|
||||
<source>The zoom level will be changed so that the whole content (tracks/waypoints) fits to the printed area and the map resolution is as close as possible to the print resolution.</source>
|
||||
<translation>Масштаб буде змінено так, щоби весь зміст (треки/маршрутні точки) вмістився на друковану область, а роздільна здатність мапи була якомога наближеною до роздільної здатності друку.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="535"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="538"/>
|
||||
<source>Name</source>
|
||||
<translation>Ім’я</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="537"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="540"/>
|
||||
<source>Date</source>
|
||||
<translation>Дата</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="539"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="542"/>
|
||||
<source>Distance</source>
|
||||
<translation>Відстань</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="541"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="544"/>
|
||||
<source>Time</source>
|
||||
<translation>Час</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="543"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="546"/>
|
||||
<source>Moving time</source>
|
||||
<translation>Час руху</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="545"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="548"/>
|
||||
<source>Item count (>1)</source>
|
||||
<translation>Кількість об’єктів (>1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="560"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="563"/>
|
||||
<source>Separate graph page</source>
|
||||
<translation>Окрема сторінка із графіком</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="570"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="573"/>
|
||||
<source>Print mode</source>
|
||||
<translation>Режим друку</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="571"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="574"/>
|
||||
<source>Header</source>
|
||||
<translation>Заголовок</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="579"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<source>Use OpenGL</source>
|
||||
<translation>Використовувати OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="582"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="585"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation>Дозволити HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="589"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="592"/>
|
||||
<source>MB</source>
|
||||
<translation>МБ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="599"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="602"/>
|
||||
<source>Image cache size:</source>
|
||||
<translation>Розмір кешу зображень:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="600"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="603"/>
|
||||
<source>Connection timeout:</source>
|
||||
<translation>Час з’єднання вичерпаний:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="616"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="641"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="619"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="644"/>
|
||||
<source>System</source>
|
||||
<translation>Система</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="634"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<source>Appearance</source>
|
||||
<translation>Зовнішній вигляд</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="636"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<source>Maps</source>
|
||||
<translation>Мапи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="637"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="640"/>
|
||||
<source>Data</source>
|
||||
<translation>Дані</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="639"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="642"/>
|
||||
<source>Print & Export</source>
|
||||
<translation>Друк та експорт</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="668"/>
|
||||
<location filename="../src/GUI/optionsdialog.cpp" line="671"/>
|
||||
<source>Options</source>
|
||||
<translation>Налаштування</translation>
|
||||
</message>
|
||||
|
@ -243,6 +243,22 @@
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Viewer</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CFBundleTypeExtensions</key>
|
||||
<array>
|
||||
<string>sml</string>
|
||||
</array>
|
||||
<key>CFBundleTypeMIMETypes</key>
|
||||
<array>
|
||||
<string>application/sml+xml</string>
|
||||
</array>
|
||||
<key>CFBundleTypeIconFile</key>
|
||||
<string>icons/sml.icns</string>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>Suunto Markup Language</string>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Viewer</string>
|
||||
</dict>
|
||||
</array>
|
||||
|
||||
<key>UTImportedTypeDeclarations</key>
|
||||
@ -541,6 +557,27 @@
|
||||
<string>application/vnd.garmin.gpi</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>com.suunto.sml</string>
|
||||
<key>UTTypeReferenceURL</key>
|
||||
<string>https://www.suunto.com</string>
|
||||
<key>UTTypeDescription</key>
|
||||
<string>Suunto Markup Language</string>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.xml</string>
|
||||
</array>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>sml</string>
|
||||
</array>
|
||||
<key>public.mime-type</key>
|
||||
<string>application/sml+xml</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -12,17 +12,18 @@
|
||||
|
||||
<p>Features:</p>
|
||||
<ul>
|
||||
<li>Opens GPX, TCX, FIT, KML, IGC, NMEA, SLF, LOC, OziExplorer (PLT,
|
||||
WPT, RTE), GeoJSON, SeeYou CUP, Garmin GPI & CSV and
|
||||
geotagged JPEG files.</li>
|
||||
<li>Opens GPX, TCX, FIT, KML, IGC, NMEA, SIGMA SLF, Suunto SML, LOC,
|
||||
OziExplorer (PLT, WPT, RTE), GeoJSON, SeeYou CUP,
|
||||
Garmin GPI & CSV and geotagged JPEG files.</li>
|
||||
<li>User-definable online maps (OpenStreetMap/Google tiles, WMTS,
|
||||
WMS, TMS).</li>
|
||||
WMS, TMS, QuadTiles).</li>
|
||||
<li>Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases,
|
||||
TwoNav RMaps, Garmin IMG & JNX, GeoTIFF images).</li>
|
||||
<li>Elevation, speed, heart rate, cadence, power, temperature and
|
||||
gear ratio graphs.</li>
|
||||
<li>Support for multiple tracks in one view.</li>
|
||||
<li>Support for POI files.</li>
|
||||
<li>Support for DEM files (SRTM HGT).</li>
|
||||
<li>Print/export to PDF.</li>
|
||||
<li>Full-screen mode.</li>
|
||||
<li>HiDPI/Retina displays & maps support.</li>
|
||||
@ -70,5 +71,6 @@
|
||||
<mimetype>application/geo+json</mimetype>
|
||||
<mimetype>application/vnd.naviter.seeyou.cup</mimetype>
|
||||
<mimetype>application/vnd.garmin.gpi</mimetype>
|
||||
<mimetype>application/sml+xml</mimetype>
|
||||
</mimetypes>
|
||||
</component>
|
||||
|
@ -7,7 +7,7 @@
|
||||
; The name of the installer
|
||||
Name "GPXSee"
|
||||
; Program version
|
||||
!define VERSION "7.19"
|
||||
!define VERSION "7.20"
|
||||
|
||||
; The file to write
|
||||
OutFile "GPXSee-${VERSION}.exe"
|
||||
@ -106,20 +106,21 @@ Section "GPXSee" SEC_APP
|
||||
|
||||
; Associate file formats
|
||||
DetailPrint "Associating file types..."
|
||||
!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 "gpx" "GPS Exchange Format" 8
|
||||
!insertmacro FILE_ASSOCIATION_ADD "tcx" "Training Center XML" 9
|
||||
!insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 10
|
||||
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 11
|
||||
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 12
|
||||
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 Data" 13
|
||||
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track Point File" 14
|
||||
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 15
|
||||
!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 "gpi" "Garmin POI File" 6
|
||||
!insertmacro FILE_ASSOCIATION_ADD "sml" "Suunto Markup Language" 7
|
||||
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
||||
|
||||
SectionEnd
|
||||
@ -147,30 +148,17 @@ Section "MSVC runtime" SEC_MSVC
|
||||
|
||||
SectionIn RO
|
||||
|
||||
DetailPrint "Checking whether Visual C++ 2015 Redistributable is already installed..."
|
||||
${If} ${RunningX64}
|
||||
ReadRegDword $R0 HKLM "SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" "Installed"
|
||||
${Else}
|
||||
ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" "Installed"
|
||||
${EndIf}
|
||||
|
||||
StrCmp $R0 "1" 0 +3
|
||||
DetailPrint "Visual C++ 2015 Redistributable is already installed, skipping install."
|
||||
Goto done
|
||||
|
||||
DetailPrint "Installing Visual C++ 2015 Redistributable..."
|
||||
SetOutPath $TEMP
|
||||
File "vcredist_x86.exe"
|
||||
ExecWait '"$TEMP\vcredist_x86.exe" /install /quiet /norestart'
|
||||
SetOutPath $INSTDIR
|
||||
File "vc_redist.x86.exe"
|
||||
ExecWait '"$TEMP\vc_redist.x86.exe" /install /quiet /norestart'
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
done:
|
||||
SectionEnd
|
||||
|
||||
Section "OpenSSL" SEC_OPENSSL
|
||||
|
||||
File "libeay32.dll"
|
||||
File "ssleay32.dll"
|
||||
File "libcrypto-1_1.dll"
|
||||
File "libssl-1_1.dll"
|
||||
|
||||
SectionEnd
|
||||
|
||||
@ -232,6 +220,7 @@ Section "Uninstall"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "geojson"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "cup"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "gpi"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "sml"
|
||||
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
||||
|
||||
SectionEnd
|
||||
@ -244,7 +233,7 @@ SectionEnd
|
||||
LangString DESC_QT ${LANG_ENGLISH} \
|
||||
"QT cross-platform application framework."
|
||||
LangString DESC_MSVC ${LANG_ENGLISH} \
|
||||
"Visual C++ 2015 runtime components. If already installed, will be skipped."
|
||||
"Microsoft Visual C++ 2017 runtime. If already installed, will be skipped."
|
||||
LangString DESC_OPENSSL ${LANG_ENGLISH} \
|
||||
"OpenSSL library. Required for HTTPS to work."
|
||||
LangString DESC_ANGLE ${LANG_ENGLISH} \
|
||||
@ -262,4 +251,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
|
@ -98,4 +98,11 @@
|
||||
<generic-icon name="application/octet-stream"/>
|
||||
<glob pattern="*.gpi"/>
|
||||
</mime-type>
|
||||
|
||||
<mime-type type="application/sml+xml">
|
||||
<comment>Suunto Markup Language</comment>
|
||||
<sub-class-of type="application/xml"/>
|
||||
<generic-icon name="application-xml"/>
|
||||
<glob pattern="*.sml"/>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
|
@ -7,7 +7,7 @@
|
||||
; The name of the installer
|
||||
Name "GPXSee"
|
||||
; Program version
|
||||
!define VERSION "7.19"
|
||||
!define VERSION "7.20"
|
||||
|
||||
; The file to write
|
||||
OutFile "GPXSee-${VERSION}_x64.exe"
|
||||
@ -113,20 +113,21 @@ Section "GPXSee" SEC_APP
|
||||
|
||||
; Associate file formats
|
||||
DetailPrint "Associating file types..."
|
||||
!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 "gpx" "GPS Exchange Format" 8
|
||||
!insertmacro FILE_ASSOCIATION_ADD "tcx" "Training Center XML" 9
|
||||
!insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 10
|
||||
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 11
|
||||
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 12
|
||||
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 Data" 13
|
||||
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track Point File" 14
|
||||
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 15
|
||||
!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 "gpi" "Garmin POI File" 6
|
||||
!insertmacro FILE_ASSOCIATION_ADD "sml" "Suunto Markup Language" 7
|
||||
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
||||
|
||||
SectionEnd
|
||||
@ -154,25 +155,17 @@ Section "MSVC runtime" SEC_MSVC
|
||||
|
||||
SectionIn RO
|
||||
|
||||
DetailPrint "Checking whether Visual C++ 2015 Redistributable is already installed..."
|
||||
ReadRegDword $R0 HKLM "SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" "Installed"
|
||||
StrCmp $R0 "1" 0 +3
|
||||
DetailPrint "Visual C++ 2015 Redistributable is already installed, skipping install."
|
||||
Goto done
|
||||
|
||||
DetailPrint "Installing Visual C++ 2015 Redistributable..."
|
||||
SetOutPath $TEMP
|
||||
File "vcredist_x64.exe"
|
||||
ExecWait '"$TEMP\vcredist_x64.exe" /install /quiet /norestart'
|
||||
File "vc_redist.x64.exe"
|
||||
ExecWait '"$TEMP\vc_redist.x64.exe" /install /quiet /norestart'
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
done:
|
||||
SectionEnd
|
||||
|
||||
Section "OpenSSL" SEC_OPENSSL
|
||||
|
||||
File "libeay32.dll"
|
||||
File "ssleay32.dll"
|
||||
File "libcrypto-1_1-x64.dll"
|
||||
File "libssl-1_1-x64.dll"
|
||||
|
||||
SectionEnd
|
||||
|
||||
@ -235,6 +228,7 @@ Section "Uninstall"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "geojson"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "cup"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "gpi"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "sml"
|
||||
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
||||
|
||||
SectionEnd
|
||||
@ -247,7 +241,7 @@ SectionEnd
|
||||
LangString DESC_QT ${LANG_ENGLISH} \
|
||||
"QT cross-platform application framework."
|
||||
LangString DESC_MSVC ${LANG_ENGLISH} \
|
||||
"Visual C++ 2015 runtime components. If already installed, will be skipped."
|
||||
"Microsoft Visual C++ 2017 runtime. If already installed, will be skipped."
|
||||
LangString DESC_OPENSSL ${LANG_ENGLISH} \
|
||||
"OpenSSL library. Required for HTTPS to work."
|
||||
LangString DESC_ANGLE ${LANG_ENGLISH} \
|
||||
@ -265,4 +259,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
|
@ -451,11 +451,11 @@ void GUI::createActions()
|
||||
_degreesMinutesAction->setActionGroup(ag);
|
||||
connect(_degreesMinutesAction, SIGNAL(triggered()), this,
|
||||
SLOT(setDegreesMinutes()));
|
||||
_DMSAction = new QAction(tr("Degrees, minutes, seconds (DMS)"), this);
|
||||
_DMSAction->setMenuRole(QAction::NoRole);
|
||||
_DMSAction->setCheckable(true);
|
||||
_DMSAction->setActionGroup(ag);
|
||||
connect(_DMSAction, SIGNAL(triggered()), this, SLOT(setDMS()));
|
||||
_dmsAction = new QAction(tr("Degrees, minutes, seconds (DMS)"), this);
|
||||
_dmsAction->setMenuRole(QAction::NoRole);
|
||||
_dmsAction->setCheckable(true);
|
||||
_dmsAction->setActionGroup(ag);
|
||||
connect(_dmsAction, SIGNAL(triggered()), this, SLOT(setDMS()));
|
||||
_fullscreenAction = new QAction(QIcon(FULLSCREEN_ICON),
|
||||
tr("Fullscreen mode"), this);
|
||||
_fullscreenAction->setMenuRole(QAction::NoRole);
|
||||
@ -559,7 +559,7 @@ void GUI::createMenus()
|
||||
QMenu *coordinatesMenu = settingsMenu->addMenu(tr("Coordinates format"));
|
||||
coordinatesMenu->addAction(_decimalDegreesAction);
|
||||
coordinatesMenu->addAction(_degreesMinutesAction);
|
||||
coordinatesMenu->addAction(_DMSAction);
|
||||
coordinatesMenu->addAction(_dmsAction);
|
||||
settingsMenu->addSeparator();
|
||||
settingsMenu->addAction(_showToolbarsAction);
|
||||
settingsMenu->addAction(_fullscreenAction);
|
||||
@ -1655,7 +1655,7 @@ void GUI::writeSettings()
|
||||
: _nauticalUnitsAction->isChecked() ? Nautical : Metric;
|
||||
if (units != UNITS_DEFAULT)
|
||||
settings.setValue(UNITS_SETTING, units);
|
||||
CoordinatesFormat format = _DMSAction->isChecked() ? DMS
|
||||
CoordinatesFormat format = _dmsAction->isChecked() ? DMS
|
||||
: _degreesMinutesAction->isChecked() ? DegreesMinutes : DecimalDegrees;
|
||||
if (format != COORDINATES_DEFAULT)
|
||||
settings.setValue(COORDINATES_SETTING, format);
|
||||
@ -1879,7 +1879,7 @@ void GUI::readSettings()
|
||||
|
||||
value = settings.value(COORDINATES_SETTING, COORDINATES_DEFAULT).toInt();
|
||||
if (value == DMS)
|
||||
_DMSAction->trigger();
|
||||
_dmsAction->trigger();
|
||||
else if (value == DegreesMinutes)
|
||||
_degreesMinutesAction->trigger();
|
||||
else
|
||||
|
@ -180,7 +180,7 @@ private:
|
||||
QAction *_nauticalUnitsAction;
|
||||
QAction *_decimalDegreesAction;
|
||||
QAction *_degreesMinutesAction;
|
||||
QAction *_DMSAction;
|
||||
QAction *_dmsAction;
|
||||
QAction *_totalTimeAction;
|
||||
QAction *_movingTimeAction;
|
||||
QAction *_nextMapAction;
|
||||
|
@ -14,7 +14,8 @@ double Coordinates::distanceTo(const Coordinates &c) const
|
||||
#ifndef QT_NO_DEBUG
|
||||
QDebug operator<<(QDebug dbg, const Coordinates &c)
|
||||
{
|
||||
dbg.nospace() << "Coordinates(" << c.lon() << ", " << c.lat() << ")";
|
||||
dbg.nospace() << qSetRealNumberPrecision(10) << "Coordinates(" << c.lat()
|
||||
<< ", " << c.lon() << ")";
|
||||
return dbg.space();
|
||||
}
|
||||
#endif // QT_NO_DEBUG
|
||||
|
@ -9,6 +9,7 @@
|
||||
#define TIFF_SHORT 3
|
||||
#define TIFF_LONG 4
|
||||
#define TIFF_RATIONAL 5
|
||||
#define TIFF_SRATIONAL 10
|
||||
#define TIFF_DOUBLE 12
|
||||
|
||||
class TIFFFile
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "exifparser.h"
|
||||
#include "cupparser.h"
|
||||
#include "gpiparser.h"
|
||||
#include "smlparser.h"
|
||||
#include "dem.h"
|
||||
#include "data.h"
|
||||
|
||||
@ -41,6 +42,7 @@ static GeoJSONParser geojson;
|
||||
static EXIFParser exif;
|
||||
static CUPParser cup;
|
||||
static GPIParser gpi;
|
||||
static SMLParser sml;
|
||||
|
||||
static QHash<QString, Parser*> parsers()
|
||||
{
|
||||
@ -66,6 +68,7 @@ static QHash<QString, Parser*> parsers()
|
||||
hash.insert("jpg", &exif);
|
||||
hash.insert("cup", &cup);
|
||||
hash.insert("gpi", &gpi);
|
||||
hash.insert("sml", &sml);
|
||||
|
||||
return hash;
|
||||
}
|
||||
@ -189,6 +192,7 @@ QString Data::formats()
|
||||
+ qApp->translate("Data", "NMEA files") + " (*.nmea);;"
|
||||
+ qApp->translate("Data", "OziExplorer files") + " (*.plt *.rte *.wpt);;"
|
||||
+ qApp->translate("Data", "SLF files") + " (*.slf);;"
|
||||
+ qApp->translate("Data", "SML files") + " (*.sml);;"
|
||||
+ qApp->translate("Data", "TCX files") + " (*.tcx);;"
|
||||
+ qApp->translate("Data", "All files") + " (*)";
|
||||
}
|
||||
|
@ -82,7 +82,10 @@ double EXIFParser::altitude(TIFFFile &file, const IFDEntry &alt,
|
||||
|
||||
double EXIFParser::coordinate(TIFFFile &file, const IFDEntry &ll) const
|
||||
{
|
||||
if (!(ll.type == TIFF_RATIONAL && ll.count == 3))
|
||||
// Some broken image creators like NOKIA phones use a wrong (SRATIONAL)
|
||||
// data type
|
||||
if (!((ll.type == TIFF_RATIONAL || ll.type == TIFF_SRATIONAL)
|
||||
&& ll.count == 3))
|
||||
return NAN;
|
||||
|
||||
if (!file.seek(ll.offset))
|
||||
|
@ -96,7 +96,7 @@ static bool readARecord(const char *line, qint64 len)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool IGCParser::readHRecord(const char *line, int len)
|
||||
bool IGCParser::readHRecord(CTX &ctx, const char *line, int len)
|
||||
{
|
||||
if (len < 11 || ::strncmp(line, "HFDTE", 5))
|
||||
return true;
|
||||
@ -112,9 +112,9 @@ bool IGCParser::readHRecord(const char *line, int len)
|
||||
return false;
|
||||
}
|
||||
|
||||
_date = QDate(y + 2000 <= QDate::currentDate().year() ? 2000 + y : 1900 + y,
|
||||
m, d);
|
||||
if (!_date.isValid()) {
|
||||
ctx.date = QDate(y + 2000 <= QDate::currentDate().year()
|
||||
? 2000 + y : 1900 + y, m, d);
|
||||
if (!ctx.date.isValid()) {
|
||||
_errorString = "Invalid date";
|
||||
return false;
|
||||
}
|
||||
@ -122,8 +122,8 @@ bool IGCParser::readHRecord(const char *line, int len)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool IGCParser::readBRecord(SegmentData &segment, const char *line,
|
||||
int len)
|
||||
bool IGCParser::readBRecord(CTX &ctx, const char *line, int len,
|
||||
SegmentData &segment)
|
||||
{
|
||||
qreal lat, lon, ele;
|
||||
QTime time;
|
||||
@ -152,20 +152,20 @@ bool IGCParser::readBRecord(SegmentData &segment, const char *line,
|
||||
return false;
|
||||
}
|
||||
|
||||
if (time < _time && !segment.isEmpty()
|
||||
&& _date == segment.last().timestamp().date())
|
||||
_date = _date.addDays(1);
|
||||
_time = time;
|
||||
if (time < ctx.time && !segment.isEmpty()
|
||||
&& ctx.date == segment.last().timestamp().date())
|
||||
ctx.date = ctx.date.addDays(1);
|
||||
ctx.time = time;
|
||||
|
||||
Trackpoint t(Coordinates(lon, lat));
|
||||
t.setTimestamp(QDateTime(_date, _time, Qt::UTC));
|
||||
t.setTimestamp(QDateTime(ctx.date, ctx.time, Qt::UTC));
|
||||
t.setElevation(ele);
|
||||
segment.append(t);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool IGCParser::readCRecord(RouteData &route, const char *line, int len)
|
||||
bool IGCParser::readCRecord(const char *line, int len, RouteData &route)
|
||||
{
|
||||
qreal lat, lon;
|
||||
|
||||
@ -202,6 +202,7 @@ bool IGCParser::parse(QFile *file, QList<TrackData> &tracks,
|
||||
qint64 len;
|
||||
char line[76 + 2 + 1 + 1];
|
||||
bool route = false, track = false;
|
||||
CTX ctx;
|
||||
|
||||
|
||||
_errorLine = 1;
|
||||
@ -225,28 +226,28 @@ bool IGCParser::parse(QFile *file, QList<TrackData> &tracks,
|
||||
}
|
||||
} else {
|
||||
if (line[0] == 'H') {
|
||||
if (!readHRecord(line, len))
|
||||
if (!readHRecord(ctx, line, len))
|
||||
return false;
|
||||
} else if (line[0] == 'C') {
|
||||
if (route) {
|
||||
if (!readCRecord(routes.last() ,line, len))
|
||||
if (!readCRecord(line, len, routes.last()))
|
||||
return false;
|
||||
} else {
|
||||
route = true;
|
||||
routes.append(RouteData());
|
||||
}
|
||||
} else if (line[0] == 'B') {
|
||||
if (_date.isNull()) {
|
||||
if (ctx.date.isNull()) {
|
||||
_errorString = "Missing date header";
|
||||
return false;
|
||||
}
|
||||
if (!track) {
|
||||
tracks.append(TrackData());
|
||||
tracks.last().append(SegmentData());
|
||||
_time = QTime(0, 0);
|
||||
ctx.time = QTime(0, 0);
|
||||
track = true;
|
||||
}
|
||||
if (!readBRecord(tracks.last().last(), line, len))
|
||||
if (!readBRecord(ctx, line, len, tracks.last().last()))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -17,15 +17,17 @@ public:
|
||||
int errorLine() const {return _errorLine;}
|
||||
|
||||
private:
|
||||
bool readHRecord(const char *line, int len);
|
||||
bool readBRecord(SegmentData &segment, const char *line, int len);
|
||||
bool readCRecord(RouteData &route, const char *line, int len);
|
||||
struct CTX {
|
||||
QDate date;
|
||||
QTime time;
|
||||
};
|
||||
|
||||
bool readHRecord(CTX &ctx, const char *line, int len);
|
||||
bool readBRecord(CTX &ctx, const char *line, int len, SegmentData &segment);
|
||||
bool readCRecord(const char *line, int len, RouteData &route);
|
||||
|
||||
int _errorLine;
|
||||
QString _errorString;
|
||||
|
||||
QDate _date;
|
||||
QTime _time;
|
||||
};
|
||||
|
||||
#endif // IGCPARSER_H
|
||||
|
@ -7,15 +7,15 @@ class Link {
|
||||
public:
|
||||
Link() {}
|
||||
Link(const QString &URL, const QString &text = QString())
|
||||
: _URL(URL), _text(text) {}
|
||||
: _url(URL), _text(text) {}
|
||||
|
||||
void setURL(const QString &URL) {_URL = URL;}
|
||||
void setURL(const QString &URL) {_url = URL;}
|
||||
void setText(const QString &text) {_text = text;}
|
||||
const QString &URL() const {return _URL;}
|
||||
const QString &URL() const {return _url;}
|
||||
const QString &text() const {return _text;}
|
||||
|
||||
private:
|
||||
QString _URL;
|
||||
QString _url;
|
||||
QString _text;
|
||||
};
|
||||
|
||||
|
@ -227,7 +227,8 @@ bool NMEAParser::readEW(const char *data, int len, qreal &lon)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool NMEAParser::readRMC(SegmentData &segment, const char *line, int len)
|
||||
bool NMEAParser::readRMC(CTX &ctx, const char *line, int len,
|
||||
SegmentData &segment)
|
||||
{
|
||||
int col = 1;
|
||||
const char *vp = line;
|
||||
@ -280,23 +281,24 @@ bool NMEAParser::readRMC(SegmentData &segment, const char *line, int len)
|
||||
}
|
||||
|
||||
if (!date.isNull()) {
|
||||
if (_date.isNull() && !_time.isNull() && !segment.isEmpty())
|
||||
segment.last().setTimestamp(QDateTime(date, _time, Qt::UTC));
|
||||
_date = date;
|
||||
if (ctx.date.isNull() && !ctx.time.isNull() && !segment.isEmpty())
|
||||
segment.last().setTimestamp(QDateTime(date, ctx.time, Qt::UTC));
|
||||
ctx.date = date;
|
||||
}
|
||||
|
||||
Coordinates c(lon, lat);
|
||||
if (valid && !_GGA && c.isValid()) {
|
||||
if (valid && !ctx.GGA && c.isValid()) {
|
||||
Trackpoint t(c);
|
||||
if (!_date.isNull() && !time.isNull())
|
||||
t.setTimestamp(QDateTime(_date, time, Qt::UTC));
|
||||
if (!ctx.date.isNull() && !time.isNull())
|
||||
t.setTimestamp(QDateTime(ctx.date, time, Qt::UTC));
|
||||
segment.append(t);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool NMEAParser::readGGA(SegmentData &segment, const char *line, int len)
|
||||
bool NMEAParser::readGGA(CTX &ctx, const char *line, int len,
|
||||
SegmentData &segment)
|
||||
{
|
||||
int col = 1;
|
||||
const char *vp = line;
|
||||
@ -306,7 +308,7 @@ bool NMEAParser::readGGA(SegmentData &segment, const char *line, int len)
|
||||
if (*lp == ',' || *lp == '*') {
|
||||
switch (col) {
|
||||
case 1:
|
||||
if (!readTime(vp, lp - vp, _time))
|
||||
if (!readTime(vp, lp - vp, ctx.time))
|
||||
return false;
|
||||
break;
|
||||
case 2:
|
||||
@ -360,19 +362,19 @@ bool NMEAParser::readGGA(SegmentData &segment, const char *line, int len)
|
||||
Coordinates c(lon, lat);
|
||||
if (c.isValid()) {
|
||||
Trackpoint t(c);
|
||||
if (!(_time.isNull() || _date.isNull()))
|
||||
t.setTimestamp(QDateTime(_date, _time, Qt::UTC));
|
||||
if (!(ctx.time.isNull() || ctx.date.isNull()))
|
||||
t.setTimestamp(QDateTime(ctx.date, ctx.time, Qt::UTC));
|
||||
if (!std::isnan(ele))
|
||||
t.setElevation(ele - gh);
|
||||
segment.append(t);
|
||||
|
||||
_GGA = true;
|
||||
ctx.GGA = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool NMEAParser::readWPL(QVector<Waypoint> &waypoints, const char *line, int len)
|
||||
bool NMEAParser::readWPL(const char *line, int len, QVector<Waypoint> &waypoints)
|
||||
{
|
||||
int col = 1;
|
||||
const char *vp = line;
|
||||
@ -423,7 +425,7 @@ bool NMEAParser::readWPL(QVector<Waypoint> &waypoints, const char *line, int len
|
||||
return true;
|
||||
}
|
||||
|
||||
bool NMEAParser::readZDA(const char *line, int len)
|
||||
bool NMEAParser::readZDA(CTX &ctx, const char *line, int len)
|
||||
{
|
||||
int col = 1;
|
||||
const char *vp = line;
|
||||
@ -468,8 +470,8 @@ bool NMEAParser::readZDA(const char *line, int len)
|
||||
return false;
|
||||
}
|
||||
|
||||
_date = QDate(y, m, d);
|
||||
if (!_date.isValid()) {
|
||||
ctx.date = QDate(y, m, d);
|
||||
if (!ctx.date.isValid()) {
|
||||
_errorString = "Invalid date";
|
||||
return false;
|
||||
}
|
||||
@ -486,13 +488,11 @@ bool NMEAParser::parse(QFile *file, QList<TrackData> &tracks,
|
||||
qint64 len;
|
||||
char line[80 + 2 + 1 + 1];
|
||||
SegmentData segment;
|
||||
CTX ctx;
|
||||
|
||||
|
||||
_errorLine = 1;
|
||||
_errorString.clear();
|
||||
_date = QDate();
|
||||
_time = QTime();
|
||||
_GGA = false;
|
||||
|
||||
while (!file->atEnd()) {
|
||||
len = file->readLine(line, sizeof(line));
|
||||
@ -507,16 +507,16 @@ bool NMEAParser::parse(QFile *file, QList<TrackData> &tracks,
|
||||
|
||||
if (validSentence(line, len)) {
|
||||
if (!memcmp(line + 3, "RMC,", 4)) {
|
||||
if (!readRMC(segment, line + 7, len - 7))
|
||||
if (!readRMC(ctx, line + 7, len - 7, segment))
|
||||
return false;
|
||||
} else if (!memcmp(line + 3, "GGA,", 4)) {
|
||||
if (!readGGA(segment, line + 7, len - 7))
|
||||
if (!readGGA(ctx, line + 7, len - 7, segment))
|
||||
return false;
|
||||
} else if (!memcmp(line + 3, "WPL,", 4)) {
|
||||
if (!readWPL(waypoints, line + 7, len - 7))
|
||||
if (!readWPL(line + 7, len - 7, waypoints))
|
||||
return false;
|
||||
} else if (!memcmp(line + 3, "ZDA,", 4)) {
|
||||
if (!readZDA(line + 7, len - 7))
|
||||
if (!readZDA(ctx, line + 7, len - 7))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
class NMEAParser : public Parser
|
||||
{
|
||||
public:
|
||||
NMEAParser() : _errorLine(0), _GGA(false) {}
|
||||
NMEAParser() : _errorLine(0) {}
|
||||
|
||||
bool parse(QFile *file, QList<TrackData> &tracks, QList<RouteData> &routes,
|
||||
QList<Area> &polygons, QVector<Waypoint> &waypoints);
|
||||
@ -16,6 +16,14 @@ public:
|
||||
int errorLine() const {return _errorLine;}
|
||||
|
||||
private:
|
||||
struct CTX {
|
||||
CTX() : GGA(false) {}
|
||||
|
||||
QDate date;
|
||||
QTime time;
|
||||
bool GGA;
|
||||
};
|
||||
|
||||
bool readEW(const char *data, int len, qreal &lon);
|
||||
bool readLon(const char *data, int len, qreal &lon);
|
||||
bool readNS(const char *data, int len, qreal &lat);
|
||||
@ -25,17 +33,13 @@ private:
|
||||
bool readAltitude(const char *data, int len, qreal &ele);
|
||||
bool readGeoidHeight(const char *data, int len, qreal &gh);
|
||||
|
||||
bool readRMC(SegmentData &segment, const char *line, int len);
|
||||
bool readGGA(SegmentData &segment, const char *line, int len);
|
||||
bool readWPL(QVector<Waypoint> &waypoints, const char *line, int len);
|
||||
bool readZDA(const char *line, int len);
|
||||
bool readRMC(CTX &ctx, const char *line, int len, SegmentData &segment);
|
||||
bool readGGA(CTX &ctx, const char *line, int len, SegmentData &segment);
|
||||
bool readWPL(const char *line, int len, QVector<Waypoint> &waypoints);
|
||||
bool readZDA(CTX &ctx, const char *line, int len);
|
||||
|
||||
int _errorLine;
|
||||
QString _errorString;
|
||||
|
||||
QDate _date;
|
||||
QTime _time;
|
||||
bool _GGA;
|
||||
};
|
||||
|
||||
#endif // NMEAPARSER_H
|
||||
|
163
src/data/smlparser.cpp
Normal file
163
src/data/smlparser.cpp
Normal file
@ -0,0 +1,163 @@
|
||||
#include "smlparser.h"
|
||||
|
||||
|
||||
#ifndef QT_NO_DEBUG
|
||||
QDebug operator<<(QDebug dbg, const SMLParser::Sensors &sensors)
|
||||
{
|
||||
dbg.nospace() << "Sensors(" << sensors.cadence << ", "
|
||||
<< sensors.temperature << ", " << sensors.hr << "," << sensors.power
|
||||
<< ", " << sensors.speed << ")";
|
||||
|
||||
return dbg.space();
|
||||
}
|
||||
#endif // QT_NO_DEBUG
|
||||
|
||||
|
||||
void SMLParser::sample(SegmentData &segment, QMap<QDateTime, Sensors> &map)
|
||||
{
|
||||
QDateTime timestamp;
|
||||
Sensors sensors;
|
||||
qreal lat = NAN, lon = NAN, altitude = NAN;
|
||||
bool ok, periodic = false;
|
||||
|
||||
while (_reader.readNextStartElement()) {
|
||||
if (_reader.name() == QLatin1String("Latitude")) {
|
||||
lat = _reader.readElementText().toDouble(&ok);
|
||||
if (!ok || lat < -90 || lon > 90) {
|
||||
_reader.raiseError("Invalid Latitude");
|
||||
return;
|
||||
}
|
||||
} else if (_reader.name() == QLatin1String("Longitude")) {
|
||||
lon = _reader.readElementText().toDouble(&ok);
|
||||
if (!ok || lat < -180 || lon > 180) {
|
||||
_reader.raiseError("Invalid Longitude");
|
||||
return;
|
||||
}
|
||||
} else if (_reader.name() == QLatin1String("UTC")) {
|
||||
timestamp = QDateTime::fromString(_reader.readElementText(),
|
||||
Qt::ISODate);
|
||||
if (!timestamp.isValid()) {
|
||||
_reader.raiseError("Invalid timestamp");
|
||||
return;
|
||||
}
|
||||
} else if (_reader.name() == QLatin1String("GPSAltitude")) {
|
||||
altitude = _reader.readElementText().toDouble(&ok);
|
||||
if (!ok) {
|
||||
_reader.raiseError("Invalid GPS altitude");
|
||||
return;
|
||||
}
|
||||
} else if (_reader.name() == QLatin1String("SampleType")) {
|
||||
if (_reader.readElementText() == "periodic")
|
||||
periodic = true;
|
||||
} else if (_reader.name() == QLatin1String("Cadence")) {
|
||||
sensors.cadence = _reader.readElementText().toDouble(&ok);
|
||||
if (!ok || sensors.cadence < 0) {
|
||||
_reader.raiseError("Invalid Cadence");
|
||||
return;
|
||||
}
|
||||
} else if (_reader.name() == QLatin1String("Temperature")) {
|
||||
sensors.temperature = _reader.readElementText().toDouble(&ok);
|
||||
// Temperature is in Kelvin units
|
||||
if (!ok || sensors.temperature < 0) {
|
||||
_reader.raiseError("Invalid Temperature");
|
||||
return;
|
||||
}
|
||||
} else if (_reader.name() == QLatin1String("HR")) {
|
||||
sensors.hr = _reader.readElementText().toDouble(&ok);
|
||||
if (!ok || sensors.hr < 0) {
|
||||
_reader.raiseError("Invalid HR");
|
||||
return;
|
||||
}
|
||||
} else if (_reader.name() == QLatin1String("BikePower")) {
|
||||
sensors.power = _reader.readElementText().toDouble(&ok);
|
||||
if (!ok || sensors.power < 0) {
|
||||
_reader.raiseError("Invalid BikePower");
|
||||
return;
|
||||
}
|
||||
} else if (_reader.name() == QLatin1String("Speed")) {
|
||||
sensors.speed = _reader.readElementText().toDouble(&ok);
|
||||
if (!ok || sensors.speed < 0) {
|
||||
_reader.raiseError("Invalid Speed");
|
||||
return;
|
||||
}
|
||||
} else
|
||||
_reader.skipCurrentElement();
|
||||
}
|
||||
|
||||
if (periodic && timestamp.isValid())
|
||||
map.insert(timestamp, sensors);
|
||||
else if (!(std::isnan(lon) || std::isnan(lat))) {
|
||||
Trackpoint t(Coordinates(rad2deg(lon), rad2deg(lat)));
|
||||
t.setTimestamp(timestamp);
|
||||
t.setElevation(altitude);
|
||||
|
||||
segment.append(t);
|
||||
}
|
||||
}
|
||||
|
||||
void SMLParser::samples(SegmentData &segment)
|
||||
{
|
||||
QMap<QDateTime, Sensors> sensors;
|
||||
QMap<QDateTime, Sensors>::const_iterator it;
|
||||
|
||||
while (_reader.readNextStartElement()) {
|
||||
if (_reader.name() == QLatin1String("Sample")) {
|
||||
sample(segment, sensors);
|
||||
} else
|
||||
_reader.skipCurrentElement();
|
||||
}
|
||||
|
||||
for (int i = 0; i < segment.size(); i++) {
|
||||
Trackpoint &t = segment[i];
|
||||
if ((it = sensors.lowerBound(t.timestamp())) != sensors.constEnd()) {
|
||||
t.setCadence(it->cadence * 60);
|
||||
t.setTemperature(it->temperature - 273.15);
|
||||
t.setHeartRate(it->hr * 60);
|
||||
t.setPower(it->power);
|
||||
t.setSpeed(it->speed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SMLParser::deviceLog(TrackData &track)
|
||||
{
|
||||
while (_reader.readNextStartElement()) {
|
||||
if (_reader.name() == QLatin1String("Samples")) {
|
||||
track.append(SegmentData());
|
||||
samples(track.last());
|
||||
} else
|
||||
_reader.skipCurrentElement();
|
||||
}
|
||||
}
|
||||
|
||||
void SMLParser::sml(QList<TrackData> &tracks)
|
||||
{
|
||||
while (_reader.readNextStartElement()) {
|
||||
if (_reader.name() == QLatin1String("DeviceLog")) {
|
||||
tracks.append(TrackData());
|
||||
deviceLog(tracks.last());
|
||||
} else
|
||||
_reader.skipCurrentElement();
|
||||
}
|
||||
}
|
||||
|
||||
bool SMLParser::parse(QFile *file, QList<TrackData> &tracks,
|
||||
QList<RouteData> &routes, QList<Area> &polygons,
|
||||
QVector<Waypoint> &waypoints)
|
||||
{
|
||||
Q_UNUSED(routes);
|
||||
Q_UNUSED(polygons);
|
||||
Q_UNUSED(waypoints);
|
||||
|
||||
_reader.clear();
|
||||
_reader.setDevice(file);
|
||||
|
||||
if (_reader.readNextStartElement()) {
|
||||
if (_reader.name() == QLatin1String("sml"))
|
||||
sml(tracks);
|
||||
else
|
||||
_reader.raiseError("Not a SML file");
|
||||
}
|
||||
|
||||
return !_reader.error();
|
||||
}
|
38
src/data/smlparser.h
Normal file
38
src/data/smlparser.h
Normal file
@ -0,0 +1,38 @@
|
||||
#ifndef SMLPARSER_H
|
||||
#define SMLPARSER_H
|
||||
|
||||
#include <QXmlStreamReader>
|
||||
#include <QMap>
|
||||
#include <QDebug>
|
||||
#include "parser.h"
|
||||
|
||||
class SMLParser : public Parser
|
||||
{
|
||||
public:
|
||||
bool parse(QFile *file, QList<TrackData> &tracks, QList<RouteData> &routes,
|
||||
QList<Area> &polygons, QVector<Waypoint> &waypoints);
|
||||
QString errorString() const {return _reader.errorString();}
|
||||
int errorLine() const {return _reader.lineNumber();}
|
||||
|
||||
private:
|
||||
struct Sensors
|
||||
{
|
||||
Sensors()
|
||||
: cadence(NAN), temperature(NAN), hr(NAN), power(NAN), speed(NAN) {}
|
||||
|
||||
qreal cadence, temperature, hr, power, speed;
|
||||
};
|
||||
|
||||
void sml(QList<TrackData> &tracks);
|
||||
void deviceLog(TrackData &track);
|
||||
void samples(SegmentData &segment);
|
||||
void sample(SegmentData &segment, QMap<QDateTime, Sensors> &map);
|
||||
|
||||
#ifndef QT_NO_DEBUG
|
||||
friend QDebug operator<<(QDebug dbg, const Sensors &sensors);
|
||||
#endif // QT_NO_DEBUG
|
||||
|
||||
QXmlStreamReader _reader;
|
||||
};
|
||||
|
||||
#endif // SMLPARSER_H
|
83
src/map/IMG/bitstream.cpp
Normal file
83
src/map/IMG/bitstream.cpp
Normal file
@ -0,0 +1,83 @@
|
||||
#include "bitstream.h"
|
||||
|
||||
|
||||
bool BitStream1::read(int bits, quint32 &val)
|
||||
{
|
||||
val = 0;
|
||||
|
||||
for (int pos = 0; pos < bits; ) {
|
||||
if (!_remaining) {
|
||||
if (!_length || !_file.readUInt8(_hdl, _data))
|
||||
return false;
|
||||
_remaining = 8;
|
||||
_length--;
|
||||
}
|
||||
|
||||
quint32 get = bits - pos;
|
||||
if (get >= _remaining) {
|
||||
val |= _data << pos;
|
||||
pos += _remaining;
|
||||
_remaining = 0;
|
||||
} else {
|
||||
quint32 mask = (1<<get) - 1;
|
||||
val |= (_data & mask)<<pos;
|
||||
_data >>= get;
|
||||
_remaining -= get;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BitStream1::flush()
|
||||
{
|
||||
if (_length && !_file.seek(_hdl, _hdl.pos + _length))
|
||||
return false;
|
||||
|
||||
_length = 0;
|
||||
_remaining = 0;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool BitStream4::read(int bits, quint32 &val)
|
||||
{
|
||||
if (bits <= 32 - (int)(_used + _unused)) {
|
||||
val = bits ? (_data << _used) >> (32 - bits) : 0;
|
||||
_used += bits;
|
||||
return true;
|
||||
}
|
||||
|
||||
quint32 old = 0;
|
||||
if (_used < 32) {
|
||||
old = (_data << _used) >> (32 - bits);
|
||||
bits = (bits - 32) + _used;
|
||||
}
|
||||
_used = bits;
|
||||
|
||||
quint32 bytes = qMin(_length, (quint32)4);
|
||||
|
||||
if (!_file.readVUInt32SW(_hdl, bytes, _data))
|
||||
return false;
|
||||
|
||||
_length -= bytes;
|
||||
_unused = (4 - bytes) * 8;
|
||||
_data <<= _unused;
|
||||
|
||||
val = _data >> (32 - _used) | old;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BitStream4::flush()
|
||||
{
|
||||
if (_length && !_file.seek(_hdl, _hdl.pos + _length))
|
||||
return false;
|
||||
|
||||
_length = 0;
|
||||
_unused = 32;
|
||||
|
||||
return true;
|
||||
}
|
39
src/map/IMG/bitstream.h
Normal file
39
src/map/IMG/bitstream.h
Normal file
@ -0,0 +1,39 @@
|
||||
#ifndef BITSTREAM_H
|
||||
#define BITSTREAM_H
|
||||
|
||||
#include "subfile.h"
|
||||
|
||||
class BitStream1 {
|
||||
public:
|
||||
BitStream1(const SubFile &file, SubFile::Handle &hdl, quint32 length)
|
||||
: _file(file), _hdl(hdl), _length(length), _remaining(0) {}
|
||||
|
||||
bool read(int bits, quint32 &val);
|
||||
bool flush();
|
||||
quint32 bitsAvailable() const {return _length * 8 + _remaining;}
|
||||
|
||||
private:
|
||||
const SubFile &_file;
|
||||
SubFile::Handle &_hdl;
|
||||
quint32 _length, _remaining;
|
||||
quint8 _data;
|
||||
};
|
||||
|
||||
class BitStream4 {
|
||||
public:
|
||||
BitStream4(const SubFile &file, SubFile::Handle &hdl, quint32 length)
|
||||
: _file(file), _hdl(hdl), _length(length), _used(32), _unused(0),
|
||||
_data(0) {}
|
||||
|
||||
bool read(int bits, quint32 &val);
|
||||
bool flush();
|
||||
quint32 bitsAvailable() const {return _length * 8 + (32 - _used) - _unused;}
|
||||
|
||||
private:
|
||||
const SubFile &_file;
|
||||
SubFile::Handle &_hdl;
|
||||
quint32 _length, _used, _unused;
|
||||
quint32 _data;
|
||||
};
|
||||
|
||||
#endif // BITSTREAM_H
|
86
src/map/IMG/deltastream.cpp
Normal file
86
src/map/IMG/deltastream.cpp
Normal file
@ -0,0 +1,86 @@
|
||||
#include "deltastream.h"
|
||||
|
||||
|
||||
static int bitSize(quint8 baseSize, bool variableSign, bool extraBit)
|
||||
{
|
||||
int bits = 2;
|
||||
if (baseSize <= 9)
|
||||
bits += baseSize;
|
||||
else
|
||||
bits += 2 * baseSize - 9;
|
||||
|
||||
if (variableSign)
|
||||
bits++;
|
||||
if (extraBit)
|
||||
bits++;
|
||||
|
||||
return bits;
|
||||
}
|
||||
|
||||
DeltaStream::DeltaStream(const SubFile &file, SubFile::Handle &hdl,
|
||||
quint32 length, quint8 info, bool extraBit, bool extended)
|
||||
: BitStream1(file, hdl, length), _readBits(0xFFFFFFFF)
|
||||
{
|
||||
_extraBit = extraBit ? 1 : 0;
|
||||
if (!(sign(_lonSign) && sign(_latSign)))
|
||||
return;
|
||||
if (extended) {
|
||||
quint32 b;
|
||||
if (!read(1, b))
|
||||
return;
|
||||
}
|
||||
_lonBits = bitSize(info & 0x0F, !_lonSign, extraBit);
|
||||
_latBits = bitSize(info >> 4, !_latSign, false);
|
||||
_readBits = _lonBits + _latBits;
|
||||
}
|
||||
|
||||
bool DeltaStream::readDelta(int bits, int sign, int extraBit,
|
||||
qint32 &delta)
|
||||
{
|
||||
quint32 value;
|
||||
|
||||
if (!read(bits, value))
|
||||
return false;
|
||||
|
||||
value >>= extraBit;
|
||||
|
||||
if (!sign) {
|
||||
qint32 signMask = 1 << (bits - extraBit - 1);
|
||||
if (value & signMask) {
|
||||
qint32 comp = value ^ signMask;
|
||||
if (comp)
|
||||
delta = comp - signMask;
|
||||
else {
|
||||
qint32 other;
|
||||
if (!readDelta(bits - extraBit, sign, false, other))
|
||||
return false;
|
||||
if (other < 0)
|
||||
delta = 1 - signMask + other;
|
||||
else
|
||||
delta = signMask - 1 + other;
|
||||
}
|
||||
} else {
|
||||
delta = value;
|
||||
}
|
||||
} else {
|
||||
delta = value * sign;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DeltaStream::sign(int &val)
|
||||
{
|
||||
quint32 bit;
|
||||
val = 0;
|
||||
|
||||
if (!read(1, bit))
|
||||
return false;
|
||||
if (bit) {
|
||||
if (!read(1, bit))
|
||||
return false;
|
||||
val = bit ? -1 : 1;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
28
src/map/IMG/deltastream.h
Normal file
28
src/map/IMG/deltastream.h
Normal file
@ -0,0 +1,28 @@
|
||||
#ifndef DELTASTREAM_H
|
||||
#define DELTASTREAM_H
|
||||
|
||||
#include "bitstream.h"
|
||||
|
||||
class DeltaStream : public BitStream1 {
|
||||
public:
|
||||
DeltaStream(const SubFile &file, SubFile::Handle &hdl, quint32 length,
|
||||
quint8 info, bool extraBit, bool extended);
|
||||
|
||||
bool readNext(qint32 &lonDelta, qint32 &latDelta)
|
||||
{
|
||||
return hasNext()
|
||||
? (readDelta(_lonBits, _lonSign, _extraBit, lonDelta)
|
||||
&& readDelta(_latBits, _latSign, false, latDelta)) : false;
|
||||
}
|
||||
bool atEnd() const {return (_readBits != 0xFFFFFFFF && !hasNext());}
|
||||
|
||||
private:
|
||||
bool hasNext() const {return bitsAvailable() >= _readBits;}
|
||||
bool sign(int &val);
|
||||
bool readDelta(int bits, int sign, int extraBit, qint32 &delta);
|
||||
|
||||
int _lonSign, _latSign, _extraBit;
|
||||
quint32 _lonBits, _latBits, _readBits;
|
||||
};
|
||||
|
||||
#endif // DELTASTREAM_H
|
101
src/map/IMG/huffmanstream.cpp
Normal file
101
src/map/IMG/huffmanstream.cpp
Normal file
@ -0,0 +1,101 @@
|
||||
#include "huffmanstream.h"
|
||||
|
||||
|
||||
HuffmanStream::HuffmanStream(const SubFile &file, SubFile::Handle &hdl,
|
||||
quint32 length, const HuffmanTable &table, bool line)
|
||||
: BitStream4(file, hdl, length), _table(table), _symbolDataSize(0),
|
||||
_symbolData(0)
|
||||
{
|
||||
if (line) {
|
||||
if (!(sign(_lonSign) && sign(_latSign)))
|
||||
return;
|
||||
} else {
|
||||
_lonSign = 0;
|
||||
_latSign = 0;
|
||||
}
|
||||
|
||||
quint32 eb;
|
||||
if (!read(1, eb))
|
||||
return;
|
||||
if (eb) {
|
||||
qWarning("Extended polygon/lines not supported");
|
||||
flush();
|
||||
}
|
||||
}
|
||||
|
||||
bool HuffmanStream::readNext(qint32 &lonDelta, qint32 &latDelta)
|
||||
{
|
||||
if (!readDelta(_lonSign, lonDelta))
|
||||
return false;
|
||||
if (!readDelta(_latSign, latDelta))
|
||||
return false;
|
||||
|
||||
if (!(lonDelta|latDelta))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool HuffmanStream::readOffset(qint32 &lonDelta, qint32 &latDelta)
|
||||
{
|
||||
if (!readDelta(1, lonDelta))
|
||||
return false;
|
||||
if (!readDelta(1, latDelta))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool HuffmanStream::sign(int &val)
|
||||
{
|
||||
quint32 bit;
|
||||
val = 0;
|
||||
|
||||
if (!read(1, bit))
|
||||
return false;
|
||||
if (bit) {
|
||||
if (!read(1, bit))
|
||||
return false;
|
||||
val = bit ? -1 : 1;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool HuffmanStream::readDelta(int sign, qint32 &symbol)
|
||||
{
|
||||
uchar size;
|
||||
|
||||
if (_symbolDataSize < 32) {
|
||||
quint32 next;
|
||||
quint8 nextSize = qMin((quint32)(32 - _symbolDataSize),
|
||||
bitsAvailable());
|
||||
|
||||
if (!read(nextSize, next))
|
||||
return false;
|
||||
|
||||
_symbolData = (_symbolData << nextSize) | next;
|
||||
_symbolDataSize += nextSize;
|
||||
}
|
||||
|
||||
symbol = _table.symbol(_symbolData << (32U - _symbolDataSize), size);
|
||||
|
||||
if (size <= _symbolDataSize)
|
||||
_symbolDataSize -= size;
|
||||
else
|
||||
return false;
|
||||
|
||||
if (symbol && !sign) {
|
||||
if (!_symbolDataSize)
|
||||
return false;
|
||||
else {
|
||||
sign = ((1U << (_symbolDataSize - 1)) & _symbolData) ? -1 : 1;
|
||||
_symbolDataSize--;
|
||||
}
|
||||
}
|
||||
symbol = sign * symbol;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
27
src/map/IMG/huffmanstream.h
Normal file
27
src/map/IMG/huffmanstream.h
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef HUFFMANSTREAM_H
|
||||
#define HUFFMANSTREAM_H
|
||||
|
||||
#include "bitstream.h"
|
||||
#include "huffmantable.h"
|
||||
|
||||
class HuffmanStream : public BitStream4 {
|
||||
public:
|
||||
HuffmanStream(const SubFile &file, SubFile::Handle &hdl, quint32 length,
|
||||
const HuffmanTable &table, bool line);
|
||||
|
||||
bool readNext(qint32 &lonDelta, qint32 &latDelta);
|
||||
bool readOffset(qint32 &lonDelta, qint32 &latDelta);
|
||||
bool atEnd() const
|
||||
{return _symbolDataSize + bitsAvailable() < _table.maxSymbolSize();}
|
||||
|
||||
private:
|
||||
bool sign(int &val);
|
||||
bool readDelta(int sign, qint32 &delta);
|
||||
|
||||
const HuffmanTable &_table;
|
||||
quint32 _symbolDataSize;
|
||||
quint32 _symbolData;
|
||||
int _lonSign, _latSign;
|
||||
};
|
||||
|
||||
#endif // HUFFMANSTREAM_H
|
139
src/map/IMG/huffmantable.cpp
Normal file
139
src/map/IMG/huffmantable.cpp
Normal file
@ -0,0 +1,139 @@
|
||||
#include "huffmantable.h"
|
||||
|
||||
|
||||
static quint8 vs(const quint8 b0)
|
||||
{
|
||||
static const quint8 sizes[] = {4, 1, 2, 1, 3, 1, 2, 1};
|
||||
return sizes[b0 & 0x07];
|
||||
}
|
||||
|
||||
static inline quint8 bs(const quint8 val)
|
||||
{
|
||||
return (val + 7) >> 3;
|
||||
}
|
||||
|
||||
static inline quint32 readVUint32(const quint8 *buffer, quint32 bytes)
|
||||
{
|
||||
quint32 val = 0;
|
||||
|
||||
for (quint32 i = bytes; i; i--)
|
||||
val |= ((quint32)*(buffer + i)) << ((i-1) * 8);
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
bool HuffmanTable::load(const SubFile &file, SubFile::Handle &hdl,
|
||||
quint32 offset, quint32 size, quint32 id)
|
||||
{
|
||||
if (!getBuffer(file, hdl, offset, size, id))
|
||||
return false;
|
||||
|
||||
_s0 = (quint8)_buffer.at(0) & 0x0F;
|
||||
_s1e = (quint8)_buffer.at(0) & 0x10 ? 1 : 8;
|
||||
_s2 = (quint8)_buffer.at(1);
|
||||
_s3 = bs(_s2);
|
||||
_s1d = (quint8)_buffer.at(2);
|
||||
_s1f = (quint8)_buffer.at(3);
|
||||
_s20 = bs(_s1f);
|
||||
_s1 = _s20 + 1;
|
||||
_s22 = vs(_buffer.at(4));
|
||||
_s1c = _s3 + 1 + _s22;
|
||||
_s14 = (quint8*)(_buffer.data()) + 4 + _s22;
|
||||
_s10 = _s14 + _s1c * _s1d;
|
||||
_s18 = _s10 + (_s1 << _s0);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool HuffmanTable::getBuffer(const SubFile &file, SubFile::Handle &hdl,
|
||||
quint32 offset, quint32 size, quint8 id)
|
||||
{
|
||||
quint32 recordSize, recordOffset = offset;
|
||||
|
||||
for (int i = 0; i <= id; i++) {
|
||||
if (!file.seek(hdl, recordOffset))
|
||||
return false;
|
||||
if (!file.readVUInt32(hdl, recordSize))
|
||||
return false;
|
||||
recordOffset = hdl.pos + recordSize;
|
||||
if (recordOffset > offset + size)
|
||||
return false;
|
||||
};
|
||||
|
||||
_buffer.resize(recordSize);
|
||||
for (int i = 0; i < _buffer.size(); i++)
|
||||
if (!file.readUInt8(hdl, *((quint8*)(_buffer.data() + i))))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
quint32 HuffmanTable::symbol(quint32 data, quint8 &size) const
|
||||
{
|
||||
quint32 ss, sym;
|
||||
quint8 *tp;
|
||||
|
||||
|
||||
if (_s0 == 0) {
|
||||
sym = _s1d - 1;
|
||||
ss = 0;
|
||||
} else {
|
||||
quint32 offset = _s1 * (data >> (0x20U - _s0));
|
||||
tp = _s10 + offset;
|
||||
|
||||
if ((*tp & 1) != 0) {
|
||||
sym = readVUint32(tp, _s20);
|
||||
size = *tp >> 1;
|
||||
return sym;
|
||||
}
|
||||
|
||||
ss = *tp >> 1;
|
||||
sym = tp[1];
|
||||
}
|
||||
|
||||
tp = ss * _s1c + _s14;
|
||||
data = data >> (0x20U - _s2);
|
||||
|
||||
quint8 *prev = tp;
|
||||
while (ss < sym) {
|
||||
quint32 cnt = (ss + 1 + sym) >> 1;
|
||||
tp = _s14 + (cnt * _s1c);
|
||||
quint32 nd = readVUint32(tp - 1, _s3);
|
||||
|
||||
if (data <= nd) {
|
||||
if (data == nd)
|
||||
ss = cnt;
|
||||
else
|
||||
tp = prev;
|
||||
|
||||
sym = cnt - (data < nd);
|
||||
cnt = ss;
|
||||
}
|
||||
ss = cnt;
|
||||
prev = tp;
|
||||
}
|
||||
|
||||
sym = readVUint32(tp - 1, _s3);
|
||||
tp = tp + _s3;
|
||||
ss = readVUint32(tp, _s22);
|
||||
size = *tp;
|
||||
sym = (data - sym) >> (_s2 - *tp);
|
||||
|
||||
if (_s1e == 8)
|
||||
sym = readVUint32(tp, _s20);
|
||||
else {
|
||||
sym = (sym + ss) * _s1f;
|
||||
ss = sym >> 3;
|
||||
sym = sym & 7;
|
||||
quint32 shift = 8 - sym;
|
||||
sym = *(_s18 + ss) >> sym;
|
||||
|
||||
if (shift < _s1f) {
|
||||
tp = _s18 + ss;
|
||||
ss = readVUint32(tp, ((_s1f + 7) - shift) >> 3);
|
||||
sym = (ss << shift) | sym;
|
||||
}
|
||||
}
|
||||
|
||||
return sym;
|
||||
}
|
27
src/map/IMG/huffmantable.h
Normal file
27
src/map/IMG/huffmantable.h
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef HUFFMANTABLE_H
|
||||
#define HUFFMANTABLE_H
|
||||
|
||||
#include "subfile.h"
|
||||
|
||||
class HuffmanTable {
|
||||
public:
|
||||
HuffmanTable() : _s2(0) {}
|
||||
|
||||
bool load(const SubFile &file, SubFile::Handle &hdl, quint32 offset,
|
||||
quint32 size, quint32 id);
|
||||
bool isNull() const {return _s2 == 0;}
|
||||
quint8 maxSymbolSize() const {return _s2;}
|
||||
quint32 symbol(quint32 data, quint8 &size) const;
|
||||
|
||||
private:
|
||||
bool getBuffer(const SubFile &file, SubFile::Handle &hdl, quint32 offset,
|
||||
quint32 size, quint8 id);
|
||||
|
||||
QByteArray _buffer;
|
||||
quint8 _s0, _s1, _s2, _s3;
|
||||
quint8 *_s10, *_s14, *_s18;
|
||||
quint8 _s1c, _s1d, _s1e, _s1f, _s20;
|
||||
quint16 _s22;
|
||||
};
|
||||
|
||||
#endif // HUFFMANTABLE_H
|
@ -1,4 +1,4 @@
|
||||
#include <QSet>
|
||||
#include <QMap>
|
||||
#include <QtEndian>
|
||||
#include "common/programpaths.h"
|
||||
#include "vectortile.h"
|
||||
@ -7,11 +7,7 @@
|
||||
|
||||
#define CACHE_SIZE 8388608 /* 8MB */
|
||||
|
||||
#define CHECK(condition) \
|
||||
if (!(condition)) { \
|
||||
_errorString = "Unsupported or invalid IMG file"; \
|
||||
return; \
|
||||
}
|
||||
typedef QMap<QString, VectorTile*> TileMap;
|
||||
|
||||
struct CTX
|
||||
{
|
||||
@ -27,9 +23,37 @@ struct CTX
|
||||
QList<IMG::Point> *points;
|
||||
};
|
||||
|
||||
static SubFile::Type tileType(const char str[3])
|
||||
{
|
||||
if (!memcmp(str, "TRE", 3))
|
||||
return SubFile::TRE;
|
||||
else if (!memcmp(str, "RGN", 3))
|
||||
return SubFile::RGN;
|
||||
else if (!memcmp(str, "LBL", 3))
|
||||
return SubFile::LBL;
|
||||
else if (!memcmp(str, "TYP", 3))
|
||||
return SubFile::TYP;
|
||||
else if (!memcmp(str, "GMP", 3))
|
||||
return SubFile::GMP;
|
||||
else if (!memcmp(str, "NET", 3))
|
||||
return SubFile::NET;
|
||||
else
|
||||
return SubFile::Unknown;
|
||||
}
|
||||
|
||||
IMG::IMG(const QString &fileName)
|
||||
: _file(fileName), _typ(0), _style(0), _valid(false)
|
||||
{
|
||||
#define CHECK(condition) \
|
||||
if (!(condition)) { \
|
||||
_errorString = "Unsupported or invalid IMG file"; \
|
||||
qDeleteAll(tileMap); \
|
||||
return; \
|
||||
}
|
||||
|
||||
TileMap tileMap;
|
||||
QString typFile;
|
||||
|
||||
if (!_file.open(QFile::ReadOnly)) {
|
||||
_errorString = _file.errorString();
|
||||
return;
|
||||
@ -56,6 +80,7 @@ IMG::IMG(const QString &fileName)
|
||||
_blockSize = 1 << (e1 + e2);
|
||||
_blockCache.setMaxCost(CACHE_SIZE / _blockSize);
|
||||
|
||||
|
||||
// Read the FAT table
|
||||
quint8 flag;
|
||||
quint64 offset = 0x200;
|
||||
@ -75,22 +100,18 @@ IMG::IMG(const QString &fileName)
|
||||
offset += 512;
|
||||
int cnt = (size - offset) / 512;
|
||||
|
||||
|
||||
QMap<QString, VectorTile*> tileMap;
|
||||
QString typFile;
|
||||
|
||||
// Read FAT blocks describing the IMG sub-files
|
||||
for (int i = 0; i < cnt; i++) {
|
||||
quint16 block;
|
||||
CHECK(_file.seek(offset) && readValue(flag) && read(name, sizeof(name))
|
||||
&& read(type, sizeof(type)) && readValue(size) && readValue(part));
|
||||
SubFile::Type tt = SubFile::type(type);
|
||||
SubFile::Type tt = tileType(type);
|
||||
|
||||
QString fn(QByteArray(name, sizeof(name)));
|
||||
if (SubFile::isTileFile(tt)) {
|
||||
if (VectorTile::isTileFile(tt)) {
|
||||
VectorTile *tile;
|
||||
QMap<QString, VectorTile*>::iterator it = tileMap.find(fn);
|
||||
if (it == tileMap.end()) {
|
||||
TileMap::const_iterator it = tileMap.find(fn);
|
||||
if (it == tileMap.constEnd()) {
|
||||
tile = new VectorTile();
|
||||
tileMap.insert(fn, tile);
|
||||
} else
|
||||
@ -131,21 +152,31 @@ IMG::IMG(const QString &fileName)
|
||||
}
|
||||
|
||||
// Create tile tree
|
||||
for (QMap<QString, VectorTile*>::iterator it = tileMap.begin();
|
||||
it != tileMap.end(); ++it) {
|
||||
CHECK((*it)->init());
|
||||
for (TileMap::const_iterator it = tileMap.constBegin();
|
||||
it != tileMap.constEnd(); ++it) {
|
||||
VectorTile *tile = it.value();
|
||||
|
||||
if (!tile->init()) {
|
||||
qWarning("%s: %s: Invalid map tile", qPrintable(_file.fileName()),
|
||||
qPrintable(it.key()));
|
||||
delete tile;
|
||||
continue;
|
||||
}
|
||||
|
||||
double min[2], max[2];
|
||||
min[0] = (*it)->bounds().left();
|
||||
min[1] = (*it)->bounds().bottom();
|
||||
max[0] = (*it)->bounds().right();
|
||||
max[1] = (*it)->bounds().top();
|
||||
_tileTree.Insert(min, max, *it);
|
||||
min[0] = tile->bounds().left();
|
||||
min[1] = tile->bounds().bottom();
|
||||
max[0] = tile->bounds().right();
|
||||
max[1] = tile->bounds().top();
|
||||
_tileTree.Insert(min, max, tile);
|
||||
|
||||
_bounds |= (*it)->bounds();
|
||||
_bounds |= tile->bounds();
|
||||
}
|
||||
|
||||
_valid = true;
|
||||
if (!_tileTree.Count())
|
||||
_errorString = "No usable map tile found";
|
||||
else
|
||||
_valid = true;
|
||||
}
|
||||
|
||||
IMG::~IMG()
|
||||
@ -166,7 +197,7 @@ void IMG::load()
|
||||
_style = new Style(_typ);
|
||||
else {
|
||||
QFile typFile(ProgramPaths::typFile());
|
||||
if (typFile.exists()) {
|
||||
if (typFile.open(QIODevice::ReadOnly)) {
|
||||
SubFile typ(&typFile);
|
||||
_style = new Style(&typ);
|
||||
} else
|
||||
|
@ -1,14 +1,12 @@
|
||||
#ifndef IMG_H
|
||||
#define IMG_H
|
||||
|
||||
#include <QRect>
|
||||
#include <QFile>
|
||||
#include <QByteArray>
|
||||
#include <QCache>
|
||||
#include <QDebug>
|
||||
#include "common/rtree.h"
|
||||
#include "common/rectc.h"
|
||||
#include "common/range.h"
|
||||
#include "style.h"
|
||||
#include "label.h"
|
||||
|
||||
@ -71,7 +69,6 @@ private:
|
||||
bool readBlock(int blockNum, QByteArray &data);
|
||||
qint64 read(char *data, qint64 maxSize);
|
||||
template<class T> bool readValue(T &val);
|
||||
bool init();
|
||||
|
||||
QFile _file;
|
||||
quint8 _key;
|
||||
|
@ -56,10 +56,10 @@ bool LBLFile::init(Handle &hdl)
|
||||
quint8 multiplier, poiMultiplier;
|
||||
|
||||
if (!(seek(hdl, _gmpOffset + 0x15) && readUInt32(hdl, _offset)
|
||||
&& readUInt32(hdl, _size) && readByte(hdl, multiplier)
|
||||
&& readByte(hdl, _encoding) && seek(hdl, _gmpOffset + 0x57)
|
||||
&& readUInt32(hdl, _size) && readUInt8(hdl, multiplier)
|
||||
&& readUInt8(hdl, _encoding) && seek(hdl, _gmpOffset + 0x57)
|
||||
&& readUInt32(hdl, _poiOffset) && readUInt32(hdl, _poiSize)
|
||||
&& readByte(hdl, poiMultiplier) && seek(hdl, _gmpOffset + 0xAA)
|
||||
&& readUInt8(hdl, poiMultiplier) && seek(hdl, _gmpOffset + 0xAA)
|
||||
&& readUInt16(hdl, codepage)))
|
||||
return false;
|
||||
|
||||
@ -89,7 +89,7 @@ Label LBLFile::label6b(Handle &hdl, quint32 offset) const
|
||||
return Label();
|
||||
|
||||
while (true) {
|
||||
if (!(readByte(hdl, b1) && readByte(hdl, b2) && readByte(hdl, b3)))
|
||||
if (!(readUInt8(hdl, b1) && readUInt8(hdl, b2) && readUInt8(hdl, b3)))
|
||||
return Label();
|
||||
|
||||
int c[]= {b1>>2, (b1&0x3)<<4|b2>>4, (b2&0xF)<<2|b3>>6, b3&0x3F};
|
||||
@ -138,7 +138,7 @@ Label LBLFile::label8b(Handle &hdl, quint32 offset) const
|
||||
return Label();
|
||||
|
||||
while (true) {
|
||||
if (!readByte(hdl, c))
|
||||
if (!readUInt8(hdl, c))
|
||||
return Label();
|
||||
if (!c || c == 0x1d)
|
||||
break;
|
||||
|
@ -3,9 +3,11 @@
|
||||
bool NETFile::init(Handle &hdl)
|
||||
{
|
||||
quint8 multiplier;
|
||||
quint16 hdrLen;
|
||||
|
||||
if (!(seek(hdl, _gmpOffset + 0x15) && readUInt32(hdl, _offset)
|
||||
&& readUInt32(hdl, _size) && readByte(hdl, multiplier)))
|
||||
if (!(seek(hdl, _gmpOffset) && readUInt16(hdl, hdrLen)
|
||||
&& seek(hdl, _gmpOffset + 0x15) && readUInt32(hdl, _offset)
|
||||
&& readUInt32(hdl, _size) && readUInt8(hdl, multiplier)))
|
||||
return false;
|
||||
|
||||
_multiplier = 1<<multiplier;
|
||||
|
@ -15,8 +15,7 @@ public:
|
||||
private:
|
||||
bool init(Handle &hdl);
|
||||
|
||||
quint32 _offset;
|
||||
quint32 _size;
|
||||
quint32 _offset, _size;
|
||||
quint8 _multiplier;
|
||||
};
|
||||
|
||||
|
@ -1,123 +1,81 @@
|
||||
#include <cstring>
|
||||
#include "common/rectc.h"
|
||||
#include "common/garmin.h"
|
||||
#include "deltastream.h"
|
||||
#include "huffmanstream.h"
|
||||
#include "lblfile.h"
|
||||
#include "netfile.h"
|
||||
#include "rgnfile.h"
|
||||
|
||||
|
||||
static int bitSize(quint8 baseSize, bool variableSign, bool extraBit)
|
||||
bool RGNFile::skipClassFields(Handle &hdl) const
|
||||
{
|
||||
int bits = 2;
|
||||
if (baseSize <= 9)
|
||||
bits += baseSize;
|
||||
else
|
||||
bits += 2 * baseSize - 9;
|
||||
quint8 flags;
|
||||
quint32 rs;
|
||||
|
||||
if (variableSign)
|
||||
bits++;
|
||||
if (extraBit)
|
||||
bits++;
|
||||
if (!readUInt8(hdl, flags))
|
||||
return false;
|
||||
|
||||
return bits;
|
||||
}
|
||||
|
||||
bool RGNFile::BitStream::read(int bits, quint32 &val)
|
||||
{
|
||||
val = 0;
|
||||
|
||||
for (int pos = 0; pos < bits; ) {
|
||||
if (!_remaining) {
|
||||
if (!_length || !_file.readByte(_hdl, _data))
|
||||
return false;
|
||||
_remaining = 8;
|
||||
_length--;
|
||||
}
|
||||
|
||||
quint32 get = bits - pos;
|
||||
if (get >= _remaining) {
|
||||
val |= _data << pos;
|
||||
pos += _remaining;
|
||||
_remaining = 0;
|
||||
} else {
|
||||
quint32 mask = (1<<get) - 1;
|
||||
val |= (_data & mask)<<pos;
|
||||
_data >>= get;
|
||||
_remaining -= get;
|
||||
switch (flags >> 5) {
|
||||
case 4:
|
||||
rs = 1;
|
||||
break;
|
||||
case 5:
|
||||
rs = 2;
|
||||
break;
|
||||
case 6:
|
||||
rs = 3;
|
||||
break;
|
||||
case 7:
|
||||
if (!readVUInt32(hdl, rs))
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
rs = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return seek(hdl, hdl.pos + rs);
|
||||
}
|
||||
|
||||
RGNFile::DeltaStream::DeltaStream(const SubFile &file, Handle &hdl,
|
||||
quint32 length, quint8 info, bool extraBit, bool extended)
|
||||
: BitStream(file, hdl, length), _readBits(0xFFFFFFFF)
|
||||
bool RGNFile::skipLclFields(Handle &hdl, const quint32 flags[3],
|
||||
Segment::Type type) const
|
||||
{
|
||||
_extraBit = extraBit ? 1 : 0;
|
||||
if (!(sign(_lonSign) && sign(_latSign)))
|
||||
return;
|
||||
if (extended) {
|
||||
quint32 b;
|
||||
if (!read(1, b))
|
||||
return;
|
||||
}
|
||||
_lonBits = bitSize(info & 0x0F, !_lonSign, extraBit);
|
||||
_latBits = bitSize(info >> 4, !_latSign, false);
|
||||
_readBits = _lonBits + _latBits;
|
||||
}
|
||||
quint32 bitfield = 0xFFFFFFFF;
|
||||
|
||||
bool RGNFile::DeltaStream::readDelta(int bits, int sign, int extraBit,
|
||||
qint32 &delta)
|
||||
{
|
||||
quint32 value;
|
||||
|
||||
if (!read(bits, value))
|
||||
return false;
|
||||
|
||||
value >>= extraBit;
|
||||
|
||||
if (!sign) {
|
||||
qint32 signMask = 1 << (bits - extraBit - 1);
|
||||
if (value & signMask) {
|
||||
qint32 comp = value ^ signMask;
|
||||
if (comp)
|
||||
delta = comp - signMask;
|
||||
else {
|
||||
qint32 other;
|
||||
if (!readDelta(bits - extraBit, sign, false, other))
|
||||
return false;
|
||||
if (other < 0)
|
||||
delta = 1 - signMask + other;
|
||||
else
|
||||
delta = signMask - 1 + other;
|
||||
}
|
||||
} else {
|
||||
delta = value;
|
||||
}
|
||||
} else {
|
||||
delta = value * sign;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool RGNFile::DeltaStream::sign(int &val)
|
||||
{
|
||||
quint32 bit;
|
||||
val = 0;
|
||||
|
||||
if (!read(1, bit))
|
||||
return false;
|
||||
if (bit) {
|
||||
if (!read(1, bit))
|
||||
if (flags[0] & 0x20000000)
|
||||
if (!readVBitfield32(hdl, bitfield))
|
||||
return false;
|
||||
val = bit ? -1 : 1;
|
||||
|
||||
for (int i = 0; i < 29; i++) {
|
||||
if ((flags[0] >> i) & 1) {
|
||||
if (bitfield & 1) {
|
||||
quint32 m = flags[(i >> 4) + 1] >> ((i * 2) & 0x1e) & 3;
|
||||
switch (i) {
|
||||
case 5:
|
||||
if (m == 1 && type == Segment::Point) {
|
||||
quint16 u16;
|
||||
if (!readUInt16(hdl, u16))
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
bitfield >>= 1;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void RGNFile::clearFlags()
|
||||
{
|
||||
memset(_polygonsFlags, 0, sizeof(_polygonsFlags));
|
||||
memset(_linesFlags, 0, sizeof(_linesFlags));
|
||||
memset(_pointsFlags, 0, sizeof(_pointsFlags));
|
||||
}
|
||||
|
||||
bool RGNFile::init(Handle &hdl)
|
||||
{
|
||||
@ -128,25 +86,29 @@ bool RGNFile::init(Handle &hdl)
|
||||
&& readUInt32(hdl, _size)))
|
||||
return false;
|
||||
|
||||
if (hdrLen >= 0x5D) {
|
||||
if (hdrLen >= 0x68) {
|
||||
if (!(readUInt32(hdl, _polygonsOffset) && readUInt32(hdl, _polygonsSize)
|
||||
&& seek(hdl, _gmpOffset + 0x39) && readUInt32(hdl, _linesOffset)
|
||||
&& readUInt32(hdl, _linesSize) && seek(hdl, _gmpOffset + 0x55)
|
||||
&& readUInt32(hdl, _pointsOffset) && readUInt32(hdl, _pointsSize)))
|
||||
&& seek(hdl, _gmpOffset + 0x2D) && readUInt32(hdl, _polygonsFlags[0])
|
||||
&& readUInt32(hdl, _polygonsFlags[1]) && readUInt32(hdl, _polygonsFlags[2])
|
||||
&& readUInt32(hdl, _linesOffset) && readUInt32(hdl, _linesSize)
|
||||
&& seek(hdl, _gmpOffset + 0x49) && readUInt32(hdl, _linesFlags[0])
|
||||
&& readUInt32(hdl, _linesFlags[1]) && readUInt32(hdl, _linesFlags[2])
|
||||
&& readUInt32(hdl, _pointsOffset) && readUInt32(hdl, _pointsSize)
|
||||
&& seek(hdl, _gmpOffset + 0x65) && readUInt32(hdl, _pointsFlags[0])
|
||||
&& readUInt32(hdl, _pointsFlags[1]) && readUInt32(hdl, _pointsFlags[2])))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (hdrLen >= 0x7D) {
|
||||
quint32 dictOffset, dictSize;
|
||||
quint32 dictOffset, dictSize, info;
|
||||
if (!(seek(hdl, _gmpOffset + 0x71) && readUInt32(hdl, dictOffset)
|
||||
&& readUInt32(hdl, dictSize)))
|
||||
&& readUInt32(hdl, dictSize) && readUInt32(hdl, info)))
|
||||
return false;
|
||||
|
||||
// NT maps
|
||||
if (dictSize || dictOffset) {
|
||||
qWarning("NT compression not supported");
|
||||
return false;
|
||||
}
|
||||
if (dictSize && dictOffset && (info & 0x1E))
|
||||
if (!_huffmanTable.load(*this, hdl, dictOffset, dictSize,
|
||||
((info >> 1) & 0xF) - 1))
|
||||
return false;
|
||||
}
|
||||
|
||||
_init = true;
|
||||
@ -158,9 +120,6 @@ bool RGNFile::polyObjects(const RectC &rect, Handle &hdl, const SubDiv *subdiv,
|
||||
const Segment &segment, LBLFile *lbl, Handle &lblHdl, NETFile *net,
|
||||
Handle &netHdl, QList<IMG::Poly> *polys) const
|
||||
{
|
||||
if (segment.start() == segment.end())
|
||||
return true;
|
||||
|
||||
if (!seek(hdl, segment.start()))
|
||||
return false;
|
||||
|
||||
@ -172,18 +131,18 @@ bool RGNFile::polyObjects(const RectC &rect, Handle &hdl, const SubDiv *subdiv,
|
||||
while (hdl.pos < (int)segment.end()) {
|
||||
IMG::Poly poly;
|
||||
|
||||
if (!(readByte(hdl, type) && readUInt24(hdl, labelPtr)
|
||||
if (!(readUInt8(hdl, type) && readUInt24(hdl, labelPtr)
|
||||
&& readInt16(hdl, lon) && readInt16(hdl, lat)))
|
||||
return false;
|
||||
if (type & 0x80) {
|
||||
if (!readUInt16(hdl, len))
|
||||
return false;
|
||||
} else {
|
||||
if (!readByte(hdl, len8))
|
||||
if (!readUInt8(hdl, len8))
|
||||
return false;
|
||||
len = len8;
|
||||
}
|
||||
if (!readByte(hdl, bitstreamInfo))
|
||||
if (!readUInt8(hdl, bitstreamInfo))
|
||||
return false;
|
||||
|
||||
poly.type = (segment.type() == Segment::Polygon)
|
||||
@ -230,11 +189,11 @@ bool RGNFile::polyObjects(const RectC &rect, Handle &hdl, const SubDiv *subdiv,
|
||||
}
|
||||
|
||||
bool RGNFile::extPolyObjects(const RectC &rect, Handle &hdl,
|
||||
const SubDiv *subdiv, const Segment &segment, LBLFile *lbl, Handle &lblHdl,
|
||||
QList<IMG::Poly> *polys) const
|
||||
const SubDiv *subdiv, quint32 shift, const Segment &segment, LBLFile *lbl,
|
||||
Handle &lblHdl, QList<IMG::Poly> *polys, bool line) const
|
||||
{
|
||||
quint32 len, labelPtr = 0;
|
||||
quint8 type, subtype, bitstreamInfo;
|
||||
quint32 labelPtr, len;
|
||||
quint8 type, subtype;
|
||||
qint16 lon, lat;
|
||||
|
||||
|
||||
@ -243,43 +202,78 @@ bool RGNFile::extPolyObjects(const RectC &rect, Handle &hdl,
|
||||
|
||||
while (hdl.pos < (int)segment.end()) {
|
||||
IMG::Poly poly;
|
||||
QPoint pos;
|
||||
RectC br;
|
||||
|
||||
if (!(readByte(hdl, type) && readByte(hdl, subtype)
|
||||
if (!(readUInt8(hdl, type) && readUInt8(hdl, subtype)
|
||||
&& readInt16(hdl, lon) && readInt16(hdl, lat)
|
||||
&& readVUInt32(hdl, len) && readByte(hdl, bitstreamInfo)))
|
||||
&& readVUInt32(hdl, len)))
|
||||
return false;
|
||||
|
||||
if (subtype & 0x80) {
|
||||
qWarning("Polygons/lines with extra bytes not supported");
|
||||
return false;
|
||||
}
|
||||
poly.type = 0x10000 | (quint16(type)<<8) | (subtype & 0x1F);
|
||||
labelPtr = 0;
|
||||
|
||||
poly.type = 0x10000 + (quint16(type) << 8) + (subtype & 0x1F);
|
||||
if (!_huffmanTable.isNull()) {
|
||||
pos = QPoint((subdiv->lon()<<8) + ((qint32)lon<<(32-subdiv->bits())),
|
||||
(subdiv->lat()<<8) + ((qint32)lat<<(32-subdiv->bits())));
|
||||
|
||||
QPoint pos(subdiv->lon() + ((qint32)lon<<(24-subdiv->bits())),
|
||||
subdiv->lat() + ((qint32)lat<<(24-subdiv->bits())));
|
||||
Coordinates c(toWGS24(pos.x()), toWGS24(pos.y()));
|
||||
RectC br(c, c);
|
||||
poly.points.append(QPointF(c.lon(), c.lat()));
|
||||
qint32 lonDelta, latDelta;
|
||||
HuffmanStream stream(*this, hdl, len, _huffmanTable, line);
|
||||
|
||||
qint32 lonDelta, latDelta;
|
||||
DeltaStream stream(*this, hdl, len - 1, bitstreamInfo, false, true);
|
||||
while (stream.readNext(lonDelta, latDelta)) {
|
||||
pos.rx() += lonDelta<<(24-subdiv->bits());
|
||||
pos.ry() += latDelta<<(24-subdiv->bits());
|
||||
|
||||
Coordinates c(toWGS24(pos.x()), toWGS24(pos.y()));
|
||||
if (shift) {
|
||||
if (!stream.readOffset(lonDelta, latDelta))
|
||||
return false;
|
||||
pos = QPoint(pos.x() | lonDelta<<(32-subdiv->bits()-shift),
|
||||
pos.y() | latDelta<<(32-subdiv->bits()-shift));
|
||||
}
|
||||
Coordinates c(toWGS32(pos.x()), toWGS32(pos.y()));
|
||||
br = RectC(c, c);
|
||||
poly.points.append(QPointF(c.lon(), c.lat()));
|
||||
br = br.united(c);
|
||||
}
|
||||
if (!(stream.atEnd() && stream.flush()))
|
||||
return false;
|
||||
|
||||
if ((subtype & 0x20)) {
|
||||
if (!readUInt24(hdl, labelPtr))
|
||||
while (stream.readNext(lonDelta, latDelta)) {
|
||||
pos.rx() += lonDelta<<(32-subdiv->bits()-shift);
|
||||
pos.ry() += latDelta<<(32-subdiv->bits()-shift);
|
||||
|
||||
Coordinates c(toWGS32(pos.x()), toWGS32(pos.y()));
|
||||
poly.points.append(QPointF(c.lon(), c.lat()));
|
||||
br = br.united(c);
|
||||
}
|
||||
|
||||
if (!(stream.atEnd() && stream.flush()))
|
||||
return false;
|
||||
} else
|
||||
labelPtr = 0;
|
||||
} else {
|
||||
pos = QPoint(subdiv->lon() + ((qint32)lon<<(24-subdiv->bits())),
|
||||
subdiv->lat() + ((qint32)lat<<(24-subdiv->bits())));
|
||||
Coordinates c(toWGS24(pos.x()), toWGS24(pos.y()));
|
||||
br = RectC(c, c);
|
||||
poly.points.append(QPointF(c.lon(), c.lat()));
|
||||
|
||||
quint8 bitstreamInfo;
|
||||
if (!readUInt8(hdl, bitstreamInfo))
|
||||
return false;
|
||||
|
||||
qint32 lonDelta, latDelta;
|
||||
DeltaStream stream(*this, hdl, len - 1, bitstreamInfo, false, true);
|
||||
|
||||
while (stream.readNext(lonDelta, latDelta)) {
|
||||
pos.rx() += lonDelta<<(24-subdiv->bits());
|
||||
pos.ry() += latDelta<<(24-subdiv->bits());
|
||||
|
||||
Coordinates c(toWGS24(pos.x()), toWGS24(pos.y()));
|
||||
poly.points.append(QPointF(c.lon(), c.lat()));
|
||||
br = br.united(c);
|
||||
}
|
||||
if (!(stream.atEnd() && stream.flush()))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (subtype & 0x20 && !readUInt24(hdl, labelPtr))
|
||||
return false;
|
||||
if (subtype & 0x80 && !skipClassFields(hdl))
|
||||
return false;
|
||||
if (subtype & 0x40 && !skipLclFields(hdl, line ? _linesFlags
|
||||
: _polygonsFlags, segment.type()))
|
||||
return false;
|
||||
|
||||
if (!rect.intersects(br))
|
||||
continue;
|
||||
@ -307,11 +301,11 @@ bool RGNFile::pointObjects(const RectC &rect, Handle &hdl, const SubDiv *subdiv,
|
||||
while (hdl.pos < (int)segment.end()) {
|
||||
IMG::Point point;
|
||||
|
||||
if (!(readByte(hdl, type) && readUInt24(hdl, labelPtr)
|
||||
if (!(readUInt8(hdl, type) && readUInt24(hdl, labelPtr)
|
||||
&& readInt16(hdl, lon) && readInt16(hdl, lat)))
|
||||
return false;
|
||||
if (labelPtr & 0x800000) {
|
||||
if (!readByte(hdl, subtype))
|
||||
if (!readUInt8(hdl, subtype))
|
||||
return false;
|
||||
} else
|
||||
subtype = 0;
|
||||
@ -340,8 +334,8 @@ bool RGNFile::pointObjects(const RectC &rect, Handle &hdl, const SubDiv *subdiv,
|
||||
}
|
||||
|
||||
bool RGNFile::extPointObjects(const RectC &rect, Handle &hdl,
|
||||
const SubDiv *subdiv, const Segment &segment, LBLFile *lbl, Handle &lblHdl,
|
||||
QList<IMG::Point> *points) const
|
||||
const SubDiv *subdiv, const Segment &segment, LBLFile *lbl,
|
||||
Handle &lblHdl, QList<IMG::Point> *points) const
|
||||
{
|
||||
quint8 type, subtype;
|
||||
qint16 lon, lat;
|
||||
@ -353,97 +347,104 @@ bool RGNFile::extPointObjects(const RectC &rect, Handle &hdl,
|
||||
while (hdl.pos < (int)segment.end()) {
|
||||
IMG::Point point;
|
||||
|
||||
if (!(readByte(hdl, type) && readByte(hdl, subtype)
|
||||
if (!(readUInt8(hdl, type) && readUInt8(hdl, subtype)
|
||||
&& readInt16(hdl, lon) && readInt16(hdl, lat)))
|
||||
return false;
|
||||
|
||||
if (subtype & 0x80) {
|
||||
qWarning("Points with extra bytes not supported");
|
||||
return false;
|
||||
}
|
||||
|
||||
point.type = 0x10000 | (((quint32)type)<<8) | (subtype & 0x1F);
|
||||
|
||||
qint16 lonOffset = lon<<(24-subdiv->bits());
|
||||
qint16 latOffset = lat<<(24-subdiv->bits());
|
||||
point.coordinates = Coordinates(toWGS24(subdiv->lon() + lonOffset),
|
||||
toWGS24(subdiv->lat() + latOffset));
|
||||
labelPtr = 0;
|
||||
|
||||
if (subtype & 0x20) {
|
||||
if (!readUInt24(hdl, labelPtr))
|
||||
return false;
|
||||
point.poi = labelPtr & 0x400000;
|
||||
if (lbl && (labelPtr & 0x3FFFFF)) {
|
||||
point.label = lbl->label(lblHdl, labelPtr & 0x3FFFFF, point.poi);
|
||||
point.id = ((quint64)point.type)<<40
|
||||
| ((quint64)lbl->offset())<<24 | (labelPtr & 0x3FFFFF);
|
||||
}
|
||||
if (subtype & 0x20 && !readUInt24(hdl, labelPtr))
|
||||
return false;
|
||||
if (subtype & 0x80 && !skipClassFields(hdl))
|
||||
return false;
|
||||
if (subtype & 0x40 && !skipLclFields(hdl, _pointsFlags, segment.type()))
|
||||
return false;
|
||||
|
||||
if (!rect.contains(point.coordinates))
|
||||
continue;
|
||||
|
||||
point.poi = labelPtr & 0x400000;
|
||||
if (lbl && (labelPtr & 0x3FFFFF)) {
|
||||
point.label = lbl->label(lblHdl, labelPtr & 0x3FFFFF, point.poi);
|
||||
point.id = ((quint64)point.type)<<40
|
||||
| ((quint64)lbl->offset())<<24 | (labelPtr & 0x3FFFFF);
|
||||
}
|
||||
|
||||
if (rect.contains(point.coordinates))
|
||||
points->append(point);
|
||||
points->append(point);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void RGNFile::objects(const RectC &rect, const SubDiv *subdiv, LBLFile *lbl,
|
||||
NETFile *net, QList<IMG::Poly> *polygons, QList<IMG::Poly> *lines,
|
||||
QList<IMG::Point> *points)
|
||||
void RGNFile::objects(const RectC &rect, const SubDiv *subdiv,
|
||||
LBLFile *lbl, NETFile *net, QList<IMG::Poly> *polygons,
|
||||
QList<IMG::Poly> *lines, QList<IMG::Point> *points)
|
||||
{
|
||||
Handle rgnHdl, lblHdl, netHdl;
|
||||
|
||||
if (!_init && !init(rgnHdl))
|
||||
return;
|
||||
|
||||
QVector<RGNFile::Segment> seg(segments(rgnHdl, subdiv));
|
||||
QVector<Segment> seg(segments(rgnHdl, subdiv));
|
||||
|
||||
for (int i = 0; i < seg.size(); i++) {
|
||||
switch (seg.at(i).type()) {
|
||||
const Segment &segment = seg.at(i);
|
||||
|
||||
if (segment.start() == segment.end())
|
||||
continue;
|
||||
|
||||
switch (segment.type()) {
|
||||
case Segment::Point:
|
||||
case Segment::IndexedPoint:
|
||||
if (points)
|
||||
pointObjects(rect, rgnHdl, subdiv, seg.at(i), lbl, lblHdl,
|
||||
pointObjects(rect, rgnHdl, subdiv, segment, lbl, lblHdl,
|
||||
points);
|
||||
break;
|
||||
case Segment::Line:
|
||||
if (lines)
|
||||
polyObjects(rect, rgnHdl, subdiv, seg.at(i), lbl, lblHdl,
|
||||
net, netHdl, lines);
|
||||
polyObjects(rect, rgnHdl, subdiv, segment, lbl, lblHdl, net,
|
||||
netHdl, lines);
|
||||
break;
|
||||
case Segment::Polygon:
|
||||
if (polygons)
|
||||
polyObjects(rect, rgnHdl, subdiv, seg.at(i), lbl, lblHdl,
|
||||
net, netHdl, polygons);
|
||||
polyObjects(rect, rgnHdl, subdiv, segment, lbl, lblHdl, net,
|
||||
netHdl, polygons);
|
||||
break;
|
||||
case Segment::RoadReference:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void RGNFile::extObjects(const RectC &rect, const SubDiv *subdiv, LBLFile *lbl,
|
||||
QList<IMG::Poly> *polygons, QList<IMG::Poly> *lines,
|
||||
void RGNFile::extObjects(const RectC &rect, const SubDiv *subdiv, quint32 shift,
|
||||
LBLFile *lbl, QList<IMG::Poly> *polygons, QList<IMG::Poly> *lines,
|
||||
QList<IMG::Point> *points)
|
||||
{
|
||||
Handle rgnHdl, lblHdl;
|
||||
|
||||
if (!_init && !init(rgnHdl))
|
||||
return;
|
||||
|
||||
if (polygons && subdiv->polygonsOffset() != subdiv->polygonsEnd()) {
|
||||
quint32 start = _polygonsOffset + subdiv->polygonsOffset();
|
||||
quint32 end = subdiv->polygonsEnd()
|
||||
? _polygonsOffset + subdiv->polygonsEnd()
|
||||
: _polygonsOffset + _polygonsSize;
|
||||
extPolyObjects(rect, rgnHdl, subdiv, Segment(start, end,
|
||||
Segment::Polygon), lbl, lblHdl, polygons);
|
||||
extPolyObjects(rect, rgnHdl, subdiv, shift, Segment(start, end,
|
||||
Segment::Polygon), lbl, lblHdl, polygons, false);
|
||||
}
|
||||
if (lines && subdiv->linesOffset() != subdiv->linesEnd()) {
|
||||
quint32 start = _linesOffset + subdiv->linesOffset();
|
||||
quint32 end = subdiv->linesEnd()
|
||||
? _linesOffset + subdiv->linesEnd()
|
||||
: _linesOffset + _linesSize;
|
||||
extPolyObjects(rect, rgnHdl, subdiv, Segment(start, end, Segment::Line),
|
||||
lbl, lblHdl, lines);
|
||||
extPolyObjects(rect, rgnHdl, subdiv, shift, Segment(start, end,
|
||||
Segment::Line), lbl, lblHdl, lines, true);
|
||||
}
|
||||
if (points && subdiv->pointsOffset() != subdiv->pointsEnd()) {
|
||||
quint32 start = _pointsOffset + subdiv->pointsOffset();
|
||||
@ -458,13 +459,13 @@ void RGNFile::extObjects(const RectC &rect, const SubDiv *subdiv, LBLFile *lbl,
|
||||
QVector<RGNFile::Segment> RGNFile::segments(Handle &hdl, const SubDiv *subdiv)
|
||||
const
|
||||
{
|
||||
if (subdiv->offset() == subdiv->end() || !(subdiv->objects() & 0xF0))
|
||||
if (subdiv->offset() == subdiv->end() || !(subdiv->objects() & 0x1F))
|
||||
return QVector<Segment>();
|
||||
|
||||
quint32 offset = _offset + subdiv->offset();
|
||||
|
||||
int no = 0;
|
||||
for (quint8 mask = 0x10; mask; mask <<= 1)
|
||||
for (quint8 mask = 0x1; mask <= 0x10; mask <<= 1)
|
||||
if (subdiv->objects() & mask)
|
||||
no++;
|
||||
|
||||
@ -476,7 +477,7 @@ QVector<RGNFile::Segment> RGNFile::segments(Handle &hdl, const SubDiv *subdiv)
|
||||
quint16 po;
|
||||
int cnt = 0;
|
||||
|
||||
for (quint8 mask = 0x10; mask; mask <<= 1) {
|
||||
for (quint16 mask = 0x1; mask <= 0x10; mask <<= 1) {
|
||||
if (subdiv->objects() & mask) {
|
||||
if (cnt) {
|
||||
if (!readUInt16(hdl, po))
|
||||
@ -498,8 +499,28 @@ QVector<RGNFile::Segment> RGNFile::segments(Handle &hdl, const SubDiv *subdiv)
|
||||
#ifndef QT_NO_DEBUG
|
||||
QDebug operator<<(QDebug dbg, const RGNFile::Segment &segment)
|
||||
{
|
||||
QString type;
|
||||
switch (segment.type()) {
|
||||
case RGNFile::Segment::Point:
|
||||
type = "Point";
|
||||
break;
|
||||
case RGNFile::Segment::IndexedPoint:
|
||||
type = "IndexedPoint";
|
||||
break;
|
||||
case RGNFile::Segment::Line:
|
||||
type = "Line";
|
||||
break;
|
||||
case RGNFile::Segment::Polygon:
|
||||
type = "Polygon";
|
||||
break;
|
||||
case RGNFile::Segment::RoadReference:
|
||||
type = "RoadReference";
|
||||
break;
|
||||
}
|
||||
|
||||
dbg.nospace() << "Segment(" << segment.start() << ", " << segment.end()
|
||||
<< ", " << segment.type() << ")";
|
||||
- segment.start() << ", " << type << ")";
|
||||
|
||||
return dbg.space();
|
||||
}
|
||||
#endif // QT_NO_DEBUG
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include "img.h"
|
||||
#include "subfile.h"
|
||||
#include "subdiv.h"
|
||||
#include "huffmantable.h"
|
||||
|
||||
class LBLFile;
|
||||
class NETFile;
|
||||
@ -14,26 +15,28 @@ public:
|
||||
RGNFile(IMG *img)
|
||||
: SubFile(img), _offset(0), _size(0), _polygonsOffset(0),
|
||||
_polygonsSize(0), _linesOffset(0), _linesSize(0), _pointsOffset(0),
|
||||
_pointsSize(0), _init(false) {}
|
||||
_pointsSize(0), _init(false) {clearFlags();}
|
||||
RGNFile(SubFile *gmp, quint32 offset) : SubFile(gmp, offset), _offset(0),
|
||||
_size(0), _polygonsOffset(0), _polygonsSize(0), _linesOffset(0),
|
||||
_linesSize(0), _pointsOffset(0), _pointsSize(0), _init(false) {}
|
||||
_linesSize(0), _pointsOffset(0), _pointsSize(0), _init(false)
|
||||
{clearFlags();}
|
||||
|
||||
void objects(const RectC &rect, const SubDiv *subdiv, LBLFile *lbl,
|
||||
NETFile *net, QList<IMG::Poly> *polygons, QList<IMG::Poly> *lines,
|
||||
QList<IMG::Point> *points);
|
||||
void extObjects(const RectC &rect, const SubDiv *subdiv, LBLFile *lbl,
|
||||
QList<IMG::Poly> *polygons, QList<IMG::Poly> *lines,
|
||||
void objects(const RectC &rect, const SubDiv *subdiv,
|
||||
LBLFile *lbl, NETFile *net, QList<IMG::Poly> *polygons,
|
||||
QList<IMG::Poly> *lines, QList<IMG::Point> *points);
|
||||
void extObjects(const RectC &rect, const SubDiv *subdiv, quint32 shift,
|
||||
LBLFile *lbl, QList<IMG::Poly> *polygons, QList<IMG::Poly> *lines,
|
||||
QList<IMG::Point> *points);
|
||||
|
||||
private:
|
||||
class Segment {
|
||||
public:
|
||||
enum Type {
|
||||
Point = 0x10,
|
||||
IndexedPoint = 0x20,
|
||||
Line = 0x40,
|
||||
Polygon = 0x80
|
||||
Point = 0x1,
|
||||
IndexedPoint = 0x2,
|
||||
Line = 0x4,
|
||||
Polygon = 0x8,
|
||||
RoadReference = 0x10
|
||||
};
|
||||
|
||||
Segment() : _start(0), _end(0), _type(Point) {}
|
||||
@ -54,45 +57,6 @@ private:
|
||||
Type _type;
|
||||
};
|
||||
|
||||
class BitStream {
|
||||
public:
|
||||
BitStream(const SubFile &file, Handle &hdl, quint32 length)
|
||||
: _file(file), _hdl(hdl), _length(length), _remaining(0) {}
|
||||
|
||||
bool read(int bits, quint32 &val);
|
||||
bool flush() {return _file.seek(_hdl, _hdl.pos + _length);}
|
||||
quint32 bitsAvailable() const {return _length * 8 + _remaining;}
|
||||
|
||||
private:
|
||||
const SubFile &_file;
|
||||
Handle &_hdl;
|
||||
quint32 _length, _remaining;
|
||||
quint8 _data;
|
||||
};
|
||||
|
||||
class DeltaStream : public BitStream {
|
||||
public:
|
||||
DeltaStream(const SubFile &file, Handle &hdl, quint32 length,
|
||||
quint8 info, bool extraBit, bool extended);
|
||||
|
||||
bool readNext(qint32 &lonDelta, qint32 &latDelta)
|
||||
{
|
||||
return hasNext()
|
||||
? (readDelta(_lonBits, _lonSign, _extraBit, lonDelta)
|
||||
&& readDelta(_latBits, _latSign, false, latDelta))
|
||||
: false;
|
||||
}
|
||||
bool atEnd() const {return (_readBits != 0xFFFFFFFF && !hasNext());}
|
||||
|
||||
private:
|
||||
bool hasNext() const {return bitsAvailable() >= _readBits;}
|
||||
bool sign(int &val);
|
||||
bool readDelta(int bits, int sign, int extraBit, qint32 &delta);
|
||||
|
||||
int _lonSign, _latSign, _extraBit;
|
||||
quint32 _lonBits, _latBits, _readBits;
|
||||
};
|
||||
|
||||
bool init(Handle &hdl);
|
||||
|
||||
QVector<Segment> segments(Handle &hdl, const SubDiv *subdiv) const;
|
||||
@ -103,12 +67,18 @@ private:
|
||||
const Segment &segment, LBLFile *lbl, Handle &lblHdl,
|
||||
QList<IMG::Point> *points) const;
|
||||
bool extPolyObjects(const RectC &rect, Handle &hdl, const SubDiv *subdiv,
|
||||
const Segment &segment, LBLFile *lbl, Handle &lblHdl,
|
||||
QList<IMG::Poly> *polys) const;
|
||||
quint32 shift, const Segment &segment, LBLFile *lbl, Handle &lblHdl,
|
||||
QList<IMG::Poly> *polys, bool line) const;
|
||||
bool extPointObjects(const RectC &rect, Handle &hdl, const SubDiv *subdiv,
|
||||
const Segment &segment, LBLFile *lbl, Handle &lblHdl,
|
||||
QList<IMG::Point> *points) const;
|
||||
|
||||
void clearFlags();
|
||||
|
||||
bool skipClassFields(Handle &hdl) const;
|
||||
bool skipLclFields(Handle &hdl, const quint32 flags[3],
|
||||
Segment::Type type) const;
|
||||
|
||||
friend QDebug operator<<(QDebug dbg, const RGNFile::Segment &segment);
|
||||
|
||||
quint32 _offset;
|
||||
@ -116,10 +86,15 @@ private:
|
||||
|
||||
quint32 _polygonsOffset;
|
||||
quint32 _polygonsSize;
|
||||
quint32 _polygonsFlags[3];
|
||||
quint32 _linesOffset;
|
||||
quint32 _linesSize;
|
||||
quint32 _linesFlags[3];
|
||||
quint32 _pointsOffset;
|
||||
quint32 _pointsSize;
|
||||
quint32 _pointsFlags[3];
|
||||
|
||||
HuffmanTable _huffmanTable;
|
||||
|
||||
bool _init;
|
||||
};
|
||||
|
@ -1,72 +1,69 @@
|
||||
#include <QImage>
|
||||
#include "style.h"
|
||||
|
||||
#define TYPE(t) ((t)<<8)
|
||||
|
||||
void Style::defaultPolygonStyle()
|
||||
{
|
||||
_polygons[TYPE(0x01)] = Style::Polygon(QBrush("#dfd3b5"));
|
||||
_polygons[TYPE(0x02)] = Style::Polygon(QBrush("#dfd3b5"));
|
||||
_polygons[TYPE(0x03)] = Style::Polygon(QBrush("#dfd3b5"));
|
||||
_polygons[TYPE(0x04)] = Style::Polygon(QBrush("#ff4040", Qt::BDiagPattern));
|
||||
_polygons[TYPE(0x05)] = Style::Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x06)] = Style::Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x07)] = Style::Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x08)] = Style::Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x09)] = Style::Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x0a)] = Style::Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x0b)] = Style::Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x0c)] = Style::Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x0d)] = Style::Polygon(QBrush("#f8e3be"));
|
||||
_polygons[TYPE(0x0e)] = Style::Polygon(QBrush("#ffffff"));
|
||||
_polygons[TYPE(0x0f)] = Style::Polygon(QBrush("#e6e2d9"));
|
||||
_polygons[TYPE(0x10)] = Style::Polygon(QBrush("#e6e2d9"));
|
||||
_polygons[TYPE(0x11)] = Style::Polygon(QBrush("#e6e2d9"));
|
||||
_polygons[TYPE(0x12)] = Style::Polygon(QBrush("#e6e2d9"));
|
||||
_polygons[TYPE(0x13)] = Style::Polygon(QBrush("#dbd0b6"),
|
||||
_polygons[TYPE(0x01)] = Polygon(QBrush("#dfd3b5"));
|
||||
_polygons[TYPE(0x02)] = Polygon(QBrush("#dfd3b5"));
|
||||
_polygons[TYPE(0x03)] = Polygon(QBrush("#dfd3b5"));
|
||||
_polygons[TYPE(0x04)] = Polygon(QBrush("#ff4040", Qt::BDiagPattern));
|
||||
_polygons[TYPE(0x05)] = Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x06)] = Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x07)] = Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x08)] = Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x09)] = Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x0a)] = Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x0b)] = Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x0c)] = Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x0d)] = Polygon(QBrush("#f8e3be"));
|
||||
_polygons[TYPE(0x0e)] = Polygon(QBrush("#ffffff"));
|
||||
_polygons[TYPE(0x0f)] = Polygon(QBrush("#e6e2d9"));
|
||||
_polygons[TYPE(0x10)] = Polygon(QBrush("#e6e2d9"));
|
||||
_polygons[TYPE(0x11)] = Polygon(QBrush("#e6e2d9"));
|
||||
_polygons[TYPE(0x12)] = Polygon(QBrush("#e6e2d9"));
|
||||
_polygons[TYPE(0x13)] = Polygon(QBrush("#dbd0b6"),
|
||||
QPen(QColor("#cdccc4"), 1));
|
||||
_polygons[TYPE(0x14)] = Style::Polygon(QBrush(QColor("#9ac269"),
|
||||
_polygons[TYPE(0x14)] = Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x15)] = Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x16)] = Polygon(QBrush(QColor("#9ac269"),
|
||||
Qt::BDiagPattern));
|
||||
_polygons[TYPE(0x15)] = Style::Polygon(QBrush(QColor("#9ac269"),
|
||||
Qt::BDiagPattern));
|
||||
_polygons[TYPE(0x16)] = Style::Polygon(QBrush(QColor("#9ac269"),
|
||||
Qt::BDiagPattern));
|
||||
_polygons[TYPE(0x17)] = Style::Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x18)] = Style::Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x19)] = Style::Polygon(QBrush("#d6d4ce"));
|
||||
_polygons[TYPE(0x1a)] = Style::Polygon(QBrush("#000000", Qt::Dense6Pattern),
|
||||
_polygons[TYPE(0x17)] = Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x18)] = Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x19)] = Polygon(QBrush("#e3edc6"), QPen("#c9d3a5"));
|
||||
_polygons[TYPE(0x1a)] = Polygon(QBrush("#000000", Qt::Dense6Pattern),
|
||||
QPen(QColor("#cdccc4"), 1));
|
||||
_polygons[TYPE(0x1e)] = Style::Polygon(QBrush(QColor("#9ac269"),
|
||||
_polygons[TYPE(0x1e)] = Polygon(QBrush(QColor("#9ac269"),
|
||||
Qt::BDiagPattern));
|
||||
_polygons[TYPE(0x1f)] = Style::Polygon(QBrush(QColor("#9ac269"),
|
||||
_polygons[TYPE(0x1f)] = Polygon(QBrush(QColor("#9ac269"),
|
||||
Qt::BDiagPattern));
|
||||
_polygons[TYPE(0x28)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x29)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x32)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3b)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3c)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3d)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3e)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3f)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x40)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x41)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x42)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x43)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x44)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x45)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x46)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x47)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x48)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x49)] = Style::Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x4b)] = Style::Polygon(QBrush("#f1f0e5"), QPen("#f1f0e5"));
|
||||
_polygons[TYPE(0x4a)] = Style::Polygon(QBrush("#f1f0e5"), QPen("#f1f0e5"));
|
||||
_polygons[TYPE(0x4c)] = Style::Polygon(QBrush("#9fc4e1", Qt::Dense6Pattern));
|
||||
_polygons[TYPE(0x4d)] = Style::Polygon(QBrush("#ddf1fd"));
|
||||
_polygons[TYPE(0x4e)] = Style::Polygon(QBrush("#e3edc1"));
|
||||
_polygons[TYPE(0x4f)] = Style::Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x50)] = Style::Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x51)] = Style::Polygon(QBrush("#9fc4e1", Qt::Dense4Pattern));
|
||||
_polygons[TYPE(0x52)] = Style::Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x28)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x29)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x32)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3b)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3c)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3d)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3e)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x3f)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x40)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x41)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x42)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x43)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x44)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x45)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x46)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x47)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x48)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x49)] = Polygon(QBrush("#9fc4e1"));
|
||||
_polygons[TYPE(0x4b)] = Polygon(QBrush("#f1f0e5"), QPen("#f1f0e5"));
|
||||
_polygons[TYPE(0x4a)] = Polygon(QBrush("#f1f0e5"), QPen("#f1f0e5"));
|
||||
_polygons[TYPE(0x4c)] = Polygon(QBrush("#9fc4e1", Qt::Dense6Pattern));
|
||||
_polygons[TYPE(0x4d)] = Polygon(QBrush("#ddf1fd"));
|
||||
_polygons[TYPE(0x4e)] = Polygon(QBrush("#e3edc1"));
|
||||
_polygons[TYPE(0x4f)] = Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x50)] = Polygon(QBrush("#d4ebb8"));
|
||||
_polygons[TYPE(0x51)] = Polygon(QBrush("#9fc4e1", Qt::Dense4Pattern));
|
||||
_polygons[TYPE(0x52)] = Polygon(QBrush("#d4ebb8"));
|
||||
|
||||
_drawOrder << TYPE(0x4b) << TYPE(0x4a) << TYPE(0x01) << TYPE(0x02)
|
||||
<< TYPE(0x03) << TYPE(0x17) << TYPE(0x18) << TYPE(0x19) << TYPE(0x1a)
|
||||
@ -89,71 +86,69 @@ void Style::defaultLineStyle()
|
||||
QPen rr(QColor("#717171"), 3, Qt::CustomDashLine);
|
||||
rr.setDashPattern(pattern);
|
||||
|
||||
_lines[TYPE(0x01)] = Style::Line(QPen(QColor("#9bd772"), 2, Qt::SolidLine),
|
||||
_lines[TYPE(0x01)] = Line(QPen(QColor("#9bd772"), 2, Qt::SolidLine),
|
||||
QPen(QColor("#72a35a"), 6, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x02)] = Style::Line(QPen(QColor("#ffcc78"), 2, Qt::SolidLine),
|
||||
_lines[TYPE(0x02)] = Line(QPen(QColor("#ffcc78"), 2, Qt::SolidLine),
|
||||
QPen(QColor("#e8a541"), 6, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x03)] = Style::Line(QPen(QColor("#ffcc78"), 2, Qt::SolidLine),
|
||||
_lines[TYPE(0x03)] = Line(QPen(QColor("#ffcc78"), 2, Qt::SolidLine),
|
||||
QPen(QColor("#e8a541"), 6, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x04)] = Style::Line(QPen(QColor("#faef75"), 3, Qt::SolidLine),
|
||||
_lines[TYPE(0x04)] = Line(QPen(QColor("#faef75"), 3, Qt::SolidLine),
|
||||
QPen(QColor("#dbd27b"), 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x05)] = Style::Line(QPen(QColor("#ffffff"), 3, Qt::SolidLine),
|
||||
_lines[TYPE(0x05)] = Line(QPen(QColor("#ffffff"), 3, Qt::SolidLine),
|
||||
QPen(QColor("#d5cdc0"), 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x06)] = Style::Line(QPen(QColor("#ffffff"), 3, Qt::SolidLine),
|
||||
_lines[TYPE(0x06)] = Line(QPen(QColor("#ffffff"), 3, Qt::SolidLine),
|
||||
QPen(QColor("#d5cdc0"), 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x07)] = Style::Line(QPen(QColor("#ffffff"), 2, Qt::SolidLine),
|
||||
_lines[TYPE(0x07)] = Line(QPen(QColor("#ffffff"), 2, Qt::SolidLine),
|
||||
QPen(QColor("#d5cdc0"), 4, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x08)] = Style::Line(QPen(QColor("#ffcc78"), 2, Qt::SolidLine),
|
||||
_lines[TYPE(0x08)] = Line(QPen(QColor("#ffcc78"), 2, Qt::SolidLine),
|
||||
QPen(QColor("#e8a541"), 6, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x09)] = Style::Line(QPen(QColor("#9bd772"), 2, Qt::SolidLine),
|
||||
_lines[TYPE(0x09)] = Line(QPen(QColor("#9bd772"), 2, Qt::SolidLine),
|
||||
QPen(QColor("#72a35a"), 6, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x0a)] = Style::Line(QPen(QColor("#aba083"), 1, Qt::DashLine));
|
||||
_lines[TYPE(0x0b)] = Style::Line(QPen(QColor("#ffcc78"), 2, Qt::SolidLine),
|
||||
_lines[TYPE(0x0a)] = Line(QPen(QColor("#aba083"), 1, Qt::DashLine));
|
||||
_lines[TYPE(0x0b)] = Line(QPen(QColor("#ffcc78"), 2, Qt::SolidLine),
|
||||
QPen(QColor("#e8a541"), 6, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x0c)] = Style::Line(QPen(QColor("#ffffff"), 3, Qt::SolidLine),
|
||||
_lines[TYPE(0x0c)] = Line(QPen(QColor("#ffffff"), 3, Qt::SolidLine),
|
||||
QPen(QColor("#d5cdc0"), 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x14)] = Style::Line(rr, QPen(Qt::white, 3, Qt::SolidLine,
|
||||
_lines[TYPE(0x14)] = Line(rr, QPen(Qt::white, 3, Qt::SolidLine,
|
||||
Qt::RoundCap, Qt::RoundJoin));
|
||||
_lines[TYPE(0x16)] = Style::Line(QPen(QColor("#aba083"), 1, Qt::DotLine));
|
||||
_lines[TYPE(0x18)] = Style::Line(QPen(QColor("#9fc4e1"), 2, Qt::SolidLine));
|
||||
_lines[TYPE(0x16)] = Line(QPen(QColor("#aba083"), 1, Qt::DotLine));
|
||||
_lines[TYPE(0x18)] = Line(QPen(QColor("#9fc4e1"), 2, Qt::SolidLine));
|
||||
_lines[TYPE(0x18)].setTextColor(QColor("#9fc4e1"));
|
||||
//_lines[TYPE(0x1a)] = Style::Line(QPen(QColor("#7697b7"), 1, Qt::DashLine));
|
||||
_lines[TYPE(0x1b)] = Style::Line(QPen(QColor("#7697b7"), 1, Qt::DashLine));
|
||||
_lines[TYPE(0x1e)] = Style::Line(QPen(QColor("#505145"), 2, Qt::DashDotLine));
|
||||
_lines[TYPE(0x1f)] = Style::Line(QPen(QColor("#9fc4e1"), 3, Qt::SolidLine));
|
||||
//_lines[TYPE(0x1a)] = Line(QPen(QColor("#7697b7"), 1, Qt::DashLine));
|
||||
_lines[TYPE(0x1b)] = Line(QPen(QColor("#7697b7"), 1, Qt::DashLine));
|
||||
_lines[TYPE(0x1e)] = Line(QPen(QColor("#505145"), 2, Qt::DashDotLine));
|
||||
_lines[TYPE(0x1f)] = Line(QPen(QColor("#9fc4e1"), 3, Qt::SolidLine));
|
||||
_lines[TYPE(0x1f)].setTextColor(QColor("#9fc4e1"));
|
||||
_lines[TYPE(0x20)] = Style::Line(QPen(QColor("#cacfc0"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x20)].setTextColor(QColor("#62695a"));
|
||||
_lines[TYPE(0x20)].setTextFontSize(Style::Small);
|
||||
_lines[TYPE(0x21)] = Style::Line(QPen(QColor("#cacfc0"), 1.5, Qt::SolidLine));
|
||||
_lines[TYPE(0x21)].setTextColor(QColor("#62695a"));
|
||||
_lines[TYPE(0x21)].setTextFontSize(Style::Small);
|
||||
_lines[TYPE(0x22)] = Style::Line(QPen(QColor("#cacfc0"), 2, Qt::SolidLine));
|
||||
_lines[TYPE(0x22)].setTextColor(QColor("#62695a"));
|
||||
_lines[TYPE(0x22)].setTextFontSize(Style::Small);
|
||||
_lines[TYPE(0x23)] = Style::Line(QPen(QColor("#55aaff"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x23)].setTextColor(QColor("#55aaff"));
|
||||
_lines[TYPE(0x23)].setTextFontSize(Style::Small);
|
||||
_lines[TYPE(0x24)] = Style::Line(QPen(QColor("#55aaff"), 1.5, Qt::SolidLine));
|
||||
_lines[TYPE(0x24)].setTextColor(QColor("#55aaff"));
|
||||
_lines[TYPE(0x24)].setTextFontSize(Style::Small);
|
||||
_lines[TYPE(0x25)] = Style::Line(QPen(QColor("#55aaff"), 2, Qt::SolidLine));
|
||||
_lines[TYPE(0x25)].setTextColor(QColor("#55aaff"));
|
||||
_lines[TYPE(0x25)].setTextFontSize(Style::Small);
|
||||
_lines[TYPE(0x26)] = Style::Line(QPen(QColor("#9fc4e1"), 2, Qt::DotLine));
|
||||
_lines[TYPE(0x27)] = Style::Line(QPen(QColor("#ffffff"), 4, Qt::SolidLine),
|
||||
_lines[TYPE(0x20)] = Line(QPen(QColor("#cfcfcf"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x20)].setTextFontSize(None);
|
||||
_lines[TYPE(0x21)] = Line(QPen(QColor("#bfbfbf"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x21)].setTextColor(QColor("#666666"));
|
||||
_lines[TYPE(0x21)].setTextFontSize(Small);
|
||||
_lines[TYPE(0x22)] = Line(QPen(QColor("#afafaf"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x22)].setTextColor(QColor("#666666"));
|
||||
_lines[TYPE(0x22)].setTextFontSize(Small);
|
||||
_lines[TYPE(0x23)] = Line(QPen(QColor("#55aaff"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x23)].setTextFontSize(None);
|
||||
_lines[TYPE(0x24)] = Line(QPen(QColor("#659aef"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x24)].setTextColor(QColor("#558adf"));
|
||||
_lines[TYPE(0x24)].setTextFontSize(Small);
|
||||
_lines[TYPE(0x25)] = Line(QPen(QColor("#558adf"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x25)].setTextColor(QColor("#558adf"));
|
||||
_lines[TYPE(0x25)].setTextFontSize(Small);
|
||||
_lines[TYPE(0x26)] = Line(QPen(QColor("#9fc4e1"), 2, Qt::DotLine));
|
||||
_lines[TYPE(0x27)] = Line(QPen(QColor("#ffffff"), 4, Qt::SolidLine),
|
||||
QPen(QColor("#d5cdc0"), 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
|
||||
//_lines[TYPE(0x28)] = Style::Line(QPen(QColor("#5a5a5a"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x29)] = Style::Line(QPen(QColor("#5a5a5a"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x29)].setTextFontSize(Style::None);
|
||||
//_lines[TYPE(0x28)] = Line(QPen(QColor("#5a5a5a"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x29)] = Line(QPen(QColor("#5a5a5a"), 1, Qt::SolidLine));
|
||||
_lines[TYPE(0x29)].setTextFontSize(None);
|
||||
}
|
||||
|
||||
void Style::defaultPointStyle()
|
||||
{
|
||||
// Cities
|
||||
_points[TYPE(0x01)].setTextFontSize(Style::Large);
|
||||
_points[TYPE(0x02)].setTextFontSize(Style::Large);
|
||||
_points[TYPE(0x03)].setTextFontSize(Style::Large);
|
||||
_points[TYPE(0x01)].setTextFontSize(Large);
|
||||
_points[TYPE(0x02)].setTextFontSize(Large);
|
||||
_points[TYPE(0x03)].setTextFontSize(Large);
|
||||
|
||||
// POI
|
||||
_points[0x2a00] = Point(QImage(":/restaurant-11.png"));
|
||||
@ -294,7 +289,7 @@ static bool readBitmap(SubFile *file, SubFile::Handle &hdl, QImage &img,
|
||||
for (int y = 0; y < img.height(); y++) {
|
||||
for (int x = 0; x < img.width(); x += 8/bpp) {
|
||||
quint8 color;
|
||||
if (!file->readByte(hdl, color))
|
||||
if (!file->readUInt8(hdl, color))
|
||||
return false;
|
||||
|
||||
for (int i = 0; i < 8/bpp && x + i < img.width(); i++) {
|
||||
@ -319,8 +314,8 @@ static bool readColor(SubFile *file, SubFile::Handle &hdl, QColor &color)
|
||||
{
|
||||
quint8 b, g, r;
|
||||
|
||||
if (!(file->readByte(hdl, b) && file->readByte(hdl, g)
|
||||
&& file->readByte(hdl, r)))
|
||||
if (!(file->readUInt8(hdl, b) && file->readUInt8(hdl, g)
|
||||
&& file->readUInt8(hdl, r)))
|
||||
return false;
|
||||
|
||||
color = qRgb(r, g, b);
|
||||
@ -333,14 +328,14 @@ static bool skipLocalization(SubFile *file, SubFile::Handle &hdl)
|
||||
quint8 t8;
|
||||
quint16 len;
|
||||
|
||||
if (!file->readByte(hdl, t8))
|
||||
if (!file->readUInt8(hdl, t8))
|
||||
return false;
|
||||
len = t8;
|
||||
|
||||
if (len & 0x01)
|
||||
len = len >> 1;
|
||||
else {
|
||||
if (!file->readByte(hdl, t8))
|
||||
if (!file->readUInt8(hdl, t8))
|
||||
return false;
|
||||
len = (((quint16)t8) << 8) | len;
|
||||
len = len >> 2;
|
||||
@ -361,7 +356,7 @@ bool Style::itemInfo(SubFile *file, SubFile::Handle &hdl,
|
||||
|
||||
if (section.arrayItemSize == 5) {
|
||||
if (!(file->readUInt16(hdl, t16_1) && file->readUInt16(hdl, t16_2)
|
||||
&& file->readByte(hdl, t8)))
|
||||
&& file->readUInt8(hdl, t8)))
|
||||
return false;
|
||||
info.offset = t16_2 | (t8<<16);
|
||||
} else if (section.arrayItemSize == 4) {
|
||||
@ -369,7 +364,7 @@ bool Style::itemInfo(SubFile *file, SubFile::Handle &hdl,
|
||||
return false;
|
||||
info.offset = t16_2;
|
||||
} else if (section.arrayItemSize == 3) {
|
||||
if (!(file->readUInt16(hdl, t16_1) && file->readByte(hdl, t8)))
|
||||
if (!(file->readUInt16(hdl, t16_1) && file->readUInt8(hdl, t8)))
|
||||
return false;
|
||||
info.offset = t8;
|
||||
} else
|
||||
@ -400,7 +395,7 @@ bool Style::parsePolygons(SubFile *file, SubFile::Handle &hdl,
|
||||
|
||||
quint8 t8, flags;
|
||||
if (!(file->seek(hdl, section.offset + info.offset)
|
||||
&& file->readByte(hdl, t8)))
|
||||
&& file->readUInt8(hdl, t8)))
|
||||
return false;
|
||||
flags = t8 & 0x0F;
|
||||
|
||||
@ -412,14 +407,14 @@ bool Style::parsePolygons(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!(readColor(file, hdl, c1) && readColor(file, hdl, c2)
|
||||
&& readColor(file, hdl, c3) && readColor(file, hdl, c4)))
|
||||
return false;
|
||||
_polygons[type] = Style::Polygon(QBrush(c1), QPen(c3, 2));
|
||||
_polygons[type] = Polygon(QBrush(c1), QPen(c3, 2));
|
||||
break;
|
||||
|
||||
case 0x06:
|
||||
case 0x07:
|
||||
if (!readColor(file, hdl, c1))
|
||||
return false;
|
||||
_polygons[type] = Style::Polygon(QBrush(c1));
|
||||
_polygons[type] = Polygon(QBrush(c1));
|
||||
break;
|
||||
|
||||
case 0x08:
|
||||
@ -432,7 +427,7 @@ bool Style::parsePolygons(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_polygons[type] = Style::Polygon(QBrush(img));
|
||||
_polygons[type] = Polygon(QBrush(img));
|
||||
break;
|
||||
|
||||
case 0x09:
|
||||
@ -446,7 +441,7 @@ bool Style::parsePolygons(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_polygons[type] = Style::Polygon(QBrush(img));
|
||||
_polygons[type] = Polygon(QBrush(img));
|
||||
break;
|
||||
|
||||
case 0x0B:
|
||||
@ -462,7 +457,7 @@ bool Style::parsePolygons(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_polygons[type] = Style::Polygon(QBrush(img));
|
||||
_polygons[type] = Polygon(QBrush(img));
|
||||
break;
|
||||
|
||||
case 0x0E:
|
||||
@ -475,7 +470,7 @@ bool Style::parsePolygons(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_polygons[type] = Style::Polygon(QBrush(img));
|
||||
_polygons[type] = Polygon(QBrush(img));
|
||||
break;
|
||||
|
||||
case 0x0F:
|
||||
@ -488,7 +483,7 @@ bool Style::parsePolygons(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_polygons[type] = Style::Polygon(QBrush(img));
|
||||
_polygons[type] = Polygon(QBrush(img));
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -516,7 +511,7 @@ bool Style::parseLines(SubFile *file, SubFile::Handle &hdl,
|
||||
|
||||
quint8 t8_1, t8_2, flags, rows;
|
||||
if (!(file->seek(hdl, section.offset + info.offset)
|
||||
&& file->readByte(hdl, t8_1) && file->readByte(hdl, t8_2)))
|
||||
&& file->readUInt8(hdl, t8_1) && file->readUInt8(hdl, t8_2)))
|
||||
return false;
|
||||
flags = t8_1 & 0x07;
|
||||
rows = t8_1 >> 3;
|
||||
@ -539,16 +534,16 @@ bool Style::parseLines(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_lines[type] = Style::Line(img);
|
||||
_lines[type] = Line(img);
|
||||
} else {
|
||||
if (!(file->readByte(hdl, w1) && file->readByte(hdl, w2)))
|
||||
if (!(file->readUInt8(hdl, w1) && file->readUInt8(hdl, w2)))
|
||||
return false;
|
||||
|
||||
_lines[type] = (w2 > w1)
|
||||
? Style::Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
? Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
Qt::RoundJoin), QPen(c2, w2, Qt::SolidLine, Qt::RoundCap,
|
||||
Qt::RoundJoin))
|
||||
: Style::Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
: Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
Qt::RoundJoin));
|
||||
}
|
||||
break;
|
||||
@ -566,16 +561,16 @@ bool Style::parseLines(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_lines[type] = Style::Line(img);
|
||||
_lines[type] = Line(img);
|
||||
} else {
|
||||
if (!(file->readByte(hdl, w1) && file->readByte(hdl, w2)))
|
||||
if (!(file->readUInt8(hdl, w1) && file->readUInt8(hdl, w2)))
|
||||
return false;
|
||||
|
||||
_lines[type] = (w2 > w1)
|
||||
? Style::Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
? Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
Qt::RoundJoin), QPen(c2, w2, Qt::SolidLine, Qt::RoundCap,
|
||||
Qt::RoundJoin))
|
||||
: Style::Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
: Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
Qt::RoundJoin));
|
||||
}
|
||||
break;
|
||||
@ -593,12 +588,12 @@ bool Style::parseLines(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_lines[type] = Style::Line(img);
|
||||
_lines[type] = Line(img);
|
||||
} else {
|
||||
if (!(file->readByte(hdl, w1) && file->readByte(hdl, w2)))
|
||||
if (!(file->readUInt8(hdl, w1) && file->readUInt8(hdl, w2)))
|
||||
return false;
|
||||
|
||||
_lines[type] = Style::Line(QPen(c1, w1, Qt::SolidLine,
|
||||
_lines[type] = Line(QPen(c1, w1, Qt::SolidLine,
|
||||
Qt::RoundCap, Qt::RoundJoin));
|
||||
}
|
||||
break;
|
||||
@ -616,16 +611,16 @@ bool Style::parseLines(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_lines[type] = Style::Line(img);
|
||||
_lines[type] = Line(img);
|
||||
} else {
|
||||
if (!(file->readByte(hdl, w1) && file->readByte(hdl, w2)))
|
||||
if (!(file->readUInt8(hdl, w1) && file->readUInt8(hdl, w2)))
|
||||
return false;
|
||||
|
||||
_lines[type] = (w2 > w1)
|
||||
? Style::Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
? Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
Qt::RoundJoin), QPen(c2, w2, Qt::SolidLine, Qt::RoundCap,
|
||||
Qt::RoundJoin))
|
||||
: Style::Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
: Line(QPen(c1, w1, Qt::SolidLine, Qt::RoundCap,
|
||||
Qt::RoundJoin));
|
||||
}
|
||||
break;
|
||||
@ -642,12 +637,12 @@ bool Style::parseLines(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_lines[type] = Style::Line(img);
|
||||
_lines[type] = Line(img);
|
||||
} else {
|
||||
if (!file->readByte(hdl, w1))
|
||||
if (!file->readUInt8(hdl, w1))
|
||||
return false;
|
||||
|
||||
_lines[type] = Style::Line(QPen(c1, w1, Qt::SolidLine,
|
||||
_lines[type] = Line(QPen(c1, w1, Qt::SolidLine,
|
||||
Qt::RoundCap, Qt::RoundJoin));
|
||||
}
|
||||
break;
|
||||
@ -664,12 +659,12 @@ bool Style::parseLines(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, 1))
|
||||
return false;
|
||||
|
||||
_lines[type] = Style::Line(img);
|
||||
_lines[type] = Line(img);
|
||||
} else {
|
||||
if (!file->readByte(hdl, w1))
|
||||
if (!file->readUInt8(hdl, w1))
|
||||
return false;
|
||||
|
||||
_lines[type] = Style::Line(QPen(c1, w1, Qt::SolidLine,
|
||||
_lines[type] = Line(QPen(c1, w1, Qt::SolidLine,
|
||||
Qt::RoundCap, Qt::RoundJoin));
|
||||
}
|
||||
break;
|
||||
@ -689,7 +684,7 @@ bool Style::parseLines(SubFile *file, SubFile::Handle &hdl,
|
||||
|
||||
if (textColor) {
|
||||
quint8 labelFlags;
|
||||
if (!file->readByte(hdl, labelFlags))
|
||||
if (!file->readUInt8(hdl, labelFlags))
|
||||
return false;
|
||||
if (labelFlags & 0x08) {
|
||||
if (!readColor(file, hdl, c1))
|
||||
@ -751,7 +746,7 @@ static bool readColorTable(SubFile *file, SubFile::Handle &hdl, QImage& img,
|
||||
|
||||
for (int i = 0; i < colors; i++) {
|
||||
while (bits < 28) {
|
||||
if (!file->readByte(hdl, byte))
|
||||
if (!file->readUInt8(hdl, byte))
|
||||
return false;
|
||||
|
||||
mask = 0x000000FF << bits;
|
||||
@ -801,9 +796,9 @@ bool Style::parsePoints(SubFile *file, SubFile::Handle &hdl,
|
||||
|
||||
quint8 t8_1, width, height, numColors, imgType;
|
||||
if (!(file->seek(hdl, section.offset + info.offset)
|
||||
&& file->readByte(hdl, t8_1) && file->readByte(hdl, width)
|
||||
&& file->readByte(hdl, height) && file->readByte(hdl, numColors)
|
||||
&& file->readByte(hdl, imgType)))
|
||||
&& file->readUInt8(hdl, t8_1) && file->readUInt8(hdl, width)
|
||||
&& file->readUInt8(hdl, height) && file->readUInt8(hdl, numColors)
|
||||
&& file->readUInt8(hdl, imgType)))
|
||||
return false;
|
||||
|
||||
bool localization = t8_1 & 0x04;
|
||||
@ -820,8 +815,8 @@ bool Style::parsePoints(SubFile *file, SubFile::Handle &hdl,
|
||||
_points[type] = Point(img);
|
||||
|
||||
if (t8_1 == 0x03) {
|
||||
if (!(file->readByte(hdl, numColors)
|
||||
&& file->readByte(hdl, imgType)))
|
||||
if (!(file->readUInt8(hdl, numColors)
|
||||
&& file->readUInt8(hdl, imgType)))
|
||||
return false;
|
||||
if ((bpp = colors2bpp(numColors, imgType)) < 0)
|
||||
continue;
|
||||
@ -830,8 +825,8 @@ bool Style::parsePoints(SubFile *file, SubFile::Handle &hdl,
|
||||
if (!readBitmap(file, hdl, img, bpp))
|
||||
return false;
|
||||
} else if (t8_1 == 0x02) {
|
||||
if (!(file->readByte(hdl, numColors)
|
||||
&& file->readByte(hdl, imgType)))
|
||||
if (!(file->readUInt8(hdl, numColors)
|
||||
&& file->readUInt8(hdl, imgType)))
|
||||
return false;
|
||||
if ((bpp = colors2bpp(numColors, imgType)) < 0)
|
||||
continue;
|
||||
@ -845,7 +840,7 @@ bool Style::parsePoints(SubFile *file, SubFile::Handle &hdl,
|
||||
if (textColor) {
|
||||
quint8 labelFlags;
|
||||
QColor color;
|
||||
if (!file->readByte(hdl, labelFlags))
|
||||
if (!file->readUInt8(hdl, labelFlags))
|
||||
return false;
|
||||
if (labelFlags & 0x08) {
|
||||
if (!readColor(file, hdl, color))
|
||||
@ -874,7 +869,7 @@ bool Style::parseDrawOrder(SubFile *file, SubFile::Handle &hdl,
|
||||
quint8 type;
|
||||
quint32 subtype;
|
||||
|
||||
if (!(file->readByte(hdl, type) && file->readUInt32(hdl, subtype)))
|
||||
if (!(file->readUInt8(hdl, type) && file->readUInt32(hdl, subtype)))
|
||||
return false;
|
||||
|
||||
if (!subtype)
|
||||
@ -944,6 +939,9 @@ Style::Style(SubFile *typ)
|
||||
|
||||
if (typ)
|
||||
parseTYPFile(typ);
|
||||
|
||||
// Override stuff breaking the style display logic
|
||||
_points[0x11400] = Point(None);
|
||||
}
|
||||
|
||||
const Style::Line &Style::line(quint32 type) const
|
||||
@ -970,27 +968,6 @@ const Style::Point &Style::point(quint32 type) const
|
||||
return (it == _points.constEnd()) ? null : *it;
|
||||
}
|
||||
|
||||
bool Style::isContourLine(quint32 type)
|
||||
{
|
||||
return (type == TYPE(0x20) || type == TYPE(0x21) || type == TYPE(0x22)
|
||||
|| type == TYPE(0x23) || type == TYPE(0x24) || type == TYPE(0x25));
|
||||
}
|
||||
|
||||
bool Style::isSpot(quint32 type)
|
||||
{
|
||||
return (type == TYPE(0x62) || type == TYPE(0x63));
|
||||
}
|
||||
|
||||
bool Style::isSummit(quint32 type)
|
||||
{
|
||||
return (type == 0x6616);
|
||||
}
|
||||
|
||||
bool Style::isMajorRoad(quint32 type)
|
||||
{
|
||||
return (type <= TYPE(0x04));
|
||||
}
|
||||
|
||||
Style::POIClass Style::poiClass(quint32 type)
|
||||
{
|
||||
if ((type >= 0x2a00 && type < 0x2b00) || type == 0x2c0a || type == 0x2d02)
|
||||
@ -1041,4 +1018,11 @@ QDebug operator<<(QDebug dbg, const Style::Line &line)
|
||||
<< penColor(line.background()) << ", " << !line.img().isNull() << ")";
|
||||
return dbg.space();
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, const Style::Point &point)
|
||||
{
|
||||
dbg.nospace() << "Point(" << point.textFontSize() << ", "
|
||||
<< point.textColor() << ", " << !point.img().isNull() << ")";
|
||||
return dbg.space();
|
||||
}
|
||||
#endif // QT_NO_DEBUG
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include <QDebug>
|
||||
#include "subfile.h"
|
||||
|
||||
#define TYPE(t) ((t)<<8)
|
||||
|
||||
class Style
|
||||
{
|
||||
@ -47,6 +48,7 @@ public:
|
||||
private:
|
||||
QBrush _brush;
|
||||
QPen _pen;
|
||||
QColor _textColor;
|
||||
};
|
||||
|
||||
class Line {
|
||||
@ -80,6 +82,8 @@ public:
|
||||
class Point {
|
||||
public:
|
||||
Point() : _textFontSize(NotSet) {}
|
||||
Point(FontSize fontSize, const QColor &textColor = QColor())
|
||||
: _textColor(textColor), _textFontSize(fontSize) {}
|
||||
Point(const QImage &img) : _textFontSize(NotSet), _img(img) {}
|
||||
|
||||
void setTextColor(const QColor &color) {_textColor = color;}
|
||||
@ -103,10 +107,22 @@ public:
|
||||
const Point &point(quint32 type) const;
|
||||
const QList<quint32> &drawOrder() const {return _drawOrder;}
|
||||
|
||||
static bool isContourLine(quint32 type);
|
||||
static bool isSpot(quint32 type);
|
||||
static bool isSummit(quint32 type);
|
||||
static bool isMajorRoad(quint32 type);
|
||||
static bool isContourLine(quint32 type)
|
||||
{return ((type >= TYPE(0x20) && type <= TYPE(0x25))
|
||||
|| (type & 0xffff00) == TYPE(0x109));}
|
||||
static bool isWaterArea(quint32 type)
|
||||
{return (type >= TYPE(0x3c) && type <= TYPE(0x44));}
|
||||
static bool isMilitaryArea(quint32 type)
|
||||
{return (type == TYPE(0x04));}
|
||||
static bool isNatureReserve(quint32 type)
|
||||
{return (type == TYPE(0x16));}
|
||||
static bool isSpot(quint32 type)
|
||||
{return (type == TYPE(0x62) || type == TYPE(0x63));}
|
||||
static bool isSummit(quint32 type)
|
||||
{return (type == 0x6616);}
|
||||
static bool isMajorRoad(quint32 type)
|
||||
{return (type <= TYPE(0x04));}
|
||||
|
||||
static POIClass poiClass(quint32 type);
|
||||
|
||||
private:
|
||||
@ -149,6 +165,7 @@ private:
|
||||
#ifndef QT_NO_DEBUG
|
||||
QDebug operator<<(QDebug dbg, const Style::Polygon &polygon);
|
||||
QDebug operator<<(QDebug dbg, const Style::Line &line);
|
||||
QDebug operator<<(QDebug dbg, const Style::Point &point);
|
||||
#endif // QT_NO_DEBUG
|
||||
|
||||
#endif // STYLE_H
|
||||
|
@ -2,35 +2,9 @@
|
||||
#include "img.h"
|
||||
#include "subfile.h"
|
||||
|
||||
SubFile::Type SubFile::type(const char str[3])
|
||||
{
|
||||
if (!memcmp(str, "TRE", 3))
|
||||
return TRE;
|
||||
else if (!memcmp(str, "RGN", 3))
|
||||
return RGN;
|
||||
else if (!memcmp(str, "LBL", 3))
|
||||
return LBL;
|
||||
else if (!memcmp(str, "TYP", 3))
|
||||
return TYP;
|
||||
else if (!memcmp(str, "GMP", 3))
|
||||
return GMP;
|
||||
else if (!memcmp(str, "NET", 3))
|
||||
return NET;
|
||||
else
|
||||
return Unknown;
|
||||
}
|
||||
|
||||
SubFile::SubFile(QFile *file) :_gmpOffset(0), _img(0), _file(file), _blocks(0)
|
||||
{
|
||||
if (!_file->open(QIODevice::ReadOnly))
|
||||
qWarning("Error opening %s: %s", qPrintable(_file->fileName()),
|
||||
qPrintable(_file->errorString()));
|
||||
}
|
||||
|
||||
bool SubFile::seek(Handle &handle, quint32 pos) const
|
||||
{
|
||||
Q_ASSERT(_img || _file);
|
||||
|
||||
if (_file)
|
||||
return _file->seek(pos);
|
||||
else {
|
||||
@ -54,8 +28,6 @@ bool SubFile::seek(Handle &handle, quint32 pos) const
|
||||
|
||||
bool SubFile::readByte(Handle &handle, quint8 &val) const
|
||||
{
|
||||
Q_ASSERT(_img || _file);
|
||||
|
||||
if (_file)
|
||||
return _file->getChar((char*)&val);
|
||||
else {
|
||||
@ -97,24 +69,50 @@ bool SubFile::readVUInt32(Handle &hdl, quint32 &val) const
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SubFile::readVUInt32SW(Handle &hdl, quint32 bytes, quint32 &val) const
|
||||
{
|
||||
quint8 b;
|
||||
|
||||
val = 0;
|
||||
for (quint32 i = bytes; i; i--) {
|
||||
if (!readByte(hdl, b))
|
||||
return false;
|
||||
val |= ((quint32)b) << ((i-1) * 8);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SubFile::readVBitfield32(Handle &hdl, quint32 &bitfield) const
|
||||
{
|
||||
quint8 bits;
|
||||
|
||||
if (!readUInt8(hdl, bits))
|
||||
return false;
|
||||
|
||||
if (!(bits & 1)) {
|
||||
seek(hdl, hdl.pos - 1);
|
||||
if (!((bits>>1) & 1)) {
|
||||
if (!((bits>>2) & 1)) {
|
||||
if (!readUInt32(hdl, bitfield))
|
||||
return false;
|
||||
} else {
|
||||
if (!readUInt24(hdl, bitfield))
|
||||
return false;
|
||||
}
|
||||
bitfield >>= 3;
|
||||
} else {
|
||||
if (!readUInt16(hdl, bitfield))
|
||||
return false;
|
||||
bitfield >>= 2;
|
||||
}
|
||||
} else
|
||||
bitfield = bits>>1;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
QString SubFile::fileName() const
|
||||
{
|
||||
return _file ? _file->fileName() : _img->fileName();
|
||||
}
|
||||
|
||||
#ifndef QT_NO_DEBUG
|
||||
QDebug operator<<(QDebug dbg, const SubFile &file)
|
||||
{
|
||||
bool continuous = true;
|
||||
for (int i = 1; i < file._blocks->size(); i++) {
|
||||
if (file._blocks->at(i) != file._blocks->at(i-1) + 1) {
|
||||
continuous = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
dbg.nospace() << "SubFile(" << file._blocks->size() << ", "
|
||||
<< continuous << ")";
|
||||
return dbg.space();
|
||||
}
|
||||
#endif // QT_NO_DEBUG
|
||||
|
@ -4,8 +4,8 @@
|
||||
#include <QVector>
|
||||
#include <QDebug>
|
||||
|
||||
class IMG;
|
||||
class QFile;
|
||||
class IMG;
|
||||
|
||||
class SubFile
|
||||
{
|
||||
@ -22,18 +22,34 @@ public:
|
||||
int pos;
|
||||
};
|
||||
|
||||
SubFile(IMG *img) : _gmpOffset(0), _img(img), _file(0),
|
||||
_blocks(&_blockData) {}
|
||||
SubFile(IMG *img)
|
||||
: _gmpOffset(0), _img(img), _blocks(new QVector<quint16>()), _file(0) {}
|
||||
SubFile(SubFile *gmp, quint32 offset) : _gmpOffset(offset), _img(gmp->_img),
|
||||
_file(0), _blocks(&(gmp->_blockData)) {}
|
||||
SubFile(QFile *file);
|
||||
_blocks(gmp->_blocks), _file(gmp->_file) {}
|
||||
SubFile(QFile *file)
|
||||
: _gmpOffset(0), _img(0), _blocks(0), _file(file) {}
|
||||
~SubFile()
|
||||
{
|
||||
if (!_gmpOffset)
|
||||
delete _blocks;
|
||||
}
|
||||
|
||||
void addBlock(quint16 block) {_blocks->append(block);}
|
||||
|
||||
bool seek(Handle &handle, quint32 pos) const;
|
||||
bool readByte(Handle &handle, quint8 &val) const;
|
||||
|
||||
bool readUInt16(Handle &handle, quint16 &val) const
|
||||
template<typename T>
|
||||
bool readUInt8(Handle &handle, T &val) const
|
||||
{
|
||||
quint8 b;
|
||||
if (!readByte(handle, b))
|
||||
return false;
|
||||
val = b;
|
||||
return true;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
bool readUInt16(Handle &handle, T &val) const
|
||||
{
|
||||
quint8 b0, b1;
|
||||
if (!(readByte(handle, b0) && readByte(handle, b1)))
|
||||
@ -82,31 +98,21 @@ public:
|
||||
}
|
||||
|
||||
bool readVUInt32(Handle &hdl, quint32 &val) const;
|
||||
bool readVUInt32SW(Handle &hdl, quint32 bytes, quint32 &val) const;
|
||||
bool readVBitfield32(Handle &hdl, quint32 &bitfield) const;
|
||||
|
||||
quint16 offset() const {return _blocks->first();}
|
||||
QString fileName() const;
|
||||
|
||||
static Type type(const char str[3]);
|
||||
static bool isTileFile(Type type)
|
||||
{
|
||||
return (type == TRE || type == LBL || type == RGN || type == NET
|
||||
|| type == GMP);
|
||||
}
|
||||
|
||||
friend QDebug operator<<(QDebug dbg, const SubFile &file);
|
||||
|
||||
protected:
|
||||
quint32 _gmpOffset;
|
||||
|
||||
private:
|
||||
bool readByte(Handle &handle, quint8 &val) const;
|
||||
|
||||
IMG *_img;
|
||||
QFile *_file;
|
||||
QVector<quint16> *_blocks;
|
||||
QVector<quint16> _blockData;
|
||||
QFile *_file;
|
||||
};
|
||||
|
||||
#ifndef QT_NO_DEBUG
|
||||
QDebug operator<<(QDebug dbg, const SubFile &file);
|
||||
#endif // QT_NO_DEBUG
|
||||
|
||||
#endif // SUBFILE_H
|
||||
|
@ -44,7 +44,7 @@ bool TREFile::init()
|
||||
quint16 hdrLen;
|
||||
|
||||
if (!(seek(hdl, _gmpOffset) && readUInt16(hdl, hdrLen)
|
||||
&& seek(hdl, _gmpOffset + 0x0D) && readByte(hdl, locked)))
|
||||
&& seek(hdl, _gmpOffset + 0x0D) && readUInt8(hdl, locked)))
|
||||
return false;
|
||||
|
||||
// Tile bounds
|
||||
@ -62,12 +62,15 @@ bool TREFile::init()
|
||||
&& readUInt32(hdl, subdivSize)))
|
||||
return false;
|
||||
|
||||
// TRE7 info
|
||||
if (hdrLen > 0x9A) {
|
||||
// TRE7 info
|
||||
if (!(seek(hdl, _gmpOffset + 0x7C) && readUInt32(hdl, _extended.offset)
|
||||
&& readUInt32(hdl, _extended.size)
|
||||
&& readUInt16(hdl, _extended.itemSize)))
|
||||
return false;
|
||||
// flags
|
||||
if (!(seek(hdl, _gmpOffset + 0x86) && readUInt32(hdl, _flags)))
|
||||
return false;
|
||||
}
|
||||
|
||||
// Tile levels
|
||||
@ -75,7 +78,7 @@ bool TREFile::init()
|
||||
return false;
|
||||
quint8 levels[64];
|
||||
for (quint32 i = 0; i < levelsSize; i++)
|
||||
if (!readByte(hdl, levels[i]))
|
||||
if (!readUInt8(hdl, levels[i]))
|
||||
return false;
|
||||
if (locked) {
|
||||
quint32 key;
|
||||
@ -126,15 +129,16 @@ bool TREFile::load(int idx)
|
||||
return false;
|
||||
|
||||
for (int j = 0; j < _levels.at(idx).subdivs; j++) {
|
||||
quint32 offset;
|
||||
quint32 oo;
|
||||
qint32 lon, lat;
|
||||
quint8 objects;
|
||||
quint16 width, height, nextLevel;
|
||||
|
||||
if (!(readUInt24(hdl, offset) && readByte(hdl, objects)
|
||||
&& readInt24(hdl, lon) && readInt24(hdl, lat)
|
||||
if (!(readUInt32(hdl, oo) && readInt24(hdl, lon) && readInt24(hdl, lat)
|
||||
&& readUInt16(hdl, width) && readUInt16(hdl, height)))
|
||||
goto error;
|
||||
quint32 offset = oo & 0xfffffff;
|
||||
quint8 objects = (((qint16)height < 0) << 4) | (oo >> 0x1c);
|
||||
|
||||
if (idx != _levels.size() - 1)
|
||||
if (!readUInt16(hdl, nextLevel))
|
||||
goto error;
|
||||
@ -146,6 +150,7 @@ bool TREFile::load(int idx)
|
||||
width <<= (24 - _levels.at(idx).bits);
|
||||
height <<= (24 - _levels.at(idx).bits);
|
||||
|
||||
|
||||
s = new SubDiv(offset, lon, lat, _levels.at(idx).bits, objects);
|
||||
sl.append(s);
|
||||
|
||||
|
@ -22,6 +22,8 @@ public:
|
||||
|
||||
const RectC &bounds() const {return _bounds;}
|
||||
QList<SubDiv*> subdivs(const RectC &rect, int bits);
|
||||
quint32 shift(quint8 bits) const
|
||||
{return (bits == _levels.last().bits) ? (_flags >> 0xb) & 7 : 0;}
|
||||
|
||||
private:
|
||||
struct MapLevel {
|
||||
@ -51,6 +53,7 @@ private:
|
||||
quint32 _subdivOffset;
|
||||
Extended _extended;
|
||||
int _firstLevel;
|
||||
quint32 _flags;
|
||||
|
||||
QMap<int, SubDivTree*> _subdivs;
|
||||
};
|
||||
|
@ -76,25 +76,18 @@ void VectorTile::objects(const RectC &rect, int bits,
|
||||
{
|
||||
QList<SubDiv*> subdivs = _tre->subdivs(rect, bits);
|
||||
for (int i = 0; i < subdivs.size(); i++) {
|
||||
_rgn->objects(rect, subdivs.at(i), _lbl, _net, polygons, lines, points);
|
||||
_rgn->extObjects(rect, subdivs.at(i), _lbl, polygons, lines,
|
||||
points);
|
||||
const SubDiv *subdiv = subdivs.at(i);
|
||||
quint32 shift = _tre->shift(subdiv->bits());
|
||||
|
||||
_rgn->objects(rect, subdiv, _lbl, _net, polygons, lines, points);
|
||||
_rgn->extObjects(rect, subdiv, shift, _lbl, polygons, lines, points);
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef QT_NO_DEBUG
|
||||
QDebug operator<<(QDebug dbg, const VectorTile &tile)
|
||||
{
|
||||
dbg.nospace() << "VectorTile(";
|
||||
if (tile._tre)
|
||||
dbg << "TRE: " << *(tile._tre);
|
||||
if (tile._rgn)
|
||||
dbg << ", RGN: " << *(tile._rgn);
|
||||
if (tile._lbl)
|
||||
dbg << ", LBL: " << *(tile._lbl);
|
||||
if (tile._net)
|
||||
dbg << ", NET: " << *(tile._net);
|
||||
dbg << ")";
|
||||
dbg.nospace() << "VectorTile(" << tile.bounds() <<")";
|
||||
|
||||
return dbg.space();
|
||||
}
|
||||
|
@ -12,7 +12,9 @@ class VectorTile {
|
||||
public:
|
||||
VectorTile() : _tre(0), _rgn(0), _lbl(0), _net(0), _gmp(0) {}
|
||||
~VectorTile()
|
||||
{delete _tre; delete _rgn; delete _lbl; delete _net; delete _gmp;}
|
||||
{
|
||||
delete _tre; delete _rgn; delete _lbl; delete _net; delete _gmp;
|
||||
}
|
||||
|
||||
bool init();
|
||||
void clear() {_tre->clear();}
|
||||
@ -25,6 +27,13 @@ public:
|
||||
void objects(const RectC &rect, int bits, QList<IMG::Poly> *polygons,
|
||||
QList<IMG::Poly> *lines, QList<IMG::Point> *points) const;
|
||||
|
||||
static bool isTileFile(SubFile::Type type)
|
||||
{
|
||||
return (type == SubFile::TRE || type == SubFile::LBL
|
||||
|| type == SubFile::RGN || type == SubFile::NET
|
||||
|| type == SubFile::GMP);
|
||||
}
|
||||
|
||||
friend QDebug operator<<(QDebug dbg, const VectorTile &tile);
|
||||
|
||||
private:
|
||||
|
@ -104,10 +104,10 @@ AlbersEqual::AlbersEqual(const Ellipsoid *ellipsoid, double standardParallel1,
|
||||
} else
|
||||
_n = sin_lat1;
|
||||
|
||||
_C = sqr_m1 + _n * q1;
|
||||
_c = sqr_m1 + _n * q1;
|
||||
_a_over_n = ellipsoid->radius() / _n;
|
||||
nq0 = _n * q0;
|
||||
_rho0 = (_C < nq0) ? 0 : _a_over_n * sqrt(_C - nq0);
|
||||
_rho0 = (_c < nq0) ? 0 : _a_over_n * sqrt(_c - nq0);
|
||||
}
|
||||
|
||||
PointD AlbersEqual::ll2xy(const Coordinates &c) const
|
||||
@ -131,7 +131,7 @@ PointD AlbersEqual::ll2xy(const Coordinates &c) const
|
||||
e_sin = _e * sin_lat;
|
||||
q = ALBERS_Q(sin_lat, ONE_MINUS_SQR(e_sin), e_sin);
|
||||
nq = _n * q;
|
||||
rho = (_C < nq) ? 0 : _a_over_n * sqrt(_C - nq);
|
||||
rho = (_c < nq) ? 0 : _a_over_n * sqrt(_c - nq);
|
||||
theta = _n * dlam;
|
||||
|
||||
return PointD(rho * sin(theta) + _falseEasting,
|
||||
@ -168,7 +168,7 @@ Coordinates AlbersEqual::xy2ll(const PointD &p) const
|
||||
if (rho != 0.0)
|
||||
theta = atan2(dx, rho0_minus_dy);
|
||||
rho_n = rho * _n;
|
||||
q = (_C - (rho_n * rho_n) / _a2) / _n;
|
||||
q = (_c - (rho_n * rho_n) / _a2) / _n;
|
||||
qc = 1 - ((_one_minus_es) / (_two_e)) * log((1.0 - _e) / (1.0 + _e));
|
||||
if (fabs(fabs(qc) - fabs(q)) > 1.0e-6) {
|
||||
q_over_2 = q / 2.0;
|
||||
|
@ -25,7 +25,7 @@ private:
|
||||
|
||||
double _a2;
|
||||
double _rho0;
|
||||
double _C;
|
||||
double _c;
|
||||
double _n;
|
||||
double _e;
|
||||
double _es;
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include <QFile>
|
||||
#include <QPainter>
|
||||
#include <QFont>
|
||||
#include <QPixmapCache>
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
|
||||
#include <QtCore>
|
||||
@ -8,6 +9,7 @@
|
||||
#endif // QT_VERSION < 5
|
||||
#include "common/rectc.h"
|
||||
#include "common/wgs84.h"
|
||||
#include "common/range.h"
|
||||
#include "IMG/textpathitem.h"
|
||||
#include "IMG/textpointitem.h"
|
||||
#include "IMG/bitmapline.h"
|
||||
@ -41,10 +43,11 @@ public:
|
||||
{
|
||||
QList<TextItem*> textItems;
|
||||
|
||||
_map->processPolygons(_polygons);
|
||||
QRect tileRect(_xy, QSize(TILE_SIZE, TILE_SIZE));
|
||||
|
||||
_map->processPoints(_points, textItems);
|
||||
_map->processLines(_lines, QRect(_xy, QSize(TILE_SIZE, TILE_SIZE)),
|
||||
textItems);
|
||||
_map->processPolygons(_polygons, textItems);
|
||||
_map->processLines(_lines, tileRect, textItems);
|
||||
|
||||
_img.fill(Qt::transparent);
|
||||
|
||||
@ -172,7 +175,7 @@ static int minShieldZoom(Label::Shield::Type type)
|
||||
switch (type) {
|
||||
case Label::Shield::USInterstate:
|
||||
case Label::Shield::Hbox:
|
||||
return 18;
|
||||
return 17;
|
||||
case Label::Shield::USShield:
|
||||
case Label::Shield::Box:
|
||||
return 19;
|
||||
@ -184,6 +187,49 @@ static int minShieldZoom(Label::Shield::Type type)
|
||||
}
|
||||
}
|
||||
|
||||
static qreal area(const QVector<QPointF> &polygon)
|
||||
{
|
||||
qreal area = 0;
|
||||
|
||||
for (int i = 0; i < polygon.size(); i++) {
|
||||
int j = (i + 1) % polygon.size();
|
||||
area += polygon.at(i).x() * polygon.at(j).y();
|
||||
area -= polygon.at(i).y() * polygon.at(j).x();
|
||||
}
|
||||
area /= 2.0;
|
||||
|
||||
return area;
|
||||
}
|
||||
|
||||
static QPointF centroid(const QVector<QPointF> polygon)
|
||||
{
|
||||
qreal cx = 0, cy = 0, factor = 0;
|
||||
qreal A = area(polygon);
|
||||
|
||||
for (int i = 0; i < polygon.size(); i++) {
|
||||
int j = (i + 1) % polygon.size();
|
||||
factor=(polygon.at(i).x() * polygon.at(j).y() - polygon[j].x()
|
||||
* polygon[i].y());
|
||||
cx+=(polygon[i].x() + polygon[j].x()) * factor;
|
||||
cy+=(polygon[i].y() + polygon[j].y()) * factor;
|
||||
}
|
||||
|
||||
A *= 6.0f;
|
||||
factor = 1/A;
|
||||
cx *= factor;
|
||||
cy *= factor;
|
||||
|
||||
return QPointF(cx, cy);
|
||||
}
|
||||
|
||||
static bool rectNearPolygon(const QPolygonF &polygon, const QRectF &rect)
|
||||
{
|
||||
return (polygon.boundingRect().contains(rect)
|
||||
&& (polygon.containsPoint(rect.topLeft(), Qt::OddEvenFill)
|
||||
|| polygon.containsPoint(rect.topRight(), Qt::OddEvenFill)
|
||||
|| polygon.containsPoint(rect.bottomLeft(), Qt::OddEvenFill)
|
||||
|| polygon.containsPoint(rect.bottomRight(), Qt::OddEvenFill)));
|
||||
}
|
||||
|
||||
IMGMap::IMGMap(const QString &fileName, QObject *parent)
|
||||
: Map(parent), _img(fileName), _projection(PCS::pcs(3857)), _valid(false)
|
||||
@ -333,7 +379,8 @@ void IMGMap::drawTextItems(QPainter *painter, const QList<TextItem*> &textItems)
|
||||
}
|
||||
|
||||
|
||||
void IMGMap::processPolygons(QList<IMG::Poly> &polygons)
|
||||
void IMGMap::processPolygons(QList<IMG::Poly> &polygons,
|
||||
QList<TextItem*> &textItems)
|
||||
{
|
||||
for (int i = 0; i < polygons.size(); i++) {
|
||||
IMG::Poly &poly = polygons[i];
|
||||
@ -341,6 +388,23 @@ void IMGMap::processPolygons(QList<IMG::Poly> &polygons)
|
||||
QPointF &p = poly.points[j];
|
||||
p = ll2xy(Coordinates(p.x(), p.y()));
|
||||
}
|
||||
|
||||
if (poly.label.text().isEmpty())
|
||||
continue;
|
||||
|
||||
if (_zoom <= 23 && (Style::isWaterArea(poly.type)
|
||||
|| Style::isMilitaryArea(poly.type)
|
||||
|| Style::isNatureReserve(poly.type))) {
|
||||
const Style::Polygon &style = _img.style()->polygon(poly.type);
|
||||
TextPointItem *item = new TextPointItem(
|
||||
centroid(poly.points).toPoint(), &poly.label.text(),
|
||||
poiFont(), 0, &style.brush().color());
|
||||
if (item->isValid() && !item->collides(textItems)
|
||||
&& rectNearPolygon(poly.points, item->boundingRect()))
|
||||
textItems.append(item);
|
||||
else
|
||||
delete item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,9 @@
|
||||
#ifndef IMGMAP_H
|
||||
#define IMGMAP_H
|
||||
|
||||
#include <QFont>
|
||||
#include "map.h"
|
||||
#include "projection.h"
|
||||
#include "transform.h"
|
||||
#include "common/range.h"
|
||||
#include "IMG/img.h"
|
||||
|
||||
class TextItem;
|
||||
@ -49,7 +47,8 @@ private:
|
||||
void drawLines(QPainter *painter, const QList<IMG::Poly> &lines);
|
||||
void drawTextItems(QPainter *painter, const QList<TextItem*> &textItems);
|
||||
|
||||
void processPolygons(QList<IMG::Poly> &polygons);
|
||||
void processPolygons(QList<IMG::Poly> &polygons,
|
||||
QList<TextItem *> &textItems);
|
||||
void processLines(QList<IMG::Poly> &lines, const QRect &tileRect,
|
||||
QList<TextItem*> &textItems);
|
||||
void processPoints(QList<IMG::Point> &points, QList<TextItem*> &textItems);
|
||||
|
@ -15,16 +15,16 @@ Krovak::Krovak(const Ellipsoid *ellipsoid, double standardParallel,
|
||||
|
||||
_phiP = deg2rad(standardParallel);
|
||||
_e = sqrt(ellipsoid->es());
|
||||
_A = ellipsoid->radius() * sqrt(1.0 - ellipsoid->es())
|
||||
_a = ellipsoid->radius() * sqrt(1.0 - ellipsoid->es())
|
||||
/ (1.0 - ellipsoid->es() * sinPhiC2);
|
||||
_B = sqrt(1.0 + (ellipsoid->es() * cosPhiC4 / (1.0 - ellipsoid->es())));
|
||||
double gamma0 = asin(sinPhiC / _B);
|
||||
_b = sqrt(1.0 + (ellipsoid->es() * cosPhiC4 / (1.0 - ellipsoid->es())));
|
||||
double gamma0 = asin(sinPhiC / _b);
|
||||
_t0 = tan(M_PI_4 + gamma0 / 2.0) * pow((1.0 + _e * sinPhiC) /
|
||||
(1.0 - _e * sinPhiC), _e*_B / 2.0) / pow(tan(M_PI_4 + phiC/2.0), _B);
|
||||
(1.0 - _e * sinPhiC), _e*_b / 2.0) / pow(tan(M_PI_4 + phiC/2.0), _b);
|
||||
_n = sin(_phiP);
|
||||
_r0 = scale * _A / tan(_phiP);
|
||||
_FE = falseEasting;
|
||||
_FN = falseNorthing;
|
||||
_r0 = scale * _a / tan(_phiP);
|
||||
_fe = falseEasting;
|
||||
_fn = falseNorthing;
|
||||
_cosAlphaC = cos(alphaC);
|
||||
_sinAlphaC = sin(alphaC);
|
||||
_lambda0 = deg2rad(longitudeOrigin);
|
||||
@ -35,23 +35,23 @@ PointD Krovak::ll2xy(const Coordinates &c) const
|
||||
double phi = deg2rad(c.lat());
|
||||
double lambda = deg2rad(c.lon());
|
||||
double eSinPhi = _e * sin(phi);
|
||||
double U = 2.0 * (atan(_t0 * pow(tan(phi/2.0 + M_PI_4), _B)
|
||||
/ pow((1.0 + eSinPhi) / (1.0 - eSinPhi), _e * _B/2.0)) - M_PI_4);
|
||||
double U = 2.0 * (atan(_t0 * pow(tan(phi/2.0 + M_PI_4), _b)
|
||||
/ pow((1.0 + eSinPhi) / (1.0 - eSinPhi), _e * _b/2.0)) - M_PI_4);
|
||||
double cosU = cos(U);
|
||||
double V = _B * (_lambda0 - lambda);
|
||||
double V = _b * (_lambda0 - lambda);
|
||||
double T = asin(_cosAlphaC * sin(U) + _sinAlphaC * cosU * cos(V));
|
||||
double D = asin(cosU * sin(V) / cos(T));
|
||||
double theta = _n * D;
|
||||
double r = _r0 * pow(tan(M_PI_4 + _phiP/2.0), _n)
|
||||
/ pow(tan(T/2.0 + M_PI_4), _n);
|
||||
|
||||
return PointD(r * sin(theta) + _FE, r * cos(theta) + _FN);
|
||||
return PointD(r * sin(theta) + _fe, r * cos(theta) + _fn);
|
||||
}
|
||||
|
||||
Coordinates Krovak::xy2ll(const PointD &p) const
|
||||
{
|
||||
double Xp = p.y() - _FN;
|
||||
double Yp = p.x() - _FE;
|
||||
double Xp = p.y() - _fn;
|
||||
double Yp = p.x() - _fe;
|
||||
double Xp2 = Xp * Xp;
|
||||
double Yp2 = Yp * Yp;
|
||||
double r = sqrt(Xp2 + Yp2);
|
||||
@ -63,8 +63,8 @@ Coordinates Krovak::xy2ll(const PointD &p) const
|
||||
double V = asin(cos(T) * sin(D) / cos(U));
|
||||
double phi = U;
|
||||
for (int i = 0; i < 3; i++)
|
||||
phi = 2.0 * (atan(pow(_t0, -1.0/_B) * pow(tan(U/2.0 + M_PI_4), 1.0/_B)
|
||||
phi = 2.0 * (atan(pow(_t0, -1.0/_b) * pow(tan(U/2.0 + M_PI_4), 1.0/_b)
|
||||
* pow((1.0 + _e * sin(phi))/(1.0 - _e * sin(phi)), _e/2.0)) - M_PI_4);
|
||||
|
||||
return Coordinates(rad2deg(_lambda0 - V/_B), rad2deg(phi));
|
||||
return Coordinates(rad2deg(_lambda0 - V/_b), rad2deg(phi));
|
||||
}
|
||||
|
@ -18,8 +18,8 @@ public:
|
||||
virtual Coordinates xy2ll(const PointD &p) const;
|
||||
|
||||
private:
|
||||
double _e, _A, _B, _t0, _n, _r0, _phiP;
|
||||
double _cosAlphaC, _sinAlphaC, _lambda0, _FE, _FN;
|
||||
double _e, _a, _b, _t0, _n, _r0, _phiP;
|
||||
double _cosAlphaC, _sinAlphaC, _lambda0, _fe, _fn;
|
||||
};
|
||||
|
||||
class KrovakNE : public CT
|
||||
|
@ -11,8 +11,8 @@ LambertAzimuthal::LambertAzimuthal(const Ellipsoid *ellipsoid,
|
||||
{
|
||||
double lat0 = deg2rad(latitudeOrigin);
|
||||
|
||||
_falseEasting = falseEasting;
|
||||
_falseNorthing = falseNorthing;
|
||||
_fe = falseEasting;
|
||||
_fn = falseNorthing;
|
||||
_lon0 = deg2rad(longitudeOrigin);
|
||||
|
||||
_a = ellipsoid->radius();
|
||||
@ -25,8 +25,8 @@ LambertAzimuthal::LambertAzimuthal(const Ellipsoid *ellipsoid,
|
||||
_qP = (1.0 - _es) * ((1.0 / (1.0 - _es)) - ((1.0/(2.0*_e))
|
||||
* log((1.0 - _e) / (1.0 + _e))));
|
||||
_beta0 = asin(q0 / _qP);
|
||||
_Rq = _a * sqrt(_qP / 2.0);
|
||||
_D = _a * (cos(lat0) / sqrt(1.0 - _es * sin2(lat0))) / (_Rq * cos(_beta0));
|
||||
_rq = _a * sqrt(_qP / 2.0);
|
||||
_d = _a * (cos(lat0) / sqrt(1.0 - _es * sin2(lat0))) / (_rq * cos(_beta0));
|
||||
}
|
||||
|
||||
PointD LambertAzimuthal::ll2xy(const Coordinates &c) const
|
||||
@ -38,11 +38,11 @@ PointD LambertAzimuthal::ll2xy(const Coordinates &c) const
|
||||
- ((1.0/(2.0*_e)) * log((1.0 - _e * sin(lat)) / (1.0 + _e
|
||||
* sin(lat)))));
|
||||
double beta = asin(q / _qP);
|
||||
double B = _Rq * sqrt(2.0 / (1.0 + sin(_beta0) * sin(beta) + (cos(_beta0)
|
||||
double B = _rq * sqrt(2.0 / (1.0 + sin(_beta0) * sin(beta) + (cos(_beta0)
|
||||
* cos(beta) * cos(lon - _lon0))));
|
||||
|
||||
double x = _falseEasting + ((B * _D) * (cos(beta) * sin(lon - _lon0)));
|
||||
double y = _falseNorthing + (B / _D) * ((cos(_beta0) * sin(beta))
|
||||
double x = _fe + ((B * _d) * (cos(beta) * sin(lon - _lon0)));
|
||||
double y = _fn + (B / _d) * ((cos(_beta0) * sin(beta))
|
||||
- (sin(_beta0) * cos(beta) * cos(lon - _lon0)));
|
||||
|
||||
return PointD(x, y);
|
||||
@ -53,14 +53,14 @@ Coordinates LambertAzimuthal::xy2ll(const PointD &p) const
|
||||
double es4 = _es * _es;
|
||||
double es6 = _es * es4;
|
||||
|
||||
double rho = sqrt(sqr((p.x() - _falseEasting) / _D) + sqr(_D * (p.y()
|
||||
- _falseNorthing)));
|
||||
double C = 2.0 * asin(rho / (2.0*_Rq));
|
||||
double betaS = asin((cos(C) * sin(_beta0)) + ((_D * (p.y() -_falseNorthing)
|
||||
double rho = sqrt(sqr((p.x() - _fe) / _d) + sqr(_d * (p.y()
|
||||
- _fn)));
|
||||
double C = 2.0 * asin(rho / (2.0*_rq));
|
||||
double betaS = asin((cos(C) * sin(_beta0)) + ((_d * (p.y() -_fn)
|
||||
* sin(C) * cos(_beta0)) / rho));
|
||||
|
||||
double lon = _lon0 + atan((p.x() - _falseEasting) * sin(C) / (_D * rho
|
||||
* cos(_beta0) * cos(C) - sqr(_D) * (p.y() - _falseNorthing) * sin(_beta0)
|
||||
double lon = _lon0 + atan((p.x() - _fe) * sin(C) / (_d * rho
|
||||
* cos(_beta0) * cos(C) - sqr(_d) * (p.y() - _fn) * sin(_beta0)
|
||||
* sin(C)));
|
||||
double lat = betaS + ((_es/3.0 + 31.0*es4/180.0 + 517.0*es6/5040.0)
|
||||
* sin(2.0*betaS)) + ((23.0*es4/360.0 + 251.0*es6/3780.0) * sin(4.0*betaS))
|
||||
|
@ -18,9 +18,8 @@ public:
|
||||
|
||||
private:
|
||||
double _lon0;
|
||||
double _falseNorthing;
|
||||
double _falseEasting;
|
||||
double _a, _e, _es, _qP, _beta0, _Rq, _D;
|
||||
double _fn, _fe;
|
||||
double _a, _e, _es, _qP, _beta0, _rq, _d;
|
||||
};
|
||||
|
||||
#endif // LAMBERTAZIMUTHAL_H
|
||||
|
@ -8,7 +8,7 @@
|
||||
ObliqueStereographic::ObliqueStereographic(const Ellipsoid *ellipsoid,
|
||||
double latitudeOrigin, double longitudeOrigin, double scale,
|
||||
double falseEasting, double falseNorthing)
|
||||
: _FE(falseEasting), _FN(falseNorthing)
|
||||
: _fe(falseEasting), _fn(falseNorthing)
|
||||
{
|
||||
double lat0 = deg2rad(latitudeOrigin);
|
||||
double sinPhi0 = sin(lat0);
|
||||
@ -48,17 +48,17 @@ PointD ObliqueStereographic::ll2xy(const Coordinates &c) const
|
||||
double B = (1.0 + sin(chi) * _sinChi0 + cos(chi) * _cosChi0
|
||||
* cos(lambda - _lambda0));
|
||||
|
||||
return PointD(_FE + _twoRk0 * cos(chi) * sin(lambda - _lambda0) / B,
|
||||
_FN + _twoRk0 * (sin(chi) * _cosChi0 - cos(chi) * _sinChi0
|
||||
return PointD(_fe + _twoRk0 * cos(chi) * sin(lambda - _lambda0) / B,
|
||||
_fn + _twoRk0 * (sin(chi) * _cosChi0 - cos(chi) * _sinChi0
|
||||
* cos(lambda - _lambda0)) / B);
|
||||
}
|
||||
|
||||
Coordinates ObliqueStereographic::xy2ll(const PointD &p) const
|
||||
{
|
||||
double i = atan((p.x() - _FE) / (_h + (p.y() - _FN)));
|
||||
double j = atan((p.x() - _FE) / (_g - (p.y() - _FN))) - i;
|
||||
double i = atan((p.x() - _fe) / (_h + (p.y() - _fn)));
|
||||
double j = atan((p.x() - _fe) / (_g - (p.y() - _fn))) - i;
|
||||
|
||||
double chi = _chi0 + 2.0 * atan(((p.y() - _FN) - (p.x() - _FE) * tan(j/2.0))
|
||||
double chi = _chi0 + 2.0 * atan(((p.y() - _fn) - (p.x() - _fe) * tan(j/2.0))
|
||||
/ _twoRk0);
|
||||
double lambda = j + 2.0 * i + _lambda0;
|
||||
|
||||
|
@ -22,7 +22,7 @@ private:
|
||||
double _lambda0;
|
||||
double _n;
|
||||
double _c;
|
||||
double _FE, _FN;
|
||||
double _fe, _fn;
|
||||
double _twoRk0, _g, _h;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user