1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-04-20 12:19:11 +02:00

Compare commits

..

No commits in common. "master" and "13.37" have entirely different histories.

55 changed files with 748 additions and 1523 deletions

View File

@ -1,4 +1,4 @@
version: 13.39.{build} version: 13.37.{build}
configuration: configuration:
- Release - Release
@ -8,7 +8,6 @@ image:
environment: environment:
NSISDIR: C:\Program Files (x86)\NSIS NSISDIR: C:\Program Files (x86)\NSIS
JOMDIR: C:\Qt\Tools\QtCreator\bin\jom
matrix: matrix:
- QTDIR: C:\Qt\5.15\msvc2019_64 - QTDIR: C:\Qt\5.15\msvc2019_64
OPENSSLDIR: C:\OpenSSL-v111-Win64\bin OPENSSLDIR: C:\OpenSSL-v111-Win64\bin
@ -18,14 +17,14 @@ environment:
install: install:
- cmd: |- - cmd: |-
set PATH=%QTDIR%\bin;%NSISDIR%;%JOMDIR%;%PATH% set PATH=%QTDIR%\bin;%NSISDIR%;%PATH%
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat
build_script: build_script:
- cmd: |- - cmd: |-
lrelease gpxsee.pro lrelease gpxsee.pro
qmake gpxsee.pro qmake gpxsee.pro
jom release nmake release
md installer md installer
copy release\GPXSee.exe installer copy release\GPXSee.exe installer

View File

@ -43,7 +43,7 @@ jobs:
- name: Configure build - name: Configure build
run: qmake gpxsee.pro OPENSSL_PATH=android_openssl run: qmake gpxsee.pro OPENSSL_PATH=android_openssl
- name: Build project - name: Build project
run: make -j4 apk run: make -j2 apk
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:

View File

@ -24,4 +24,4 @@ jobs:
- name: Configure build - name: Configure build
run: qmake CONFIG+=${{ matrix.config }} gpxsee.pro run: qmake CONFIG+=${{ matrix.config }} gpxsee.pro
- name: Build project - name: Build project
run: make -j4 run: make -j2

View File

@ -5,8 +5,7 @@ GPS log file formats.
## Features ## Features
* Opens GPX, TCX, FIT, KML, NMEA, IGC, CUP, SIGMA SLF, Suunto SML, LOC, GeoJSON, * Opens GPX, TCX, FIT, KML, NMEA, IGC, CUP, SIGMA SLF, Suunto SML, LOC, GeoJSON,
OziExplorer (PLT, RTE, WPT), Garmin GPI&CSV, TomTom OV2&ITN, ONmove OMD/GHP, OziExplorer (PLT, RTE, WPT), Garmin GPI&CSV, TomTom OV2&ITN, ONmove OMD/GHP,
TwoNav (TRK, RTE, WPT), GPSDump WPT, Velocitek VTK, Vakaros VKX, 70mai GPS logs TwoNav (TRK, RTE, WPT), GPSDump WPT, 70mai GPS logs and geotagged JPEG files.
and geotagged JPEG files.
* Opens geo URIs (RFC 5870). * Opens geo URIs (RFC 5870).
* User-definable online maps (OpenStreetMap/Google tiles, WMTS, WMS, TMS, * User-definable online maps (OpenStreetMap/Google tiles, WMTS, WMS, TMS,
QuadTiles). QuadTiles).

View File

@ -214,11 +214,10 @@
</rule> </rule>
<!-- Buildings --> <!-- Buildings -->
<rule e="way" k="building" v="-|civic|office|cathedral|church|basilica"> <rule e="way" k="building" v="*">
<area fill="#dbd0b6" stroke="#cdccc4" stroke-width="0.1"/> <area fill="#dbd0b6" stroke="#cdccc4" stroke-width="0.1"/>
</rule> </rule>
<rule e="way" k="building" v="civic">
<rule e="way" k="building" v="civic|office">
<area fill="#cfc4b3" stroke="#cdccc4" stroke-width="0.1"/> <area fill="#cfc4b3" stroke="#cdccc4" stroke-width="0.1"/>
<rule e="way" k="*" v="*" zoom-min="16"> <rule e="way" k="*" v="*" zoom-min="16">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" priority="-10"/> <caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" priority="-10"/>
@ -404,7 +403,7 @@
<rule e="way" k="*" v="*" zoom-min="14"> <rule e="way" k="*" v="*" zoom-min="14">
<pathText fill="#000000" font-size="10" k="name" priority="-5" stroke="#FFFFFF" stroke-width="2"/> <pathText fill="#000000" font-size="10" k="name" priority="-5" stroke="#FFFFFF" stroke-width="2"/>
<rule e="way" k="oneway" v="yes|true|1" zoom-min="16"> <rule e="way" k="oneway" v="yes|true|1" zoom-min="16">
<lineSymbol priority="-50" src=":/symbols/oneway.svg" symbol-width="16" symbol-height="8"/> <lineSymbol priority="-50" src=":/symbols/arrow.svg" symbol-width="16" symbol-height="8"/>
</rule> </rule>
</rule> </rule>
</rule> </rule>
@ -429,12 +428,6 @@
<line stroke="#f7d9a6" stroke-width="1" stroke-linecap="butt"/> <line stroke="#f7d9a6" stroke-width="1" stroke-linecap="butt"/>
</rule> </rule>
</rule> </rule>
<rule e="way" k="*" v="*" zoom-min="14">
<pathText fill="#000000" font-size="10" k="name" priority="-3" stroke="#FFFFFF" stroke-width="2"/>
<rule e="way" k="oneway" v="yes|true|1" zoom-min="16">
<lineSymbol priority="-50" src=":/symbols/oneway.svg" symbol-width="16" symbol-height="8"/>
</rule>
</rule>
</rule> </rule>
<rule e="way" k="highway" v="motorway|motorway_link"> <rule e="way" k="highway" v="motorway|motorway_link">
<rule e="way" k="tunnel" v="~|false|no"> <rule e="way" k="tunnel" v="~|false|no">

View File

@ -3,7 +3,7 @@ unix:!macx:!android {
} else { } else {
TARGET = GPXSee TARGET = GPXSee
} }
VERSION = 13.39 VERSION = 13.37
QT += core \ QT += core \
gui \ gui \
@ -118,8 +118,6 @@ HEADERS += src/common/config.h \
src/data/style.h \ src/data/style.h \
src/data/twonavparser.h \ src/data/twonavparser.h \
src/data/txtparser.h \ src/data/txtparser.h \
src/data/vkxparser.h \
src/data/vtkparser.h \
src/map/ENC/data.h \ src/map/ENC/data.h \
src/map/IMG/light.h \ src/map/IMG/light.h \
src/map/downloader.h \ src/map/downloader.h \
@ -348,8 +346,6 @@ SOURCES += src/main.cpp \
src/GUI/projectioncombobox.cpp \ src/GUI/projectioncombobox.cpp \
src/GUI/passwordedit.cpp \ src/GUI/passwordedit.cpp \
src/data/txtparser.cpp \ src/data/txtparser.cpp \
src/data/vkxparser.cpp \
src/data/vtkparser.cpp \
src/map/downloader.cpp \ src/map/downloader.cpp \
src/map/demloader.cpp \ src/map/demloader.cpp \
src/map/ENC/atlasdata.cpp \ src/map/ENC/atlasdata.cpp \
@ -565,9 +561,7 @@ win32 {
icons/formats/trk.ico \ icons/formats/trk.ico \
icons/formats/gemf.ico \ icons/formats/gemf.ico \
icons/formats/000.ico \ icons/formats/000.ico \
icons/formats/031.ico \ icons/formats/031.ico
icons/formats/vtk.ico \
icons/formats/vkx.ico
DEFINES += _USE_MATH_DEFINES \ DEFINES += _USE_MATH_DEFINES \
NOGDI NOGDI
} }

View File

@ -32,5 +32,3 @@ trk:#cccccc
gemf:#147085 gemf:#147085
000:#000000 000:#000000
031:#000000 031:#000000
vtk:#632433
vkx:#00ccff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 KiB

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Fitxers compatibles</translation> <translation>Fitxers compatibles</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>Fitxers CSV</translation> <translation>Fitxers CSV</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>Fitxers CUP</translation> <translation>Fitxers CUP</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>Fitxers FIT</translation> <translation>Fitxers FIT</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>Fitxers GeoJSON</translation> <translation>Fitxers GeoJSON</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>Fitxers GPI</translation> <translation>Fitxers GPI</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>Fitxers GPX</translation> <translation>Fitxers GPX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>Fitxers IGC</translation> <translation>Fitxers IGC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>Fitxers ITN</translation> <translation>Fitxers ITN</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>Imatges JPEG</translation> <translation>Imatges JPEG</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>Fitxers KML</translation> <translation>Fitxers KML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>Fitxers LOC</translation> <translation>Fitxers LOC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>Fitxers NMEA</translation> <translation>Fitxers NMEA</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>Fitxer ONmove</translation> <translation>Fitxer ONmove</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>Fitxers OV2</translation> <translation>Fitxers OV2</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>Fitxers OziExplorer</translation> <translation>Fitxers OziExplorer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>Fitxers SLF</translation> <translation>Fitxers SLF</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>Fitxers SML</translation> <translation>Fitxers SML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>Fitxers TCX</translation> <translation>Fitxers TCX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>Fitxers de registre GPS de 70mai</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="254"/>
<source>VKX files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="255"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VTK files</source>
<translation>Fitxers VTK</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>Fitxers TwoNav</translation> <translation>Fitxers TwoNav</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>Ffitxers d&apos;abocament de GPS</translation> <translation>Ffitxers d&apos;abocament de GPS</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Tots els fitxers</translation> <translation>Tots els fitxers</translation>
</message> </message>
@ -966,7 +956,7 @@
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1126"/> <location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Error loading geo URI:</source> <source>Error loading geo URI:</source>
<translation>Error en carregar geo URI:</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1164"/> <location filename="../src/GUI/gui.cpp" line="1164"/>
@ -2430,17 +2420,17 @@
<translation>Ritme</translation> <translation>Ritme</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Podporované soubory</translation> <translation>Podporované soubory</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>Soubory CSV</translation> <translation>Soubory CSV</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>Soubory CUP</translation> <translation>Soubory CUP</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>Soubory FIT</translation> <translation>Soubory FIT</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>Soubory GeoJSON</translation> <translation>Soubory GeoJSON</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>Soubory GPI</translation> <translation>Soubory GPI</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>Soubory GPX</translation> <translation>Soubory GPX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>Soubory IGC</translation> <translation>Soubory IGC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>Soubory ITN</translation> <translation>Soubory ITN</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>Obrázky JPEG</translation> <translation>Obrázky JPEG</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>Soubory KML</translation> <translation>Soubory KML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>Soubory LOC</translation> <translation>Soubory LOC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>Soubory NMEA</translation> <translation>Soubory NMEA</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>Soubory OV2</translation> <translation>Soubory OV2</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>Soubory OziExploreru</translation> <translation>Soubory OziExploreru</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>Soubory SML</translation> <translation>Soubory SML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>Soubory TCX</translation> <translation>Soubory TCX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>Soubory SLF</translation> <translation>Soubory SLF</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>Soubory ONmove</translation> <translation>Soubory ONmove</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>GPS logy z kamer 70mai</translation> <translation>GPS logy z kamer 70mai</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation>Soubory VKX</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation>Soubory VTK</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>Soubory TwoNavu</translation> <translation>Soubory TwoNavu</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>Soubory GPSDumpu</translation> <translation>Soubory GPSDumpu</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Všechny soubory</translation> <translation>Všechny soubory</translation>
</message> </message>
@ -2392,7 +2382,7 @@
<translation>Rychlost</translation> <translation>Rychlost</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>
@ -2437,12 +2427,12 @@
<translation>Tempo</translation> <translation>Tempo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Understøttede filer</translation> <translation>Understøttede filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV-filer</translation> <translation>CSV-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP-filer</translation> <translation>CUP-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT-filer</translation> <translation>FIT-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON-filer</translation> <translation>GeoJSON-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI-filer</translation> <translation>GPI-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX-filer</translation> <translation>GPX-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC-filer</translation> <translation>IGC-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN-filer</translation> <translation>ITN-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG-billeder</translation> <translation>JPEG-billeder</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML-filer</translation> <translation>KML-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC-filer</translation> <translation>LOC-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA-filer</translation> <translation>NMEA-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove-filer</translation> <translation>ONmove-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2-filer</translation> <translation>OV2-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer-filer</translation> <translation>OziExplorer-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF-filer</translation> <translation>SLF-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML-filer</translation> <translation>SML-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX-filer</translation> <translation>TCX-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>70mai GPS-logfiler</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="254"/>
<source>VKX files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="255"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VTK files</source>
<translation>VTK-filer</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav-filer</translation> <translation>TwoNav-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump-filer</translation> <translation>GPSDump-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Alle filer</translation> <translation>Alle filer</translation>
</message> </message>
@ -778,7 +768,7 @@
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1126"/> <location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Error loading geo URI:</source> <source>Error loading geo URI:</source>
<translation>Fejl ved indlæsning af geo-URI:</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1132"/> <location filename="../src/GUI/gui.cpp" line="1132"/>
@ -2430,17 +2420,17 @@
<translation>Tempo</translation> <translation>Tempo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>knob</translation> <translation>knob</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mil/t</translation> <translation>mil/t</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/t</translation> <translation>km/t</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Unterstützte Dateien</translation> <translation>Unterstützte Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV-Dateien</translation> <translation>CSV-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP-Dateien</translation> <translation>CUP-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT-Dateien</translation> <translation>FIT-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON-Dateien</translation> <translation>GeoJSON-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI-Dateien</translation> <translation>GPI-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX-Dateien</translation> <translation>GPX-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC-Dateien</translation> <translation>IGC-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN-Dateien</translation> <translation>ITN-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG-Bilder</translation> <translation>JPEG-Bilder</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML-Dateien</translation> <translation>KML-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC-Dateien</translation> <translation>LOC-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA-Dateien</translation> <translation>NMEA-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2-Dateien</translation> <translation>OV2-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer-Dateien</translation> <translation>OziExplorer-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML-Dateien</translation> <translation>SML-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX-Dateien</translation> <translation>TCX-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF-Dateien</translation> <translation>SLF-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove-Dateien</translation> <translation>ONmove-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>70mai GPS-Logdateien</translation> <translation>70mai GPS-Logdateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation>VKX-Dateien</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation>VTK-Dateien</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav-Dateien</translation> <translation>TwoNav-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump-Dateien</translation> <translation>GPSDump-Dateien</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Alle Dateien</translation> <translation>Alle Dateien</translation>
</message> </message>
@ -2390,7 +2380,7 @@
<translation>Geschwindigkeit</translation> <translation>Geschwindigkeit</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>
@ -2435,12 +2425,12 @@
<translation>Tempo</translation> <translation>Tempo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Subtenataj dosieroj</translation> <translation>Subtenataj dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV-dosieroj</translation> <translation>CSV-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP-dosieroj</translation> <translation>CUP-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT-dosieroj</translation> <translation>FIT-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON-dosieroj</translation> <translation>GeoJSON-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI-dosieroj</translation> <translation>GPI-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX-dosieroj</translation> <translation>GPX-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC-dosieroj</translation> <translation>IGC-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN-dosieroj</translation> <translation>ITN-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG-bildoj</translation> <translation>JPEG-bildoj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML-dosieroj</translation> <translation>KML-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC-dosieroj</translation> <translation>LOC-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA-dosieroj</translation> <translation>NMEA-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove-dosieroj</translation> <translation>ONmove-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2-dosieroj</translation> <translation>OV2-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer-dosieroj</translation> <translation>OziExplorer-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF-dosieroj</translation> <translation>SLF-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML-dosieroj</translation> <translation>SML-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX-dosieroj</translation> <translation>TCX-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation>VTK dosieroj</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav-dosieroj</translation> <translation>TwoNav-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump-dosieroj</translation> <translation>GPSDump-dosieroj</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Ĉiuj dosieroj</translation> <translation>Ĉiuj dosieroj</translation>
</message> </message>
@ -2430,17 +2420,17 @@
<translation>Ritmo</translation> <translation>Ritmo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Formatos admitidos</translation> <translation>Formatos admitidos</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>Archivos CSV</translation> <translation>Archivos CSV</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>Archivos CUP</translation> <translation>Archivos CUP</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>Archivos FIT</translation> <translation>Archivos FIT</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>Archivos GeoJSON</translation> <translation>Archivos GeoJSON</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>Archivos GPI</translation> <translation>Archivos GPI</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>Archivos GPX</translation> <translation>Archivos GPX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>Archivos IGC</translation> <translation>Archivos IGC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>Archivos ITN</translation> <translation>Archivos ITN</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>Imágenes JPEG</translation> <translation>Imágenes JPEG</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>Archivos KML</translation> <translation>Archivos KML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>Archivos LOC</translation> <translation>Archivos LOC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>Archivos NMEA</translation> <translation>Archivos NMEA</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>Archivos ONmove</translation> <translation>Archivos ONmove</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>Archivos OV2</translation> <translation>Archivos OV2</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>Archivos OziExplorer</translation> <translation>Archivos OziExplorer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>Archivos SLF</translation> <translation>Archivos SLF</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>Archivos SML</translation> <translation>Archivos SML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>Archivos TCX</translation> <translation>Archivos TCX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>Archivos TwoNav</translation> <translation>Archivos TwoNav</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>Archivos GPSDump</translation> <translation>Archivos GPSDump</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Todos los archivos</translation> <translation>Todos los archivos</translation>
</message> </message>
@ -2430,17 +2420,17 @@
<translation>Ritmo</translation> <translation>Ritmo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Tuetut tiedostot</translation> <translation>Tuetut tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV-tiedostot</translation> <translation>CSV-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP-tiedostot</translation> <translation>CUP-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT-tiedostot</translation> <translation>FIT-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON-tiedostot</translation> <translation>GeoJSON-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI-tiedostot</translation> <translation>GPI-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX-tiedostot</translation> <translation>GPX-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC-tiedostot</translation> <translation>IGC-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN-tiedostot</translation> <translation>ITN-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG-kuvat</translation> <translation>JPEG-kuvat</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML-tiedostot</translation> <translation>KML-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC-tiedostot</translation> <translation>LOC-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA-tiedostot</translation> <translation>NMEA-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2-tiedostot</translation> <translation>OV2-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer-tiedostot</translation> <translation>OziExplorer-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML-tiedostot</translation> <translation>SML-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX-tiedostot</translation> <translation>TCX-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF-tiedostot</translation> <translation>SLF-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove-tiedostot</translation> <translation>ONmove-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>70mai GPS -lokitiedostot</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="254"/>
<source>VKX files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="255"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VTK files</source>
<translation>VTK-tiedostot</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav-tiedostot</translation> <translation>TwoNav-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump-tiedostot</translation> <translation>GPSDump-tiedostot</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Kaikki tiedostot</translation> <translation>Kaikki tiedostot</translation>
</message> </message>
@ -2390,7 +2380,7 @@
<translation>Vauhti</translation> <translation>Vauhti</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/t</translation> <translation>km/t</translation>
</message> </message>
@ -2435,12 +2425,12 @@
<translation>Tahti</translation> <translation>Tahti</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mph</translation> <translation>mph</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Formats pris en charge</translation> <translation>Formats pris en charge</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>Données CSV</translation> <translation>Données CSV</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>Données CUP</translation> <translation>Données CUP</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>Données FIT</translation> <translation>Données FIT</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>Données GeoJSON</translation> <translation>Données GeoJSON</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>Données GPI</translation> <translation>Données GPI</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>Données GPX</translation> <translation>Données GPX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>Données IGC</translation> <translation>Données IGC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>Fichiers ITN</translation> <translation>Fichiers ITN</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>Images JPEG</translation> <translation>Images JPEG</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>Données KML</translation> <translation>Données KML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>Données LOC</translation> <translation>Données LOC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>Données NMEA</translation> <translation>Données NMEA</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>Fichiers OV2</translation> <translation>Fichiers OV2</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>Données OziExplorer</translation> <translation>Données OziExplorer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>Données SML</translation> <translation>Données SML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>Données TCX</translation> <translation>Données TCX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>Données SLF</translation> <translation>Données SLF</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>Données ONmove</translation> <translation>Données ONmove</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>Fichiers de journalisation GPS 70mai</translation> <translation>Fichiers de journalisation GPS 70mai</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation>Fichiers VKX</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation>Fichiers VTK</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>Données TwoNav</translation> <translation>Données TwoNav</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>Fichiers GPSDump</translation> <translation>Fichiers GPSDump</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Tous les fichiers</translation> <translation>Tous les fichiers</translation>
</message> </message>
@ -2390,7 +2380,7 @@
<translation>Vitesse</translation> <translation>Vitesse</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>
@ -2435,12 +2425,12 @@
<translation>Allure</translation> <translation>Allure</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>nd</translation> <translation>nd</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Támogatott fájlok</translation> <translation>Támogatott fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV fájlok</translation> <translation>CSV fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP fájlok</translation> <translation>CUP fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT fájlok</translation> <translation>FIT fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON fájlok</translation> <translation>GeoJSON fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI fájlok</translation> <translation>GPI fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX fájlok</translation> <translation>GPX fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC fájlok</translation> <translation>IGC fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN fájlok</translation> <translation>ITN fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG képek</translation> <translation>JPEG képek</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML fájlok</translation> <translation>KML fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC fájlok</translation> <translation>LOC fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA fájlok</translation> <translation>NMEA fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove fájlok</translation> <translation>ONmove fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2 fájlok</translation> <translation>OV2 fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer fájlok</translation> <translation>OziExplorer fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF fájlok</translation> <translation>SLF fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML fájlok</translation> <translation>SML fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX fájlok</translation> <translation>TCX fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>70mai GPS naplófájlok</translation> <translation>70mai GPS naplófájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation>VKX fájlok</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation>VTK fájlok</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav fájlok</translation> <translation>TwoNav fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump fájlok</translation> <translation>GPSDump fájlok</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Minden fájl</translation> <translation>Minden fájl</translation>
</message> </message>
@ -205,7 +195,7 @@
<message> <message>
<location filename="../src/GUI/dirselectwidget.cpp" line="40"/> <location filename="../src/GUI/dirselectwidget.cpp" line="40"/>
<source>Select directory</source> <source>Select directory</source>
<translation>Könyvtár kiválasztása</translation> <translation>Könyvtár választása</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1071,7 +1061,7 @@
<message> <message>
<location filename="../src/GUI/gui.cpp" line="2005"/> <location filename="../src/GUI/gui.cpp" line="2005"/>
<source>Select map directory</source> <source>Select map directory</source>
<translation>Térképmappa kiválasztása</translation> <translation>Térképmappa választása</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="2054"/> <location filename="../src/GUI/gui.cpp" line="2054"/>
@ -2040,7 +2030,7 @@
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="826"/> <location filename="../src/GUI/optionsdialog.cpp" line="826"/>
<source>Select the initial paths of the file open dialogues. Leave the field empty for the system default.</source> <source>Select the initial paths of the file open dialogues. Leave the field empty for the system default.</source>
<translation>Válassza ki a fájlmegnyitó párbeszédpanelek kezdeti elérési útvonalait. A rendszer alapértelmezett beállításaihoz hagyja üresen.</translation> <translation>Alapértelmezetten megnyíló mappa a lenti elemekhez. Üresen hagyva a mezőt, a program által alapértelmezett.</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/optionsdialog.cpp" line="830"/> <location filename="../src/GUI/optionsdialog.cpp" line="830"/>
@ -2428,17 +2418,17 @@
<translation>Iram</translation> <translation>Iram</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>csomó</translation> <translation>csomó</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mph</translation> <translation>mph</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>File supportati</translation> <translation>File supportati</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>File CSV</translation> <translation>File CSV</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>File CUP</translation> <translation>File CUP</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>File FIT</translation> <translation>File FIT</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>File GeoJSON</translation> <translation>File GeoJSON</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>File GPI</translation> <translation>File GPI</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>File GPX</translation> <translation>File GPX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>File IGC</translation> <translation>File IGC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>File ITN</translation> <translation>File ITN</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>File JPEG</translation> <translation>File JPEG</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>File KML</translation> <translation>File KML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>File LOC</translation> <translation>File LOC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>File NMEA</translation> <translation>File NMEA</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>File ONmove</translation> <translation>File ONmove</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>File OV2</translation> <translation>File OV2</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>File OziExplorer</translation> <translation>File OziExplorer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>File SLF</translation> <translation>File SLF</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>File SML</translation> <translation>File SML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>File TCX</translation> <translation>File TCX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>File TwoNav</translation> <translation>File TwoNav</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Tutti i file</translation> <translation>Tutti i file</translation>
</message> </message>
@ -2430,17 +2420,17 @@
<translation>Ritmo</translation> <translation>Ritmo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation> </translation> <translation> </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV </translation> <translation>CSV </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP </translation> <translation>CUP </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT </translation> <translation>FIT </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON </translation> <translation>GeoJSON </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI </translation> <translation>GPI </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX </translation> <translation>GPX </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC </translation> <translation>IGC </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN </translation> <translation>ITN </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG </translation> <translation>JPEG </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML </translation> <translation>KML </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC </translation> <translation>LOC </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA </translation> <translation>NMEA </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove </translation> <translation>ONmove </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2 </translation> <translation>OV2 </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer </translation> <translation>OziExplorer </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF </translation> <translation>SLF </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML </translation> <translation>SML </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX </translation> <translation>TCX </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav </translation> <translation>TwoNav </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump </translation> <translation>GPSDump </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation> </translation> <translation> </translation>
</message> </message>
@ -2428,17 +2418,17 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Støttede filer</translation> <translation>Støttede filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV-filer</translation> <translation>CSV-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP-filer</translation> <translation>CUP-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT-filer</translation> <translation>FIT-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON-filer</translation> <translation>GeoJSON-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI-filer</translation> <translation>GPI-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX-filer</translation> <translation>GPX-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC-filer</translation> <translation>IGC-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN-filer</translation> <translation>ITN-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG-bilder</translation> <translation>JPEG-bilder</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML-filer</translation> <translation>KML-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC-filer</translation> <translation>LOC-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA-filer</translation> <translation>NMEA-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove-filer</translation> <translation>ONmove-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2-filer</translation> <translation>OV2-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer-filer</translation> <translation>OziExplorer-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF-filer</translation> <translation>SLF-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML-filer</translation> <translation>SML-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX-filer</translation> <translation>TCX-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav-filer</translation> <translation>TwoNav-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump-filer</translation> <translation>GPSDump-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Alle filer</translation> <translation>Alle filer</translation>
</message> </message>
@ -2430,17 +2420,17 @@
<translation>Tempo</translation> <translation>Tempo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/t</translation> <translation>km/t</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Obsługiwane pliki</translation> <translation>Obsługiwane pliki</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>Pliki CSV</translation> <translation>Pliki CSV</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>Pliki CUP</translation> <translation>Pliki CUP</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>Pliki FIT</translation> <translation>Pliki FIT</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>Pliki GeoJSON</translation> <translation>Pliki GeoJSON</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>Pliki GPI</translation> <translation>Pliki GPI</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>Pliki GPX</translation> <translation>Pliki GPX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>Pliki IGC</translation> <translation>Pliki IGC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>Pliki ITN</translation> <translation>Pliki ITN</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>Pliki JPEG</translation> <translation>Pliki JPEG</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>Pliki KML</translation> <translation>Pliki KML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>Pliki LOC</translation> <translation>Pliki LOC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>Pliki NMEA</translation> <translation>Pliki NMEA</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>Pliki OV2</translation> <translation>Pliki OV2</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>Pliki OziExplorer</translation> <translation>Pliki OziExplorer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>Pliki SML</translation> <translation>Pliki SML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>Pliki TCX</translation> <translation>Pliki TCX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>Pliki SLF</translation> <translation>Pliki SLF</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Wszystkie pliki</translation> <translation>Wszystkie pliki</translation>
</message> </message>
@ -2392,7 +2382,7 @@
<translation>Prędkość</translation> <translation>Prędkość</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>
@ -2437,12 +2427,12 @@
<translation>Tempo</translation> <translation>Tempo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Formatos suportados</translation> <translation>Formatos suportados</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>Arquivos CSV</translation> <translation>Arquivos CSV</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>Arquivos CUP</translation> <translation>Arquivos CUP</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>Arquivos FIT</translation> <translation>Arquivos FIT</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>Arquivos GeoJSON</translation> <translation>Arquivos GeoJSON</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>Arquivos GPI</translation> <translation>Arquivos GPI</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>Arquivos GPX</translation> <translation>Arquivos GPX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>Arquivos IGC</translation> <translation>Arquivos IGC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>Imagens JPEG</translation> <translation>Imagens JPEG</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>Arquivos KML</translation> <translation>Arquivos KML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>Arquivos LOC</translation> <translation>Arquivos LOC</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>Arquivos NMEA</translation> <translation>Arquivos NMEA</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>Arquivos OziExplorer</translation> <translation>Arquivos OziExplorer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>Arquivos SLF</translation> <translation>Arquivos SLF</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>Arquivos SML</translation> <translation>Arquivos SML</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>Arquivos TCX</translation> <translation>Arquivos TCX</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Todos os arquivos</translation> <translation>Todos os arquivos</translation>
</message> </message>
@ -2430,17 +2420,17 @@
<translation>Ritmo</translation> <translation>Ritmo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Все поддерживаемые файлы</translation> <translation>Все поддерживаемые файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV файлы</translation> <translation>CSV файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP файлы</translation> <translation>CUP файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT файлы</translation> <translation>FIT файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON файлы</translation> <translation>GeoJSON файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI файлы</translation> <translation>GPI файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX файлы</translation> <translation>GPX файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC файлы</translation> <translation>IGC файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>Файлы ITN</translation> <translation>Файлы ITN</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG изображения</translation> <translation>JPEG изображения</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML файлы</translation> <translation>KML файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC файлы</translation> <translation>LOC файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA файлы</translation> <translation>NMEA файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2 файлы</translation> <translation>OV2 файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer файлы</translation> <translation>OziExplorer файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML файлы</translation> <translation>SML файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX файлы</translation> <translation>TCX файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF файлы</translation> <translation>SLF файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove файлы</translation> <translation>ONmove файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>70mai GPS файлы</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="254"/>
<source>VKX files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="255"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VTK files</source>
<translation>VTK файлы</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav файлы</translation> <translation>TwoNav файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump файлы</translation> <translation>GPSDump файлы</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Все файлы</translation> <translation>Все файлы</translation>
</message> </message>
@ -842,7 +832,7 @@
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1126"/> <location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Error loading geo URI:</source> <source>Error loading geo URI:</source>
<translation>Ошибка загрузки гео URI:</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1132"/> <location filename="../src/GUI/gui.cpp" line="1132"/>
@ -2392,7 +2382,7 @@
<translation>Скорость</translation> <translation>Скорость</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>км/ч</translation> <translation>км/ч</translation>
</message> </message>
@ -2437,12 +2427,12 @@
<translation>Темп</translation> <translation>Темп</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>уз</translation> <translation>уз</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>мл/ч</translation> <translation>мл/ч</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Filer som stöds</translation> <translation>Filer som stöds</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV-filer</translation> <translation>CSV-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP-filer</translation> <translation>CUP-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT-filer</translation> <translation>FIT-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON-filer</translation> <translation>GeoJSON-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI-filer</translation> <translation>GPI-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX-filer</translation> <translation>GPX-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC-filer</translation> <translation>IGC-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN-filer</translation> <translation>ITN-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG-bilder</translation> <translation>JPEG-bilder</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML-filer</translation> <translation>KML-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC-filer</translation> <translation>LOC-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA-filer</translation> <translation>NMEA-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2-filer</translation> <translation>OV2-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer-filer</translation> <translation>OziExplorer-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML-filer</translation> <translation>SML-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX-filer</translation> <translation>TCX-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF-filer</translation> <translation>SLF-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove-filer</translation> <translation>ONmove-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>70mai GPS-loggfiler</translation> <translation>70mai GPS-loggfiler</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation>VKX-filer</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation>VTK-filer</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav-filer</translation> <translation>TwoNav-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump-filer</translation> <translation>GPSDump-filer</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Alla filer</translation> <translation>Alla filer</translation>
</message> </message>
@ -2390,7 +2380,7 @@
<translation>Hastighet</translation> <translation>Hastighet</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>
@ -2435,12 +2425,12 @@
<translation>Tempo</translation> <translation>Tempo</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>knop</translation> <translation>knop</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Desteklenen dosyalar</translation> <translation>Desteklenen dosyalar</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV dosyaları</translation> <translation>CSV dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP dosyaları</translation> <translation>CUP dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT dosyaları</translation> <translation>FIT dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON dosyaları</translation> <translation>GeoJSON dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI dosyaları</translation> <translation>GPI dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX dosyaları</translation> <translation>GPX dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC dosyaları</translation> <translation>IGC dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN dosyaları</translation> <translation>ITN dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG görüntüleri</translation> <translation>JPEG görüntüleri</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML dosyaları</translation> <translation>KML dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC dosyaları</translation> <translation>LOC dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA dosyaları</translation> <translation>NMEA dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove dosyaları</translation> <translation>ONmove dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2 dostaları</translation> <translation>OV2 dostaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer dosyaları</translation> <translation>OziExplorer dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF dosyaları</translation> <translation>SLF dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML dosyaları</translation> <translation>SML dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX dosyaları</translation> <translation>TCX dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>70mai GPS kayıt dosyaları</translation> <translation>70mai GPS kayıt dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav dosyaları</translation> <translation>TwoNav dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump dosyaları</translation> <translation>GPSDump dosyaları</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Tüm dosyalar</translation> <translation>Tüm dosyalar</translation>
</message> </message>
@ -2428,17 +2418,17 @@
<translation>Hız</translation> <translation>Hız</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/sa</translation> <translation>mi/sa</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/sa</translation> <translation>km/sa</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation>Всі підтримувані формати</translation> <translation>Всі підтримувані формати</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV файли</translation> <translation>CSV файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP файли</translation> <translation>CUP файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT файли</translation> <translation>FIT файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON файли</translation> <translation>GeoJSON файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI файли</translation> <translation>GPI файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX файли</translation> <translation>GPX файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC файли</translation> <translation>IGC файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN файли</translation> <translation>ITN файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG зображення</translation> <translation>JPEG зображення</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML файли</translation> <translation>KML файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC файли</translation> <translation>LOC файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA файли</translation> <translation>NMEA файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove файли</translation> <translation>ONmove файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2 файли</translation> <translation>OV2 файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer файли</translation> <translation>OziExplorer файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF файли</translation> <translation>SLF файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML файли</translation> <translation>SML файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX файли</translation> <translation>TCX файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation>70mai файли журналу GPS</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation>Файли VKX</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation>Файли VTK</translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav файли</translation> <translation>TwoNav файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump файли</translation> <translation>GPSDump файли</translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation>Всі файли</translation> <translation>Всі файли</translation>
</message> </message>
@ -778,7 +768,7 @@
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1126"/> <location filename="../src/GUI/gui.cpp" line="1126"/>
<source>Error loading geo URI:</source> <source>Error loading geo URI:</source>
<translation>Помилка завантаження geo URI:</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="1132"/> <location filename="../src/GUI/gui.cpp" line="1132"/>
@ -2432,17 +2422,17 @@
<translation>Темп</translation> <translation>Темп</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>вуз</translation> <translation>вуз</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>миль/год</translation> <translation>миль/год</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>км/год</translation> <translation>км/год</translation>
</message> </message>

View File

@ -70,127 +70,117 @@
<context> <context>
<name>Data</name> <name>Data</name>
<message> <message>
<location filename="../src/data/data.cpp" line="234"/> <location filename="../src/data/data.cpp" line="228"/>
<source>Supported files</source> <source>Supported files</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="235"/> <location filename="../src/data/data.cpp" line="229"/>
<source>CSV files</source> <source>CSV files</source>
<translation>CSV </translation> <translation>CSV </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="236"/> <location filename="../src/data/data.cpp" line="230"/>
<source>CUP files</source> <source>CUP files</source>
<translation>CUP </translation> <translation>CUP </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="237"/> <location filename="../src/data/data.cpp" line="231"/>
<source>FIT files</source> <source>FIT files</source>
<translation>FIT </translation> <translation>FIT </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="238"/> <location filename="../src/data/data.cpp" line="232"/>
<source>GeoJSON files</source> <source>GeoJSON files</source>
<translation>GeoJSON </translation> <translation>GeoJSON </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="239"/> <location filename="../src/data/data.cpp" line="233"/>
<source>GPI files</source> <source>GPI files</source>
<translation>GPI </translation> <translation>GPI </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="240"/> <location filename="../src/data/data.cpp" line="234"/>
<source>GPX files</source> <source>GPX files</source>
<translation>GPX </translation> <translation>GPX </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="241"/> <location filename="../src/data/data.cpp" line="235"/>
<source>IGC files</source> <source>IGC files</source>
<translation>IGC </translation> <translation>IGC </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="242"/> <location filename="../src/data/data.cpp" line="236"/>
<source>ITN files</source> <source>ITN files</source>
<translation>ITN </translation> <translation>ITN </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="243"/> <location filename="../src/data/data.cpp" line="237"/>
<source>JPEG images</source> <source>JPEG images</source>
<translation>JPEG </translation> <translation>JPEG </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="244"/> <location filename="../src/data/data.cpp" line="238"/>
<source>KML files</source> <source>KML files</source>
<translation>KML </translation> <translation>KML </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="245"/> <location filename="../src/data/data.cpp" line="239"/>
<source>LOC files</source> <source>LOC files</source>
<translation>LOC </translation> <translation>LOC </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="246"/> <location filename="../src/data/data.cpp" line="240"/>
<source>NMEA files</source> <source>NMEA files</source>
<translation>NMEA </translation> <translation>NMEA </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="247"/> <location filename="../src/data/data.cpp" line="241"/>
<source>ONmove files</source> <source>ONmove files</source>
<translation>ONmove </translation> <translation>ONmove </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="248"/> <location filename="../src/data/data.cpp" line="242"/>
<source>OV2 files</source> <source>OV2 files</source>
<translation>OV2 </translation> <translation>OV2 </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="249"/> <location filename="../src/data/data.cpp" line="243"/>
<source>OziExplorer files</source> <source>OziExplorer files</source>
<translation>OziExplorer </translation> <translation>OziExplorer </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="250"/> <location filename="../src/data/data.cpp" line="244"/>
<source>SLF files</source> <source>SLF files</source>
<translation>SLF </translation> <translation>SLF </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="251"/> <location filename="../src/data/data.cpp" line="245"/>
<source>SML files</source> <source>SML files</source>
<translation>SML </translation> <translation>SML </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="252"/> <location filename="../src/data/data.cpp" line="246"/>
<source>TCX files</source> <source>TCX files</source>
<translation>TCX </translation> <translation>TCX </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="253"/> <location filename="../src/data/data.cpp" line="247"/>
<source>70mai GPS log files</source> <source>70mai GPS log files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="254"/> <location filename="../src/data/data.cpp" line="248"/>
<source>VKX files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="255"/>
<source>VTK files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/data/data.cpp" line="256"/>
<source>TwoNav files</source> <source>TwoNav files</source>
<translation>TwoNav </translation> <translation>TwoNav </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="257"/> <location filename="../src/data/data.cpp" line="249"/>
<source>GPSDump files</source> <source>GPSDump files</source>
<translation>GPSDump </translation> <translation>GPSDump </translation>
</message> </message>
<message> <message>
<location filename="../src/data/data.cpp" line="258"/> <location filename="../src/data/data.cpp" line="250"/>
<source>All files</source> <source>All files</source>
<translation></translation> <translation></translation>
</message> </message>
@ -2428,17 +2418,17 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="146"/> <location filename="../src/GUI/speedgraph.cpp" line="134"/>
<source>kn</source> <source>kn</source>
<translation>kn</translation> <translation>kn</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="149"/> <location filename="../src/GUI/speedgraph.cpp" line="137"/>
<source>mi/h</source> <source>mi/h</source>
<translation>mi/h</translation> <translation>mi/h</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/speedgraph.cpp" line="152"/> <location filename="../src/GUI/speedgraph.cpp" line="140"/>
<source>km/h</source> <source>km/h</source>
<translation>km/h</translation> <translation>km/h</translation>
</message> </message>

View File

@ -15,8 +15,8 @@
<li>Opens GPX, TCX, FIT, KML, IGC, NMEA, SIGMA SLF, Suunto SML, LOC, <li>Opens GPX, TCX, FIT, KML, IGC, NMEA, SIGMA SLF, Suunto SML, LOC,
OziExplorer (PLT, WPT, RTE), GeoJSON, SeeYou CUP, OziExplorer (PLT, WPT, RTE), GeoJSON, SeeYou CUP,
Garmin GPI &amp; CSV, TomTom OV2 &amp; ITN, ONmove OMD/GHP, Garmin GPI &amp; CSV, TomTom OV2 &amp; ITN, ONmove OMD/GHP,
TwoNav (TRK, RTE, WPT), GPSDump WPT, Velocitek VTK, TwoNav (TRK, RTE, WPT), GPSDump WPT, 70mai GPS logs and
Vakaros VKX, 70mai GPS logs and geotagged JPEG files.</li> geotagged JPEG files.</li>
<li>Opens geo URIs (RFC 5870).</li> <li>Opens geo URIs (RFC 5870).</li>
<li>User-definable online maps (OpenStreetMap/Google tiles, WMTS, <li>User-definable online maps (OpenStreetMap/Google tiles, WMTS,
WMS, TMS, QuadTiles).</li> WMS, TMS, QuadTiles).</li>
@ -114,8 +114,6 @@
<mimetype>application/vnd.gpsdump.wpt</mimetype> <mimetype>application/vnd.gpsdump.wpt</mimetype>
<mimetype>application/vnd.gpstuner.gmi</mimetype> <mimetype>application/vnd.gpstuner.gmi</mimetype>
<mimetype>application/vnd.70mai.txt</mimetype> <mimetype>application/vnd.70mai.txt</mimetype>
<mimetype>application/vnd.velocitek.vtk</mimetype>
<mimetype>application/vnd.vakaros.vkx</mimetype>
<mimetype>x-scheme-handler/geo</mimetype> <mimetype>x-scheme-handler/geo</mimetype>
</mimetypes> </mimetypes>
</component> </component>

View File

@ -16,4 +16,4 @@ Icon=gpxsee
Terminal=false Terminal=false
Type=Application Type=Application
Categories=Graphics;Viewer;Education;Geography;Maps;Sports;Qt Categories=Graphics;Viewer;Education;Geography;Maps;Sports;Qt
MimeType=x-scheme-handler/geo;application/gpx+xml;application/vnd.garmin.tcx+xml;application/vnd.ant.fit;application/vnd.google-earth.kml+xml;application/vnd.fai.igc;application/vnd.nmea.nmea;application/vnd.oziexplorer.plt;application/vnd.oziexplorer.rte;application/vnd.oziexplorer.wpt;application/vnd.groundspeak.loc+xml;application/vnd.sigma.slf+xml;application/geo+json;application/vnd.naviter.seeyou.cup;application/vnd.garmin.gpi;application/vnd.suunto.sml+xml;image/jpeg;text/csv;application/vnd.garmin.img;application/vnd.garmin.jnx;application/vnd.garmin.gmap+xml;image/vnd.maptech.kap;application/vnd.oziexplorer.map;application/vnd.mapbox.mbtiles;application/vnd.twonav.rmap;application/vnd.trekbuddy.tba;application/vnd.gpxsee.map+xml;application/x-tar;image/tiff;application/vnd.google-earth.kmz;application/vnd.alpinequest.aqm;application/vnd.cgtk.gemf;application/vnd.rmaps.sqlite;application/vnd.osmdroid.sqlite;application/vnd.mapsforge.map;application/vnd.tomtom.ov2;application/vnd.tomtom.itn;application/vnd.esri.wld;application/vnd.onmove.omd;application/vnd.onmove.ghp;application/vnd.memory-map.qct;application/vnd.twonav.trk;application/vnd.twonav.rte;application/vnd.twonav.wpt;application/vnd.orux.map+xml;application/vnd.iho.s57-data;application/vnd.iho.s57-catalogue;application/vnd.gpsdump.wpt;application/vnd.gpstuner.gmi;application/vnd.70mai.txt;application/vnd.velocitek.vtk;application/vnd.vakaros.vkx MimeType=x-scheme-handler/geo;application/gpx+xml;application/vnd.garmin.tcx+xml;application/vnd.ant.fit;application/vnd.google-earth.kml+xml;application/vnd.fai.igc;application/vnd.nmea.nmea;application/vnd.oziexplorer.plt;application/vnd.oziexplorer.rte;application/vnd.oziexplorer.wpt;application/vnd.groundspeak.loc+xml;application/vnd.sigma.slf+xml;application/geo+json;application/vnd.naviter.seeyou.cup;application/vnd.garmin.gpi;application/vnd.suunto.sml+xml;image/jpeg;text/csv;application/vnd.garmin.img;application/vnd.garmin.jnx;application/vnd.garmin.gmap+xml;image/vnd.maptech.kap;application/vnd.oziexplorer.map;application/vnd.mapbox.mbtiles;application/vnd.twonav.rmap;application/vnd.trekbuddy.tba;application/vnd.gpxsee.map+xml;application/x-tar;image/tiff;application/vnd.google-earth.kmz;application/vnd.alpinequest.aqm;application/vnd.cgtk.gemf;application/vnd.rmaps.sqlite;application/vnd.osmdroid.sqlite;application/vnd.mapsforge.map;application/vnd.tomtom.ov2;application/vnd.tomtom.itn;application/vnd.esri.wld;application/vnd.onmove.omd;application/vnd.onmove.ghp;application/vnd.memory-map.qct;application/vnd.twonav.trk;application/vnd.twonav.rte;application/vnd.twonav.wpt;application/vnd.orux.map+xml;application/vnd.iho.s57-data;application/vnd.iho.s57-catalogue;application/vnd.gpsdump.wpt;application/vnd.gpstuner.gmi;application/vnd.70mai.txt

View File

@ -198,23 +198,6 @@
<glob pattern="*.txt"/> <glob pattern="*.txt"/>
</mime-type> </mime-type>
<mime-type type="application/vnd.velocitek.vtk">
<comment>Velocitek VTK File</comment>
<sub-class-of type="application/octet-stream"/>
<generic-icon name="application/octet-stream"/>
<glob pattern="*.vtk"/>
</mime-type>
<mime-type type="application/vnd.vakaros.vkx">
<comment>Vakaros VKX File</comment>
<sub-class-of type="application/octet-stream"/>
<generic-icon name="application/octet-stream"/>
<magic>
<match type="byte" offset="0" value="0xFF"/>
</magic>
<glob pattern="*.vkx"/>
</mime-type>
<!-- Maps --> <!-- Maps -->
<mime-type type="application/vnd.garmin.img"> <mime-type type="application/vnd.garmin.img">

View File

@ -750,38 +750,6 @@
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Viewer</string> <string>Viewer</string>
</dict> </dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>vtk</string>
</array>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/vnd.velocitek.vtk</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>icons/vtk.icns</string>
<key>CFBundleTypeName</key>
<string>Velocitek VTK File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>vkx</string>
</array>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/vnd.vakaros.vkx</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>icons/vkx.icns</string>
<key>CFBundleTypeName</key>
<string>Vakaros VKX File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array> </array>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
@ -1729,8 +1697,6 @@
<string>https://iho.int/uploads/user/pubs/standards/s-57/31Main.pdf</string> <string>https://iho.int/uploads/user/pubs/standards/s-57/31Main.pdf</string>
<key>UTTypeDescription</key> <key>UTTypeDescription</key>
<string>IHO S-57 Electronic Navigation Chart</string> <string>IHO S-57 Electronic Navigation Chart</string>
<key>UTTypeIconFile</key>
<string>icons/000.icns</string>
<key>UTTypeConformsTo</key> <key>UTTypeConformsTo</key>
<array> <array>
<string>public.data</string> <string>public.data</string>
@ -1752,8 +1718,6 @@
<string>https://iho.int/uploads/user/pubs/standards/s-57/20ApB1.pdf</string> <string>https://iho.int/uploads/user/pubs/standards/s-57/20ApB1.pdf</string>
<key>UTTypeDescription</key> <key>UTTypeDescription</key>
<string>IHO S-57 Electronic Navigation Catalogue</string> <string>IHO S-57 Electronic Navigation Catalogue</string>
<key>UTTypeIconFile</key>
<string>icons/031.icns</string>
<key>UTTypeConformsTo</key> <key>UTTypeConformsTo</key>
<array> <array>
<string>public.data</string> <string>public.data</string>
@ -1789,52 +1753,6 @@
<string>application/vnd.70mai.txt</string> <string>application/vnd.70mai.txt</string>
</dict> </dict>
</dict> </dict>
<dict>
<key>UTTypeIdentifier</key>
<string>com.velocitek.vtk</string>
<key>UTTypeReferenceURL</key>
<string>https://github.com/velocitek/vtk_protocol</string>
<key>UTTypeDescription</key>
<string>Velocitek VTK File</string>
<key>UTTypeIconFile</key>
<string>icons/vtk.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>vtk</string>
</array>
<key>public.mime-type</key>
<string>application/vnd.velocitek.vtk</string>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>com.vakaros.vkx</string>
<key>UTTypeReferenceURL</key>
<string>https://github.com/vakaros/vkx</string>
<key>UTTypeDescription</key>
<string>Vakaros VKX File</string>
<key>UTTypeIconFile</key>
<string>icons/vkx.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>vkx</string>
</array>
<key>public.mime-type</key>
<string>application/vnd.vakaros.vkx</string>
</dict>
</dict>
</array> </array>
<key>UTExportedTypeDeclarations</key> <key>UTExportedTypeDeclarations</key>

View File

@ -49,7 +49,7 @@ Unicode true
; The name of the installer ; The name of the installer
Name "GPXSee" Name "GPXSee"
; Program version ; Program version
!define VERSION "13.39" !define VERSION "13.37"
; The file to write ; The file to write
OutFile "GPXSee-${VERSION}_x64.exe" OutFile "GPXSee-${VERSION}_x64.exe"
@ -204,15 +204,13 @@ Section "GPXSee" SEC_APP
!insertmacro FILE_ASSOCIATION_ADD "gemf" "GEMF Map File" 26 !insertmacro FILE_ASSOCIATION_ADD "gemf" "GEMF Map File" 26
!insertmacro FILE_ASSOCIATION_ADD "000" "IHO S-57 Electronic Navigation Chart" 27 !insertmacro FILE_ASSOCIATION_ADD "000" "IHO S-57 Electronic Navigation Chart" 27
!insertmacro FILE_ASSOCIATION_ADD "031" "IHO S-57 Electronic Navigation Catalogue" 28 !insertmacro FILE_ASSOCIATION_ADD "031" "IHO S-57 Electronic Navigation Catalogue" 28
!insertmacro FILE_ASSOCIATION_ADD "vtk" "Velocitek VTK File" 29 !insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 29
!insertmacro FILE_ASSOCIATION_ADD "vkx" "Vakaros VKX File" 30 !insertmacro FILE_ASSOCIATION_ADD "kmz" "KML geographic compressed data" 29
!insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 31 !insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 30
!insertmacro FILE_ASSOCIATION_ADD "kmz" "KML geographic compressed data" 31 !insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 31
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 32 !insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 Data" 32
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 33 !insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track File" 33
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 Data" 34 !insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 34
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track File" 35
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 36
!insertmacro URI_ASSOCIATION_ADD "geo" !insertmacro URI_ASSOCIATION_ADD "geo"
@ -268,8 +266,6 @@ Section "GPXSee" SEC_APP
WriteRegStr HKCR ".000\OpenWithList" "GPXSee.exe" "" WriteRegStr HKCR ".000\OpenWithList" "GPXSee.exe" ""
WriteRegStr HKCR ".031\OpenWithList" "GPXSee.exe" "" WriteRegStr HKCR ".031\OpenWithList" "GPXSee.exe" ""
WriteRegStr HKCR ".txt\OpenWithList" "GPXSee.exe" "" WriteRegStr HKCR ".txt\OpenWithList" "GPXSee.exe" ""
WriteRegStr HKCR ".vtk\OpenWithList" "GPXSee.exe" ""
WriteRegStr HKCR ".vkx\OpenWithList" "GPXSee.exe" ""
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)' System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
@ -444,8 +440,6 @@ Section "Uninstall"
!insertmacro FILE_ASSOCIATION_REMOVE "gemf" !insertmacro FILE_ASSOCIATION_REMOVE "gemf"
!insertmacro FILE_ASSOCIATION_REMOVE "000" !insertmacro FILE_ASSOCIATION_REMOVE "000"
!insertmacro FILE_ASSOCIATION_REMOVE "031" !insertmacro FILE_ASSOCIATION_REMOVE "031"
!insertmacro FILE_ASSOCIATION_REMOVE "vtk"
!insertmacro FILE_ASSOCIATION_REMOVE "vkx"
!insertmacro URI_ASSOCIATION_REMOVE "geo" !insertmacro URI_ASSOCIATION_REMOVE "geo"
@ -500,8 +494,6 @@ Section "Uninstall"
DeleteRegValue HKCR ".000\OpenWithList" "GPXSee.exe" DeleteRegValue HKCR ".000\OpenWithList" "GPXSee.exe"
DeleteRegValue HKCR ".031\OpenWithList" "GPXSee.exe" DeleteRegValue HKCR ".031\OpenWithList" "GPXSee.exe"
DeleteRegValue HKCR ".txt\OpenWithList" "GPXSee.exe" DeleteRegValue HKCR ".txt\OpenWithList" "GPXSee.exe"
DeleteRegValue HKCR ".vtk\OpenWithList" "GPXSee.exe"
DeleteRegValue HKCR ".vkx\OpenWithList" "GPXSee.exe"
DeleteRegKey HKCR "Applications\GPXSee.exe" DeleteRegKey HKCR "Applications\GPXSee.exe"
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)' System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'

View File

@ -64,7 +64,6 @@ GraphItem *SpeedGraph::loadGraph(const Graph &graph, const Track &track,
if (primary) { if (primary) {
_avg.append(QPointF(track.distance(), gi->avg())); _avg.append(QPointF(track.distance(), gi->avg()));
_mavg.append(QPointF(track.distance(), gi->mavg())); _mavg.append(QPointF(track.distance(), gi->mavg()));
_max.append(QPointF(track.distance(), gi->max()));
} }
return gi; return gi;
@ -118,16 +117,6 @@ qreal SpeedGraph::avg() const
return (sum / w); return (sum / w);
} }
qreal SpeedGraph::max() const
{
qreal mv = 0;
for (int i = 0; i < _max.size(); i++)
mv = qMax(mv, _max.at(i).y());
return mv;
}
void SpeedGraph::clear() void SpeedGraph::clear()
{ {
qDeleteAll(_tracks); qDeleteAll(_tracks);
@ -135,7 +124,6 @@ void SpeedGraph::clear()
_avg.clear(); _avg.clear();
_mavg.clear(); _mavg.clear();
_max.clear();
GraphTab::clear(); GraphTab::clear();
} }

View File

@ -26,13 +26,12 @@ private:
GraphItem *loadGraph(const Graph &graph, const Track &track, GraphItem *loadGraph(const Graph &graph, const Track &track,
const QColor &color, bool primary); const QColor &color, bool primary);
qreal avg() const; qreal avg() const;
qreal max() const; qreal max() const {return bounds().bottom();}
void setYUnits(); void setYUnits();
void setInfo(); void setInfo();
QVector<QPointF> _avg; QVector<QPointF> _avg;
QVector<QPointF> _mavg; QVector<QPointF> _mavg;
QVector<QPointF> _max;
Units _units; Units _units;
TimeType _timeType; TimeType _timeType;

View File

@ -24,8 +24,6 @@
#include "twonavparser.h" #include "twonavparser.h"
#include "gpsdumpparser.h" #include "gpsdumpparser.h"
#include "txtparser.h" #include "txtparser.h"
#include "vtkparser.h"
#include "vkxparser.h"
#include "data.h" #include "data.h"
@ -53,8 +51,6 @@ static GHPParser ghp;
static TwoNavParser twonav; static TwoNavParser twonav;
static GPSDumpParser gpsdump; static GPSDumpParser gpsdump;
static TXTParser txt; static TXTParser txt;
static VTKParser vtk;
static VKXParser vkx;
static QMultiMap<QString, Parser*> parsers() static QMultiMap<QString, Parser*> parsers()
{ {
@ -89,8 +85,6 @@ static QMultiMap<QString, Parser*> parsers()
map.insert("wpt", &twonav); map.insert("wpt", &twonav);
map.insert("wpt", &gpsdump); map.insert("wpt", &gpsdump);
map.insert("txt", &txt); map.insert("txt", &txt);
map.insert("vtk", &vtk);
map.insert("vkx", &vkx);
return map; return map;
} }
@ -251,8 +245,6 @@ QString Data::formats()
+ qApp->translate("Data", "SML files") + " (*.sml);;" + qApp->translate("Data", "SML files") + " (*.sml);;"
+ qApp->translate("Data", "TCX files") + " (*.tcx);;" + qApp->translate("Data", "TCX files") + " (*.tcx);;"
+ qApp->translate("Data", "70mai GPS log files") + " (*.txt);;" + qApp->translate("Data", "70mai GPS log files") + " (*.txt);;"
+ qApp->translate("Data", "VKX files") + " (*.vkx);;"
+ qApp->translate("Data", "VTK files") + " (*.vtk);;"
+ qApp->translate("Data", "TwoNav files") + " (*.rte *.trk *.wpt);;" + qApp->translate("Data", "TwoNav files") + " (*.rte *.trk *.wpt);;"
+ qApp->translate("Data", "GPSDump files") + " (*.wpt);;" + qApp->translate("Data", "GPSDump files") + " (*.wpt);;"
+ qApp->translate("Data", "All files") + " (*)"; + qApp->translate("Data", "All files") + " (*)";

View File

@ -467,7 +467,8 @@ bool FITParser::parseHeader(CTX &ctx)
} }
bool FITParser::parse(QFile *file, QList<TrackData> &tracks, bool FITParser::parse(QFile *file, QList<TrackData> &tracks,
QList<RouteData> &routes, QList<Area> &polygons, QVector<Waypoint> &waypoints) QList<RouteData> &routes,
QList<Area> &polygons, QVector<Waypoint> &waypoints)
{ {
Q_UNUSED(routes); Q_UNUSED(routes);
Q_UNUSED(polygons); Q_UNUSED(polygons);

View File

@ -4,6 +4,7 @@
#include <QXmlStreamReader> #include <QXmlStreamReader>
#include "parser.h" #include "parser.h"
class TCXParser : public Parser class TCXParser : public Parser
{ {
public: public:

View File

@ -1,151 +0,0 @@
#include "vkxparser.h"
static bool readTrackPoint(QDataStream &stream, SegmentData &segment)
{
quint64 time;
qint32 lat, lon;
quint32 unused;
float speed, alt;
stream >> time >> lat >> lon;
if (stream.status() != QDataStream::Ok)
return false;
if (stream.readRawData((char*)&speed, 4) != 4)
return false;
stream >> unused;
if (stream.readRawData((char*)&alt, 4) != 4)
return false;
stream >> unused >> unused >> unused >> unused;
if (stream.status() != QDataStream::Ok)
return false;
Trackpoint t(Coordinates(lon / 1e7, lat / 1e7));
if (!t.coordinates().isValid())
return false;
t.setTimestamp(QDateTime::fromMSecsSinceEpoch(time));
t.setSpeed(speed);
t.setElevation(alt);
segment.append(t);
return true;
}
bool VKXParser::skip(QDataStream &stream, quint8 key, int len)
{
if (stream.skipRawData(len) != len) {
_errorString = "Invalid 0x" + QString::number(key, 16) + " row";
return false;
}
return true;
}
bool VKXParser::parse(QFile *file, QList<TrackData> &tracks,
QList<RouteData> &routes, QList<Area> &polygons, QVector<Waypoint> &waypoints)
{
Q_UNUSED(routes);
Q_UNUSED(polygons);
Q_UNUSED(waypoints);
quint8 key;
quint64 hdr;
SegmentData segment;
QDataStream stream(file);
stream.setByteOrder(QDataStream::LittleEndian);
stream >> hdr;
if ((hdr & 0xFF) != 0xFF) {
_errorString = "Not a Vakaros VKX file";
return false;
}
while (stream.status() == QDataStream::Ok) {
stream >> key;
if (stream.status() != QDataStream::Ok)
break;
switch (key) {
case 0x01:
if (!skip(stream, key, 32))
return false;
break;
case 0x02:
if (!readTrackPoint(stream, segment)) {
_errorString = "Invalid 0x2 row";
return false;
}
break;
case 0x03:
if (!skip(stream, key, 20))
return false;
break;
case 0x04:
if (!skip(stream, key, 13))
return false;
break;
case 0x05:
if (!skip(stream, key, 17))
return false;
break;
case 0x06:
if (!skip(stream, key, 18))
return false;
break;
case 0x07:
if (!skip(stream, key, 12))
return false;
break;
case 0x08:
if (!skip(stream, key, 13))
return false;
break;
case 0x0A:
case 0x0B:
if (!skip(stream, key, 16))
return false;
break;
case 0x0C:
if (!skip(stream, key, 12))
return false;
break;
case 0x0E:
case 0x0F:
if (!skip(stream, key, 16))
return false;
break;
case 0x10:
if (!skip(stream, key, 12))
return false;
break;
case 0x20:
if (!skip(stream, key, 13))
return false;
break;
case 0x21:
if (!skip(stream, key, 52))
return false;
break;
case 0xFE:
if (!skip(stream, key, 2))
return false;
break;
case 0xFF:
if (!skip(stream, key, 7))
return false;
break;
default:
_errorString = "Unknown row key: 0x" + QString::number(key, 16);
return false;
}
}
if (stream.status() != QDataStream::ReadPastEnd) {
_errorString = "Unexpected EOF";
return false;
}
tracks.append(segment);
return true;
}

View File

@ -1,27 +0,0 @@
#ifndef VKXPARSER_H
#define VKXPARSER_H
#include "parser.h"
class QDataStream;
class VKXParser : public Parser
{
public:
VKXParser()
{
static_assert(sizeof(float) == 4, "Invalid float size");
}
bool parse(QFile *file, QList<TrackData> &tracks, QList<RouteData> &routes,
QList<Area> &polygons, QVector<Waypoint> &waypoints);
QString errorString() const {return _errorString;}
int errorLine() const {return 0;}
private:
bool skip(QDataStream &stream, quint8 key, int len);
QString _errorString;
};
#endif // VKXPARSER_H

View File

@ -1,217 +0,0 @@
#include <QtEndian>
#include <QTimeZone>
#include "vtkparser.h"
#define TYPE(tag) (tag & 0x07)
#define FIELD(tag) (tag >> 3)
#define VARINT 0
#define I64 1
#define LEN 2
#define I32 5
struct CTX
{
CTX(const QByteArray &ba)
: bp(ba.constData()), be(bp + ba.size()), tag(0) {}
const char *bp;
const char *be;
quint32 tag;
};
static inline qint32 zigzag32decode(quint32 value)
{
return static_cast<qint32>((value >> 1u) ^ static_cast<quint32>(
-static_cast<qint32>(value & 1u)));
}
template<typename T>
static bool varint(CTX &ctx, T &val)
{
unsigned int shift = 0;
val = 0;
while (ctx.bp < ctx.be) {
val |= ((quint8)*ctx.bp & 0x7F) << shift;
shift += 7;
if (!((quint8)*ctx.bp++ & 0x80))
return true;
}
return false;
}
static bool length(CTX &ctx, qint32 &val)
{
if (TYPE(ctx.tag) != LEN)
return false;
if (!varint(ctx, val))
return false;
return (val >= 0);
}
static bool skip(CTX &ctx)
{
qint32 len = 0;
switch (TYPE(ctx.tag)) {
case VARINT:
return varint(ctx, len);
case I64:
len = 8;
break;
case LEN:
if (!varint(ctx, len) || len < 0)
return false;
break;
case I32:
len = 4;
break;
default:
return false;
}
if (ctx.bp + len > ctx.be)
return false;
ctx.bp += len;
return true;
}
static bool trackpoint(CTX &ctx, Trackpoint &t)
{
qint32 len, lon = 0xFFFFFFF, lat = 0xFFFFFFF;
quint32 val, seconds = 0, centiSeconds = 0, speed = 0;
if (!length(ctx, len))
return false;
const char *ee = ctx.bp + len;
if (ee > ctx.be)
return false;
while (ctx.bp < ee) {
if (!varint(ctx, ctx.tag))
return false;
switch (FIELD(ctx.tag)) {
case 1:
if (TYPE(ctx.tag) != VARINT)
return false;
if (!varint(ctx, seconds))
return false;
break;
case 2:
if (TYPE(ctx.tag) != VARINT)
return false;
if (!varint(ctx, centiSeconds))
return false;
break;
case 3:
if (TYPE(ctx.tag) != VARINT)
return false;
if (!varint(ctx, val))
return false;
lat = zigzag32decode(val);
break;
case 4:
if (TYPE(ctx.tag) != VARINT)
return false;
if (!varint(ctx, val))
return false;
lon = zigzag32decode(val);
break;
case 5:
if (TYPE(ctx.tag) != VARINT)
return false;
if (!varint(ctx, speed))
return false;
break;
default:
if (!skip(ctx))
return false;
}
}
t.setCoordinates(Coordinates(lon / 1e7, lat / 1e7));
t.setTimestamp(QDateTime::fromMSecsSinceEpoch(
((qint64)seconds * 1000) + ((qint64)centiSeconds * 10),
QTimeZone::utc()));
t.setSpeed(speed * 0.051444);
return (ctx.bp == ee);
}
static bool record(CTX &ctx, Trackpoint &t)
{
while (ctx.bp < ctx.be) {
if (!varint(ctx, ctx.tag))
return false;
switch (FIELD(ctx.tag)) {
case 1:
if (!trackpoint(ctx, t))
return false;
break;
default:
if (!skip(ctx))
return false;
}
}
return (ctx.bp == ctx.be);
}
bool VTKParser::parse(QFile *file, QList<TrackData> &tracks,
QList<RouteData> &routes, QList<Area> &polygons, QVector<Waypoint> &waypoints)
{
Q_UNUSED(routes);
Q_UNUSED(polygons);
Q_UNUSED(waypoints);
qint64 len;
quint16 recordLen;
QByteArray ba;
SegmentData segment;
Trackpoint t;
_errorString = "";
while (true) {
if ((len = file->read((char*)&recordLen, sizeof(recordLen)))
!= sizeof(recordLen)) {
if (!len)
break;
else {
_errorString = "Error reading VTK record size";
return false;
}
}
recordLen = qFromLittleEndian(recordLen);
ba.resize(recordLen);
if (file->read(ba.data(), ba.size()) != ba.size()) {
_errorString = "Error reading VTK record";
return false;
}
CTX ctx(ba);
t.setCoordinates(Coordinates());
if (!record(ctx, t)) {
_errorString = "Invalid VTK record";
return false;
} else {
if (t.coordinates().isValid())
segment.append(t);
else if (!t.coordinates().isNull()) {
_errorString = "Invalid VTK record coordinates";
return false;
}
}
}
tracks.append(segment);
return true;
}

View File

@ -1,18 +0,0 @@
#ifndef VTKPARSER_H
#define VTKPARSER_H
#include "parser.h"
class VTKParser : public Parser
{
public:
bool parse(QFile *file, QList<TrackData> &tracks, QList<RouteData> &routes,
QList<Area> &polygons, QVector<Waypoint> &waypoints);
QString errorString() const {return _errorString;}
int errorLine() const {return 0;}
private:
QString _errorString;
};
#endif // VTKPARSER_H

View File

@ -1,4 +1,3 @@
#include <QtEndian>
#include <QFile> #include <QFile>
#include <QRegularExpression> #include <QRegularExpression>
#include "common/util.h" #include "common/util.h"
@ -6,6 +5,13 @@
using namespace ENC; using namespace ENC;
#define UINT16(x) \
(((quint16)*(const uchar*)(x)) \
| ((quint16)(*((const uchar*)(x) + 1)) << 8))
#define INT32(x) ((qint32)UINT32(x))
#define INT16(x) ((qint16)UINT16(x))
struct DR { struct DR {
char RecordLength[5]; char RecordLength[5];
char InterchangeLevel; char InterchangeLevel;
@ -23,18 +29,18 @@ struct DR {
}; };
const QVariant *ISO8211::Field::data(quint32 name, int idx) const const QVariant *ISO8211::Field::data(const QByteArray &name, int idx) const
{ {
const QVector<QVariant> &v = _data.at(idx); const QVector<QVariant> &v = _data.at(idx);
for (int i = 0; i < _subFields->size(); i++) for (int i = 0; i < _subFields.size(); i++)
if (_subFields->at(i) == name) if (_subFields.at(i) == name)
return &v.at(i); return &v.at(i);
return 0; return 0;
} }
bool ISO8211::Field::subfield(quint32 name, int *val, int idx) const bool ISO8211::Field::subfield(const char *name, int *val, int idx) const
{ {
bool ok; bool ok;
@ -46,7 +52,7 @@ bool ISO8211::Field::subfield(quint32 name, int *val, int idx) const
return ok; return ok;
} }
bool ISO8211::Field::subfield(quint32 name, uint *val, int idx) const bool ISO8211::Field::subfield(const char *name, uint *val, int idx) const
{ {
bool ok; bool ok;
@ -58,7 +64,7 @@ bool ISO8211::Field::subfield(quint32 name, uint *val, int idx) const
return ok; return ok;
} }
bool ISO8211::Field::subfield(quint32 name, QByteArray *val, int idx) const bool ISO8211::Field::subfield(const char *name, QByteArray *val, int idx) const
{ {
const QVariant *v = data(name, idx); const QVariant *v = data(name, idx);
if (!v) if (!v)
@ -95,7 +101,6 @@ int ISO8211::readDR(QVector<FieldDefinition> &fields)
DR ddr; DR ddr;
QByteArray fieldLen, fieldPos; QByteArray fieldLen, fieldPos;
int len, lenSize, posSize, tagSize, offset; int len, lenSize, posSize, tagSize, offset;
char tag[4];
static_assert(sizeof(ddr) == 24, "Invalid DR alignment"); static_assert(sizeof(ddr) == 24, "Invalid DR alignment");
if (_file.read((char*)&ddr, sizeof(ddr)) != sizeof(ddr)) if (_file.read((char*)&ddr, sizeof(ddr)) != sizeof(ddr))
@ -110,19 +115,20 @@ int ISO8211::readDR(QVector<FieldDefinition> &fields)
if (len < 0 || offset < 0 || lenSize < 0 || posSize < 0 || tagSize < 0) if (len < 0 || offset < 0 || lenSize < 0 || posSize < 0 || tagSize < 0)
return -1; return -1;
fields.resize((offset - 1 - sizeof(ddr)) / (lenSize + posSize + tagSize)); fields.resize((offset - 1 - sizeof(DR)) / (lenSize + posSize + tagSize));
fieldLen.resize(lenSize); fieldLen.resize(lenSize);
fieldPos.resize(posSize); fieldPos.resize(posSize);
for (int i = 0; i < fields.size(); i++) { for (int i = 0; i < fields.size(); i++) {
FieldDefinition &r = fields[i]; FieldDefinition &r = fields[i];
if (_file.read(tag, sizeof(tag)) != tagSize r.tag.resize(tagSize);
if (_file.read(r.tag.data(), tagSize) != tagSize
|| _file.read(fieldLen.data(), lenSize) != lenSize || _file.read(fieldLen.data(), lenSize) != lenSize
|| _file.read(fieldPos.data(), posSize) != posSize) || _file.read(fieldPos.data(), posSize) != posSize)
return -1; return -1;
r.tag = qFromLittleEndian<quint32>(tag);
r.pos = offset + Util::str2int(fieldPos.constData(), posSize); r.pos = offset + Util::str2int(fieldPos.constData(), posSize);
r.size = Util::str2int(fieldLen.constData(), lenSize); r.size = Util::str2int(fieldLen.constData(), lenSize);
@ -135,12 +141,11 @@ int ISO8211::readDR(QVector<FieldDefinition> &fields)
bool ISO8211::readDDA(const FieldDefinition &def, SubFields &fields) bool ISO8211::readDDA(const FieldDefinition &def, SubFields &fields)
{ {
static const QRegularExpression re( static const QRegularExpression re("(\\d*)(\\w+)\\(*(\\d*)\\)*");
"([0-9]*)(A|I|R|B|b11|b12|b14|b21|b22|b24)\\(*([0-9]*)\\)*");
QByteArray ba(def.size, Qt::Initialization::Uninitialized); QByteArray ba(def.size, Qt::Initialization::Uninitialized);
bool repeat = false; bool repeat = false;
QVector<SubFieldDefinition> defs; QVector<SubFieldDefinition> defs;
QVector<quint32> defTags; QVector<QByteArray> defTags;
if (!(_file.seek(def.pos) && _file.read(ba.data(), ba.size()) == ba.size())) if (!(_file.seek(def.pos) && _file.read(ba.data(), ba.size()) == ba.size()))
return false; return false;
@ -150,9 +155,9 @@ bool ISO8211::readDDA(const FieldDefinition &def, SubFields &fields)
repeat = true; repeat = true;
list[1].remove(0, 1); list[1].remove(0, 1);
} }
QList<QByteArray> tags(list.at(1).split('!'));
if (list.size() > 2) { if (list.size() > 2) {
QList<QByteArray> tags(list.at(1).split('!'));
QRegularExpressionMatchIterator it = re.globalMatch(list.at(2)); QRegularExpressionMatchIterator it = re.globalMatch(list.at(2));
int tag = 0; int tag = 0;
@ -182,17 +187,11 @@ bool ISO8211::readDDA(const FieldDefinition &def, SubFields &fields)
SubFieldDefinition sfd(fieldType(typeStr, size)); SubFieldDefinition sfd(fieldType(typeStr, size));
if (sfd.type() == Unknown) if (sfd.type() == Unknown)
return false; return false;
if (tag >= tags.size())
return false;
defs[tag] = sfd; defs[tag] = sfd;
defTags[tag] = (tags.at(tag).length() == 4) defTags[tag] = tags.at(tag);
? qFromLittleEndian<quint32>(tags.at(tag).constData()) : 0;
tag++; tag++;
} }
} }
if (tag != tags.size())
return false;
} }
fields = SubFields(defTags, defs, repeat); fields = SubFields(defTags, defs, repeat);
@ -218,10 +217,8 @@ bool ISO8211::readDDR()
for (int i = 0; i < fields.size(); i++) { for (int i = 0; i < fields.size(); i++) {
SubFields def; SubFields def;
if (!readDDA(fields.at(i), def)) { if (!readDDA(fields.at(i), def)) {
QByteArray tag(sizeof(quint32), Qt::Initialization::Uninitialized);
qToLittleEndian<quint32>(fields.at(i).tag, tag.data());
_errorString = QString("Error reading %1 DDA field") _errorString = QString("Error reading %1 DDA field")
.arg(QString(tag)); .arg(QString(fields.at(i).tag));
return false; return false;
} }
_map.insert(fields.at(i).tag, def); _map.insert(fields.at(i).tag, def);
@ -273,11 +270,11 @@ bool ISO8211::readUDA(quint64 pos, const FieldDefinition &def,
dp++; dp++;
break; break;
case S16: case S16:
row[i] = QVariant(qFromLittleEndian<qint16>(dp)); row[i] = QVariant(INT16(dp));
dp += 2; dp += 2;
break; break;
case S32: case S32:
row[i] = QVariant(qFromLittleEndian<qint32>(dp)); row[i] = QVariant(INT32(dp));
dp += 4; dp += 4;
break; break;
case U8: case U8:
@ -285,11 +282,11 @@ bool ISO8211::readUDA(quint64 pos, const FieldDefinition &def,
dp++; dp++;
break; break;
case U16: case U16:
row[i] = QVariant(qFromLittleEndian<quint16>(dp)); row[i] = QVariant(UINT16(dp));
dp += 2; dp += 2;
break; break;
case U32: case U32:
row[i] = QVariant(qFromLittleEndian<quint32>(dp)); row[i] = QVariant(UINT32(dp));
dp += 4; dp += 4;
break; break;
default: default:
@ -325,16 +322,13 @@ bool ISO8211::readRecord(Record &record)
FieldsMap::const_iterator it(_map.find(def.tag)); FieldsMap::const_iterator it(_map.find(def.tag));
if (it == _map.constEnd()) { if (it == _map.constEnd()) {
QByteArray tag(sizeof(quint32), Qt::Initialization::Uninitialized); _errorString = QString("%1: unknown record").arg(QString(def.tag));
qToLittleEndian<quint32>(def.tag, tag.data());
_errorString = QString("%1: unknown record").arg(QString(tag));
return false; return false;
} }
if (!readUDA(pos, def, it->defs(), it->repeat(), data)) { if (!readUDA(pos, def, it->defs(), it->repeat(), data)) {
QByteArray tag(sizeof(quint32), Qt::Initialization::Uninitialized); _errorString = QString("Error reading %1 record")
qToLittleEndian<quint32>(def.tag, tag.data()); .arg(QString(def.tag));
_errorString = QString("Error reading %1 record").arg(QString(tag));
return false; return false;
} }
@ -344,7 +338,8 @@ bool ISO8211::readRecord(Record &record)
return true; return true;
} }
const ISO8211::Field *ISO8211::field(const Record &record, quint32 name)
const ISO8211::Field *ISO8211::field(const Record &record, const QByteArray &name)
{ {
for (int i = 0; i < record.size(); i++) for (int i = 0; i < record.size(); i++)
if (record.at(i).tag() == name) if (record.at(i).tag() == name)

View File

@ -4,6 +4,13 @@
#include <QFile> #include <QFile>
#include <QByteArray> #include <QByteArray>
#include <QVariant> #include <QVariant>
#include <QDebug>
#define UINT32(x) \
(((quint32)*(const uchar*)(x)) \
| ((quint32)(*((const uchar*)(x) + 1)) << 8) \
| ((quint32)(*((const uchar*)(x) + 2)) << 16) \
| ((quint32)(*((const uchar*)(x) + 3)) << 24))
namespace ENC { namespace ENC {
@ -15,22 +22,23 @@ public:
class Field class Field
{ {
public: public:
Field() : _subFields(0) {} Field() {}
Field(quint32 tag, const QVector<quint32> &subFields, const Data &data) Field(const QByteArray &tag, const QVector<QByteArray> &subFields,
: _tag(tag), _subFields(&subFields), _data(data) {} const Data &data) : _tag(tag), _subFields(subFields), _data(data) {}
quint32 tag() const {return _tag;} const QByteArray &tag() const {return _tag;}
const QVector<QByteArray> &subFields() const {return _subFields;}
const Data &data() const {return _data;} const Data &data() const {return _data;}
bool subfield(quint32 name, int *val, int idx = 0) const; bool subfield(const char *name, int *val, int idx = 0) const;
bool subfield(quint32 name, uint *val, int idx = 0) const; bool subfield(const char *name, uint *val, int idx = 0) const;
bool subfield(quint32 name, QByteArray *val, int idx = 0) const; bool subfield(const char *name, QByteArray *val, int idx = 0) const;
private: private:
const QVariant *data(quint32 name, int idx = 0) const; const QVariant *data(const QByteArray &name, int idx = 0) const;
quint32 _tag; QByteArray _tag;
const QVector<quint32> *_subFields; QVector<QByteArray> _subFields;
Data _data; Data _data;
}; };
@ -42,21 +50,14 @@ public:
const QString &errorString() const {return _errorString;} const QString &errorString() const {return _errorString;}
static const Field *field(const Record &record, quint32 name); static const Field *field(const Record &record, const QByteArray &name);
static constexpr quint32 NAME(const char str[4])
{
return static_cast<quint32>(str[0])
+ (static_cast<quint32>(str[1]) << 8)
+ (static_cast<quint32>(str[2]) << 16)
+ (static_cast<quint32>(str[3]) << 24);
}
private: private:
enum FieldType {Unknown, String, Array, S8, S16, S32, U8, U16, U32}; enum FieldType {Unknown, String, Array, S8, S16, S32, U8, U16, U32};
struct FieldDefinition struct FieldDefinition
{ {
quint32 tag; QByteArray tag;
int pos; int pos;
int size; int size;
}; };
@ -80,22 +81,22 @@ private:
{ {
public: public:
SubFields() : _repeat(false) {} SubFields() : _repeat(false) {}
SubFields(const QVector<quint32> &tags, SubFields(const QVector<QByteArray> &tags,
const QVector<SubFieldDefinition> &defs, bool repeat) const QVector<SubFieldDefinition> &defs, bool repeat)
: _tags(tags), _defs(defs), _repeat(repeat) {} : _tags(tags), _defs(defs), _repeat(repeat) {}
const QVector<quint32> &tags() const {return _tags;} const QVector<QByteArray> &tags() const {return _tags;}
const QVector<SubFieldDefinition> &defs() const {return _defs;} const QVector<SubFieldDefinition> &defs() const {return _defs;}
bool repeat() const {return _repeat;} bool repeat() const {return _repeat;}
private: private:
QVector<quint32> _tags; QVector<QByteArray> _tags;
QVector<SubFieldDefinition> _defs; QVector<SubFieldDefinition> _defs;
bool _repeat; bool _repeat;
}; };
typedef QMap<quint32, SubFields> FieldsMap; typedef QMap<QByteArray, SubFields> FieldsMap;
static SubFieldDefinition fieldType(const QString &str, int cnt); static SubFieldDefinition fieldType(const QString &str, int cnt);
@ -109,6 +110,14 @@ private:
QString _errorString; QString _errorString;
}; };
#ifndef QT_NO_DEBUG
inline QDebug operator<<(QDebug dbg, const ISO8211::Field &field)
{
dbg.nospace() << "Field(" << field.tag() << ", " << field.subFields() << ")";
return dbg.space();
}
#endif // QT_NO_DEBUG
} }
#endif // ENC_ISO8211_H #endif // ENC_ISO8211_H

View File

@ -1,4 +1,3 @@
#include <QtEndian>
#include "GUI/units.h" #include "GUI/units.h"
#include "objects.h" #include "objects.h"
#include "attributes.h" #include "attributes.h"
@ -15,19 +14,6 @@ using namespace ENC;
#define PRIM_L 2 #define PRIM_L 2
#define PRIM_A 3 #define PRIM_A 3
constexpr quint32 RCID = ISO8211::NAME("RCID");
constexpr quint32 SG2D = ISO8211::NAME("SG2D");
constexpr quint32 SG3D = ISO8211::NAME("SG3D");
constexpr quint32 FSPT = ISO8211::NAME("FSPT");
constexpr quint32 VRPT = ISO8211::NAME("VRPT");
constexpr quint32 ATTF = ISO8211::NAME("ATTF");
constexpr quint32 VRID = ISO8211::NAME("VRID");
constexpr quint32 FRID = ISO8211::NAME("FRID");
constexpr quint32 DSPM = ISO8211::NAME("DSPM");
constexpr quint32 COMF = ISO8211::NAME("COMF");
constexpr quint32 SOMF = ISO8211::NAME("SOMF");
constexpr quint32 HUNI = ISO8211::NAME("HUNI");
static QMap<uint,uint> orderMapInit() static QMap<uint,uint> orderMapInit()
{ {
QMap<uint,uint> map; QMap<uint,uint> map;
@ -104,20 +90,20 @@ static uint order(uint type)
return (it == orderMap.constEnd()) ? (type>>16) + 512 : it.value(); return (it == orderMap.constEnd()) ? (type>>16) + 512 : it.value();
} }
static void warning(const ISO8211::Field &frid, uint prim) static void warning(const ISO8211::Field &FRID, uint PRIM)
{ {
uint rcid = 0xFFFFFFFF; uint RCID = 0xFFFFFFFF;
frid.subfield(RCID, &rcid); FRID.subfield("RCID", &RCID);
switch (prim) { switch (PRIM) {
case PRIM_P: case PRIM_P:
qWarning("%u: invalid point feature", rcid); qWarning("%u: invalid point feature", RCID);
break; break;
case PRIM_L: case PRIM_L:
qWarning("%u: invalid line feature", rcid); qWarning("%u: invalid line feature", RCID);
break; break;
case PRIM_A: case PRIM_A:
qWarning("%u: invalid area feature", rcid); qWarning("%u: invalid area feature", RCID);
break; break;
} }
} }
@ -146,7 +132,7 @@ static bool parseNAME(const ISO8211::Field *f, quint8 *type, quint32 *id,
return false; return false;
*type = (quint8)(*ba.constData()); *type = (quint8)(*ba.constData());
*id = qFromLittleEndian<quint32>(ba.constData() + 1); *id = UINT32(ba.constData() + 1);
return true; return true;
} }
@ -155,9 +141,9 @@ static const ISO8211::Field *SGXD(const ISO8211::Record &r)
{ {
const ISO8211::Field *f; const ISO8211::Field *f;
if ((f = ISO8211::field(r, SG2D))) if ((f = ISO8211::field(r, "SG2D")))
return f; return f;
else if ((f = ISO8211::field(r, SG3D))) else if ((f = ISO8211::field(r, "SG3D")))
return f; return f;
else else
return 0; return 0;
@ -226,12 +212,12 @@ static bool linePointCb(const MapData::Line *line, void *context)
return true; return true;
} }
static Coordinates coordinates(int x, int y, uint comf) static Coordinates coordinates(int x, int y, uint COMF)
{ {
return Coordinates(x / (double)comf, y / (double)comf); return Coordinates(x / (double)COMF, y / (double)COMF);
} }
static Coordinates point(const ISO8211::Record &r, uint comf) static Coordinates point(const ISO8211::Record &r, uint COMF)
{ {
const ISO8211::Field *f = SGXD(r); const ISO8211::Field *f = SGXD(r);
if (!f) if (!f)
@ -240,7 +226,7 @@ static Coordinates point(const ISO8211::Record &r, uint comf)
int y = f->data().at(0).at(0).toInt(); int y = f->data().at(0).at(0).toInt();
int x = f->data().at(0).at(1).toInt(); int x = f->data().at(0).at(1).toInt();
return coordinates(x, y, comf); return coordinates(x, y, COMF);
} }
static uint depthLevel(double minDepth) static uint depthLevel(double minDepth)
@ -491,10 +477,10 @@ RectC MapData::Line::bounds() const
} }
QVector<MapData::Sounding> MapData::soundings(const ISO8211::Record &r, QVector<MapData::Sounding> MapData::soundings(const ISO8211::Record &r,
uint comf, uint somf) uint COMF, uint SOMF)
{ {
QVector<Sounding> s; QVector<Sounding> s;
const ISO8211::Field *f = ISO8211::field(r, SG3D); const ISO8211::Field *f = ISO8211::field(r, "SG3D");
if (!f) if (!f)
return QVector<Sounding>(); return QVector<Sounding>();
@ -503,24 +489,24 @@ QVector<MapData::Sounding> MapData::soundings(const ISO8211::Record &r,
int y = f->data().at(i).at(0).toInt(); int y = f->data().at(i).at(0).toInt();
int x = f->data().at(i).at(1).toInt(); int x = f->data().at(i).at(1).toInt();
int z = f->data().at(i).at(2).toInt(); int z = f->data().at(i).at(2).toInt();
s.append(Sounding(coordinates(x, y, comf), z / (double)somf)); s.append(Sounding(coordinates(x, y, COMF), z / (double)SOMF));
} }
return s; return s;
} }
QVector<MapData::Sounding> MapData::soundingGeometry(const ISO8211::Record &r, QVector<MapData::Sounding> MapData::soundingGeometry(const ISO8211::Record &r,
const RecordMap &vi, const RecordMap &vc, uint comf, uint somf) const RecordMap &vi, const RecordMap &vc, uint COMF, uint SOMF)
{ {
quint8 type; quint8 type;
quint32 id; quint32 id;
RecordMapIterator it; RecordMapIterator it;
const ISO8211::Field *fspt = ISO8211::field(r, FSPT); const ISO8211::Field *FSPT = ISO8211::field(r, "FSPT");
if (!fspt || fspt->data().at(0).size() != 4) if (!FSPT || FSPT->data().at(0).size() != 4)
return QVector<Sounding>(); return QVector<Sounding>();
if (!parseNAME(fspt, &type, &id)) if (!parseNAME(FSPT, &type, &id))
return QVector<Sounding>(); return QVector<Sounding>();
if (type == RCNM_VI) { if (type == RCNM_VI) {
@ -534,21 +520,21 @@ QVector<MapData::Sounding> MapData::soundingGeometry(const ISO8211::Record &r,
} else } else
return QVector<Sounding>(); return QVector<Sounding>();
return soundings(it.value(), comf, somf); return soundings(it.value(), COMF, SOMF);
} }
Coordinates MapData::pointGeometry(const ISO8211::Record &r, Coordinates MapData::pointGeometry(const ISO8211::Record &r,
const RecordMap &vi, const RecordMap &vc, uint comf) const RecordMap &vi, const RecordMap &vc, uint COMF)
{ {
quint8 type; quint8 type;
quint32 id; quint32 id;
RecordMapIterator it; RecordMapIterator it;
const ISO8211::Field *fspt = ISO8211::field(r, FSPT); const ISO8211::Field *FSPT = ISO8211::field(r, "FSPT");
if (!fspt || fspt->data().at(0).size() != 4) if (!FSPT || FSPT->data().at(0).size() != 4)
return Coordinates(); return Coordinates();
if (!parseNAME(fspt, &type, &id)) if (!parseNAME(FSPT, &type, &id))
return Coordinates(); return Coordinates();
if (type == RCNM_VI) { if (type == RCNM_VI) {
@ -562,55 +548,55 @@ Coordinates MapData::pointGeometry(const ISO8211::Record &r,
} else } else
return Coordinates(); return Coordinates();
return point(it.value(), comf); return point(it.value(), COMF);
} }
QVector<Coordinates> MapData::lineGeometry(const ISO8211::Record &r, QVector<Coordinates> MapData::lineGeometry(const ISO8211::Record &r,
const RecordMap &vc, const RecordMap &ve, uint comf) const RecordMap &vc, const RecordMap &ve, uint COMF)
{ {
QVector<Coordinates> path; QVector<Coordinates> path;
Coordinates c[2]; Coordinates c[2];
uint ornt; uint ORNT;
quint8 type; quint8 type;
quint32 id; quint32 id;
const ISO8211::Field *fspt = ISO8211::field(r, FSPT); const ISO8211::Field *FSPT = ISO8211::field(r, "FSPT");
if (!fspt || fspt->data().at(0).size() != 4) if (!FSPT || FSPT->data().at(0).size() != 4)
return QVector<Coordinates>(); return QVector<Coordinates>();
for (int i = 0; i < fspt->data().size(); i++) { for (int i = 0; i < FSPT->data().size(); i++) {
if (!parseNAME(fspt, &type, &id, i) || type != RCNM_VE) if (!parseNAME(FSPT, &type, &id, i) || type != RCNM_VE)
return QVector<Coordinates>(); return QVector<Coordinates>();
ornt = fspt->data().at(i).at(1).toUInt(); ORNT = FSPT->data().at(i).at(1).toUInt();
RecordMapIterator it = ve.find(id); RecordMapIterator it = ve.find(id);
if (it == ve.constEnd()) if (it == ve.constEnd())
return QVector<Coordinates>(); return QVector<Coordinates>();
const ISO8211::Record &frid = it.value(); const ISO8211::Record &FRID = it.value();
const ISO8211::Field *vrpt = ISO8211::field(frid, VRPT); const ISO8211::Field *VRPT = ISO8211::field(FRID, "VRPT");
if (!vrpt || vrpt->data().size() != 2) if (!VRPT || VRPT->data().size() != 2)
return QVector<Coordinates>(); return QVector<Coordinates>();
for (int j = 0; j < 2; j++) { for (int j = 0; j < 2; j++) {
if (!parseNAME(vrpt, &type, &id, j) || type != RCNM_VC) if (!parseNAME(VRPT, &type, &id, j) || type != RCNM_VC)
return QVector<Coordinates>(); return QVector<Coordinates>();
RecordMapIterator jt = vc.find(id); RecordMapIterator jt = vc.find(id);
if (jt == vc.constEnd()) if (jt == vc.constEnd())
return QVector<Coordinates>(); return QVector<Coordinates>();
c[j] = point(jt.value(), comf); c[j] = point(jt.value(), COMF);
if (c[j].isNull()) if (c[j].isNull())
return QVector<Coordinates>(); return QVector<Coordinates>();
} }
const ISO8211::Field *vertexes = SGXD(frid); const ISO8211::Field *vertexes = SGXD(FRID);
if (ornt == 2) { if (ORNT == 2) {
path.append(c[1]); path.append(c[1]);
if (vertexes) { if (vertexes) {
for (int j = vertexes->data().size() - 1; j >= 0; j--) { for (int j = vertexes->data().size() - 1; j >= 0; j--) {
const QVector<QVariant> &cv = vertexes->data().at(j); const QVector<QVariant> &cv = vertexes->data().at(j);
path.append(coordinates(cv.at(1).toInt(), cv.at(0).toInt(), path.append(coordinates(cv.at(1).toInt(), cv.at(0).toInt(),
comf)); COMF));
} }
} }
path.append(c[0]); path.append(c[0]);
@ -620,7 +606,7 @@ QVector<Coordinates> MapData::lineGeometry(const ISO8211::Record &r,
for (int j = 0; j < vertexes->data().size(); j++) { for (int j = 0; j < vertexes->data().size(); j++) {
const QVector<QVariant> &cv = vertexes->data().at(j); const QVector<QVariant> &cv = vertexes->data().at(j);
path.append(coordinates(cv.at(1).toInt(), cv.at(0).toInt(), path.append(coordinates(cv.at(1).toInt(), cv.at(0).toInt(),
comf)); COMF));
} }
} }
path.append(c[1]); path.append(c[1]);
@ -631,26 +617,26 @@ QVector<Coordinates> MapData::lineGeometry(const ISO8211::Record &r,
} }
Polygon MapData::polyGeometry(const ISO8211::Record &r, const RecordMap &vc, Polygon MapData::polyGeometry(const ISO8211::Record &r, const RecordMap &vc,
const RecordMap &ve, uint comf) const RecordMap &ve, uint COMF)
{ {
Polygon path; Polygon path;
QVector<Coordinates> v; QVector<Coordinates> v;
Coordinates c[2]; Coordinates c[2];
uint ornt, usag; uint ORNT, USAG;
quint8 type; quint8 type;
quint32 id; quint32 id;
const ISO8211::Field *fspt = ISO8211::field(r, FSPT); const ISO8211::Field *FSPT = ISO8211::field(r, "FSPT");
if (!fspt || fspt->data().at(0).size() != 4) if (!FSPT || FSPT->data().at(0).size() != 4)
return Polygon(); return Polygon();
for (int i = 0; i < fspt->data().size(); i++) { for (int i = 0; i < FSPT->data().size(); i++) {
if (!parseNAME(fspt, &type, &id, i) || type != RCNM_VE) if (!parseNAME(FSPT, &type, &id, i) || type != RCNM_VE)
return Polygon(); return Polygon();
ornt = fspt->data().at(i).at(1).toUInt(); ORNT = FSPT->data().at(i).at(1).toUInt();
usag = fspt->data().at(i).at(2).toUInt(); USAG = FSPT->data().at(i).at(2).toUInt();
if (usag == 2 && path.isEmpty()) { if (USAG == 2 && path.isEmpty()) {
path.append(v); path.append(v);
v.clear(); v.clear();
} }
@ -658,55 +644,55 @@ Polygon MapData::polyGeometry(const ISO8211::Record &r, const RecordMap &vc,
RecordMapIterator it = ve.find(id); RecordMapIterator it = ve.find(id);
if (it == ve.constEnd()) if (it == ve.constEnd())
return Polygon(); return Polygon();
const ISO8211::Record &frid = it.value(); const ISO8211::Record &FRID = it.value();
const ISO8211::Field *vrpt = ISO8211::field(frid, VRPT); const ISO8211::Field *VRPT = ISO8211::field(FRID, "VRPT");
if (!vrpt || vrpt->data().size() != 2) if (!VRPT || VRPT->data().size() != 2)
return Polygon(); return Polygon();
for (int j = 0; j < 2; j++) { for (int j = 0; j < 2; j++) {
if (!parseNAME(vrpt, &type, &id, j) || type != RCNM_VC) if (!parseNAME(VRPT, &type, &id, j) || type != RCNM_VC)
return Polygon(); return Polygon();
RecordMapIterator jt = vc.find(id); RecordMapIterator jt = vc.find(id);
if (jt == vc.constEnd()) if (jt == vc.constEnd())
return Polygon(); return Polygon();
c[j] = point(jt.value(), comf); c[j] = point(jt.value(), COMF);
if (c[j].isNull()) if (c[j].isNull())
return Polygon(); return Polygon();
} }
const ISO8211::Field *vertexes = SGXD(frid); const ISO8211::Field *vertexes = SGXD(FRID);
if (ornt == 2) { if (ORNT == 2) {
v.append(c[1]); v.append(c[1]);
if (usag == 3) if (USAG == 3)
v.append(Coordinates()); v.append(Coordinates());
if (vertexes) { if (vertexes) {
for (int j = vertexes->data().size() - 1; j >= 0; j--) { for (int j = vertexes->data().size() - 1; j >= 0; j--) {
const QVector<QVariant> &cv = vertexes->data().at(j); const QVector<QVariant> &cv = vertexes->data().at(j);
v.append(coordinates(cv.at(1).toInt(), cv.at(0).toInt(), v.append(coordinates(cv.at(1).toInt(), cv.at(0).toInt(),
comf)); COMF));
} }
} }
if (usag == 3) if (USAG == 3)
v.append(Coordinates()); v.append(Coordinates());
v.append(c[0]); v.append(c[0]);
} else { } else {
v.append(c[0]); v.append(c[0]);
if (usag == 3) if (USAG == 3)
v.append(Coordinates()); v.append(Coordinates());
if (vertexes) { if (vertexes) {
for (int j = 0; j < vertexes->data().size(); j++) { for (int j = 0; j < vertexes->data().size(); j++) {
const QVector<QVariant> &cv = vertexes->data().at(j); const QVector<QVariant> &cv = vertexes->data().at(j);
v.append(coordinates(cv.at(1).toInt(), cv.at(0).toInt(), v.append(coordinates(cv.at(1).toInt(), cv.at(0).toInt(),
comf)); COMF));
} }
} }
if (usag == 3) if (USAG == 3)
v.append(Coordinates()); v.append(Coordinates());
v.append(c[1]); v.append(c[1]);
} }
if (usag == 2 && v.first() == v.last()) { if (USAG == 2 && v.first() == v.last()) {
path.append(v); path.append(v);
v.clear(); v.clear();
} }
@ -722,12 +708,12 @@ MapData::Attributes MapData::attributes(const ISO8211::Record &r)
{ {
Attributes attr; Attributes attr;
const ISO8211::Field *attf = ISO8211::field(r, ATTF); const ISO8211::Field *ATTF = ISO8211::field(r, "ATTF");
if (!(attf && attf->data().at(0).size() == 2)) if (!(ATTF && ATTF->data().at(0).size() == 2))
return attr; return attr;
for (int i = 0; i < attf->data().size(); i++) { for (int i = 0; i < ATTF->data().size(); i++) {
const QVector<QVariant> &av = attf->data().at(i); const QVector<QVariant> &av = ATTF->data().at(i);
attr.insert(av.at(0).toUInt(), av.at(1).toByteArray()); attr.insert(av.at(0).toUInt(), av.at(1).toByteArray());
} }
@ -740,64 +726,64 @@ MapData::Point *MapData::pointObject(const Sounding &s)
} }
MapData::Point *MapData::pointObject(const ISO8211::Record &r, MapData::Point *MapData::pointObject(const ISO8211::Record &r,
const RecordMap &vi, const RecordMap &vc, uint comf, uint objl, uint huni) const RecordMap &vi, const RecordMap &vc, uint COMF, uint OBJL, uint HUNI)
{ {
Coordinates c(pointGeometry(r, vi, vc, comf)); Coordinates c(pointGeometry(r, vi, vc, COMF));
return (c.isNull() ? 0 : new Point(objl, c, attributes(r), huni)); return (c.isNull() ? 0 : new Point(OBJL, c, attributes(r), HUNI));
} }
MapData::Line *MapData::lineObject(const ISO8211::Record &r, MapData::Line *MapData::lineObject(const ISO8211::Record &r,
const RecordMap &vc, const RecordMap &ve, uint comf, uint objl) const RecordMap &vc, const RecordMap &ve, uint COMF, uint OBJL)
{ {
QVector<Coordinates> path(lineGeometry(r, vc, ve, comf)); QVector<Coordinates> path(lineGeometry(r, vc, ve, COMF));
return (path.isEmpty() ? 0 : new Line(objl, path, attributes(r))); return (path.isEmpty() ? 0 : new Line(OBJL, path, attributes(r)));
} }
MapData::Poly *MapData::polyObject(const ISO8211::Record &r, MapData::Poly *MapData::polyObject(const ISO8211::Record &r,
const RecordMap &vc, const RecordMap &ve, uint comf, uint objl, uint huni) const RecordMap &vc, const RecordMap &ve, uint COMF, uint OBJL, uint HUNI)
{ {
Polygon path(polyGeometry(r, vc, ve, comf)); Polygon path(polyGeometry(r, vc, ve, COMF));
return (path.isEmpty() ? 0 : new Poly(objl, path, attributes(r), huni)); return (path.isEmpty() ? 0 : new Poly(OBJL, path, attributes(r), HUNI));
} }
bool MapData::processRecord(const ISO8211::Record &record, bool MapData::processRecord(const ISO8211::Record &record,
QVector<ISO8211::Record> &fe, RecordMap &vi, RecordMap &vc, RecordMap &ve, QVector<ISO8211::Record> &fe, RecordMap &vi, RecordMap &vc, RecordMap &ve,
RecordMap &vf, uint &comf, uint &somf, uint &huni) RecordMap &vf, uint &COMF, uint &SOMF, uint &HUNI)
{ {
if (record.size() < 2) if (record.size() < 2)
return false; return false;
const ISO8211::Field &f = record.at(1); const ISO8211::Field &f = record.at(1);
quint32 tag = f.tag(); const QByteArray &ba = f.tag();
if (tag == VRID) { if (ba == "VRID") {
if (f.data().at(0).size() < 2) if (f.data().at(0).size() < 2)
return false; return false;
int rcnm = f.data().at(0).at(0).toInt(); int RCNM = f.data().at(0).at(0).toInt();
uint rcid = f.data().at(0).at(1).toUInt(); uint RCID = f.data().at(0).at(1).toUInt();
switch (rcnm) { switch (RCNM) {
case RCNM_VI: case RCNM_VI:
vi.insert(rcid, record); vi.insert(RCID, record);
break; break;
case RCNM_VC: case RCNM_VC:
vc.insert(rcid, record); vc.insert(RCID, record);
break; break;
case RCNM_VE: case RCNM_VE:
ve.insert(rcid, record); ve.insert(RCID, record);
break; break;
case RCNM_VF: case RCNM_VF:
vf.insert(rcid, record); vf.insert(RCID, record);
break; break;
default: default:
return false; return false;
} }
} else if (tag == FRID) { } else if (ba == "FRID") {
fe.append(record); fe.append(record);
} else if (tag == DSPM) { } else if (ba == "DSPM") {
if (!(f.subfield(COMF, &comf) && f.subfield(SOMF, &somf))) if (!(f.subfield("COMF", &COMF) && f.subfield("SOMF", &SOMF)))
return false; return false;
if (!f.subfield(HUNI, &huni)) if (!f.subfield("HUNI", &HUNI))
return false; return false;
} }
@ -810,7 +796,7 @@ MapData::MapData(const QString &path)
QVector<ISO8211::Record> fe; QVector<ISO8211::Record> fe;
ISO8211 ddf(path); ISO8211 ddf(path);
ISO8211::Record record; ISO8211::Record record;
uint prim, objl, comf = 1, somf = 1, huni = 1; uint PRIM, OBJL, COMF = 1, SOMF = 1, HUNI = 1;
Poly *poly; Poly *poly;
Line *line; Line *line;
Point *point; Point *point;
@ -820,7 +806,7 @@ MapData::MapData(const QString &path)
if (!ddf.readDDR()) if (!ddf.readDDR())
return; return;
while (ddf.readRecord(record)) while (ddf.readRecord(record))
if (!processRecord(record, fe, vi, vc, ve, vf, comf, somf, huni)) if (!processRecord(record, fe, vi, vc, ve, vf, COMF, SOMF, HUNI))
qWarning("Invalid S-57 record"); qWarning("Invalid S-57 record");
for (int i = 0; i < fe.size(); i++) { for (int i = 0; i < fe.size(); i++) {
@ -829,39 +815,39 @@ MapData::MapData(const QString &path)
if (f.data().at(0).size() < 5) if (f.data().at(0).size() < 5)
continue; continue;
prim = f.data().at(0).at(2).toUInt(); PRIM = f.data().at(0).at(2).toUInt();
objl = f.data().at(0).at(4).toUInt(); OBJL = f.data().at(0).at(4).toUInt();
switch (prim) { switch (PRIM) {
case PRIM_P: case PRIM_P:
if (objl == SOUNDG) { if (OBJL == SOUNDG) {
QVector<Sounding> s(soundingGeometry(r, vi, vc, comf, somf)); QVector<Sounding> s(soundingGeometry(r, vi, vc, COMF, SOMF));
for (int i = 0; i < s.size(); i++) { for (int i = 0; i < s.size(); i++) {
point = pointObject(s.at(i)); point = pointObject(s.at(i));
pointBounds(point->pos(), min, max); pointBounds(point->pos(), min, max);
_points.Insert(min, max, point); _points.Insert(min, max, point);
} }
} else { } else {
if ((point = pointObject(r, vi, vc, comf, objl, huni))) { if ((point = pointObject(r, vi, vc, COMF, OBJL, HUNI))) {
pointBounds(point->pos(), min, max); pointBounds(point->pos(), min, max);
_points.Insert(min, max, point); _points.Insert(min, max, point);
} else } else
warning(f, prim); warning(f, PRIM);
} }
break; break;
case PRIM_L: case PRIM_L:
if ((line = lineObject(r, vc, ve, comf, objl))) { if ((line = lineObject(r, vc, ve, COMF, OBJL))) {
rectcBounds(line->bounds(), min, max); rectcBounds(line->bounds(), min, max);
_lines.Insert(min, max, line); _lines.Insert(min, max, line);
} else } else
warning(f, prim); warning(f, PRIM);
break; break;
case PRIM_A: case PRIM_A:
if ((poly = polyObject(r, vc, ve, comf, objl, huni))) { if ((poly = polyObject(r, vc, ve, COMF, OBJL, HUNI))) {
rectcBounds(poly->bounds(), min, max); rectcBounds(poly->bounds(), min, max);
_areas.Insert(min, max, poly); _areas.Insert(min, max, poly);
} else } else
warning(f, prim); warning(f, PRIM);
break; break;
} }
} }

View File

@ -32,28 +32,28 @@ private:
typedef RTree<const Line*, double, 2> LineTree; typedef RTree<const Line*, double, 2> LineTree;
typedef RTree<const Point*, double, 2> PointTree; typedef RTree<const Point*, double, 2> PointTree;
static QVector<Sounding> soundings(const ISO8211::Record &r, uint comf, static QVector<Sounding> soundings(const ISO8211::Record &r, uint COMF,
uint somf); uint SOMF);
static QVector<Sounding> soundingGeometry(const ISO8211::Record &r, static QVector<Sounding> soundingGeometry(const ISO8211::Record &r,
const RecordMap &vi, const RecordMap &vc, uint comf, uint somf); const RecordMap &vi, const RecordMap &vc, uint COMF, uint SOMF);
static Coordinates pointGeometry(const ISO8211::Record &r, static Coordinates pointGeometry(const ISO8211::Record &r,
const RecordMap &vi, const RecordMap &vc, uint comf); const RecordMap &vi, const RecordMap &vc, uint COMF);
static QVector<Coordinates> lineGeometry(const ISO8211::Record &r, static QVector<Coordinates> lineGeometry(const ISO8211::Record &r,
const RecordMap &vc, const RecordMap &ve, uint comf); const RecordMap &vc, const RecordMap &ve, uint COMF);
static Polygon polyGeometry(const ISO8211::Record &r, const RecordMap &vc, static Polygon polyGeometry(const ISO8211::Record &r, const RecordMap &vc,
const RecordMap &ve, uint comf); const RecordMap &ve, uint COMF);
static Attributes attributes(const ISO8211::Record &r); static Attributes attributes(const ISO8211::Record &r);
static Point *pointObject(const Sounding &s); static Point *pointObject(const Sounding &s);
static Point *pointObject(const ISO8211::Record &r, const RecordMap &vi, static Point *pointObject(const ISO8211::Record &r, const RecordMap &vi,
const RecordMap &vc, uint comf, uint objl, uint huni); const RecordMap &vc, uint COMF, uint OBJL, uint HUNI);
static Line *lineObject(const ISO8211::Record &r, const RecordMap &vc, static Line *lineObject(const ISO8211::Record &r, const RecordMap &vc,
const RecordMap &ve, uint comf, uint objl); const RecordMap &ve, uint COMF, uint OBJL);
static Poly *polyObject(const ISO8211::Record &r, const RecordMap &vc, static Poly *polyObject(const ISO8211::Record &r, const RecordMap &vc,
const RecordMap &ve, uint comf, uint objl, uint huni); const RecordMap &ve, uint COMF, uint OBJL, uint HUNI);
static bool processRecord(const ISO8211::Record &record, static bool processRecord(const ISO8211::Record &record,
QVector<ISO8211::Record> &fe, RecordMap &vi, RecordMap &vc, RecordMap &ve, QVector<ISO8211::Record> &fe, RecordMap &vi, RecordMap &vc, RecordMap &ve,
RecordMap &vf, uint &comf, uint &somf, uint &huni); RecordMap &vf, uint &COMF, uint &SOMF, uint &HUNI);
PolygonTree _areas; PolygonTree _areas;
LineTree _lines; LineTree _lines;

View File

@ -133,7 +133,9 @@ bool RGNFile::readBuoyInfo(Handle &hdl, quint8 flags, quint32 size,
bool RGNFile::readLightInfo(Handle &hdl, quint8 flags, quint32 size, bool RGNFile::readLightInfo(Handle &hdl, quint8 flags, quint32 size,
MapData::Point *point) const MapData::Point *point) const
{ {
quint32 flags1, flags2, unused; quint16 flags1;
quint8 flags2;
quint32 unused;
if (!(size >= 3 && readUInt16(hdl, flags1) && readUInt8(hdl, flags2))) if (!(size >= 3 && readUInt16(hdl, flags1) && readUInt8(hdl, flags2)))
return false; return false;

View File

@ -12,14 +12,6 @@ using namespace ENC;
#define EPSILON 1e-6 #define EPSILON 1e-6
#define TILE_SIZE 512 #define TILE_SIZE 512
constexpr quint32 CATD = ISO8211::NAME("CATD");
constexpr quint32 IMPL = ISO8211::NAME("IMPL");
constexpr quint32 F1LE = ISO8211::NAME("FILE");
constexpr quint32 SLAT = ISO8211::NAME("SLAT");
constexpr quint32 WLON = ISO8211::NAME("WLON");
constexpr quint32 NLAT = ISO8211::NAME("NLAT");
constexpr quint32 ELON = ISO8211::NAME("ELON");
Range ENCAtlas::zooms(IntendedUsage usage) Range ENCAtlas::zooms(IntendedUsage usage)
{ {
switch (usage) { switch (usage) {
@ -68,34 +60,35 @@ bool ENCAtlas::processRecord(const ISO8211::Record &record, QByteArray &file,
return false; return false;
const ENC::ISO8211::Field &f = record.at(1); const ENC::ISO8211::Field &f = record.at(1);
const QByteArray &ba = f.tag();
if (f.tag() == CATD) { if (ba == "CATD") {
QByteArray impl; QByteArray FILE, IMPL;
if (!f.subfield(IMPL, &impl)) if (!f.subfield("IMPL", &IMPL))
return false; return false;
if (!f.subfield(F1LE, &file)) if (!f.subfield("FILE", &FILE))
return false; return false;
if (impl == "BIN" && file.endsWith("000")) { if (IMPL == "BIN" && FILE.endsWith("000")) {
QByteArray slat, wlon, nlat, elon; QByteArray SLAT, WLON, NLAT, ELON;
if (!f.subfield(SLAT, &slat)) if (!f.subfield("SLAT", &SLAT))
return false; return false;
if (!f.subfield(WLON, &wlon)) if (!f.subfield("WLON", &WLON))
return false; return false;
if (!f.subfield(NLAT, &nlat)) if (!f.subfield("NLAT", &NLAT))
return false; return false;
if (!f.subfield(ELON, &elon)) if (!f.subfield("ELON", &ELON))
return false; return false;
bool ok1, ok2, ok3, ok4; bool ok1, ok2, ok3, ok4;
bounds = RectC(Coordinates(wlon.toDouble(&ok1), nlat.toDouble(&ok2)), bounds = RectC(Coordinates(WLON.toDouble(&ok1), NLAT.toDouble(&ok2)),
Coordinates(elon.toDouble(&ok3), slat.toDouble(&ok4))); Coordinates(ELON.toDouble(&ok3), SLAT.toDouble(&ok4)));
if (!(ok1 && ok2 && ok3 && ok4)) if (!(ok1 && ok2 && ok3 && ok4))
return false; return false;
file.replace('\\', '/'); file = FILE.replace('\\', '/');
return true; return true;
} }

View File

@ -15,14 +15,6 @@ using namespace ENC;
#define EPSILON 1e-6 #define EPSILON 1e-6
#define TILE_SIZE 512 #define TILE_SIZE 512
constexpr quint32 SG2D = ISO8211::NAME("SG2D");
constexpr quint32 SG3D = ISO8211::NAME("SG3D");
constexpr quint32 VRID = ISO8211::NAME("VRID");
constexpr quint32 DSID = ISO8211::NAME("DSID");
constexpr quint32 DSNM = ISO8211::NAME("DSNM");
constexpr quint32 DSPM = ISO8211::NAME("DSPM");
constexpr quint32 COMF = ISO8211::NAME("COMF");
static Range zooms(const RectC &bounds) static Range zooms(const RectC &bounds)
{ {
double size = qMin(bounds.width(), bounds.height()); double size = qMin(bounds.width(), bounds.height());
@ -65,9 +57,9 @@ static const ISO8211::Field *SGXD(const ISO8211::Record &r)
{ {
const ISO8211::Field *f; const ISO8211::Field *f;
if ((f = ISO8211::field(r, SG2D))) if ((f = ISO8211::field(r, "SG2D")))
return f; return f;
else if ((f = ISO8211::field(r, SG3D))) else if ((f = ISO8211::field(r, "SG3D")))
return f; return f;
else else
return 0; return 0;
@ -105,21 +97,23 @@ bool ENCMap::bounds(const QVector<ISO8211::Record> &gv, Rect &b)
} }
bool ENCMap::processRecord(const ISO8211::Record &record, bool ENCMap::processRecord(const ISO8211::Record &record,
QVector<ISO8211::Record> &rv, uint &comf, QByteArray &dsnm) QVector<ISO8211::Record> &rv, uint &COMF, QString &name)
{ {
if (record.size() < 2) if (record.size() < 2)
return false; return false;
const ISO8211::Field &f = record.at(1); const ISO8211::Field &f = record.at(1);
quint32 tag = f.tag(); const QByteArray &ba = f.tag();
if (tag == VRID) { if (ba == "VRID") {
rv.append(record); rv.append(record);
} else if (tag == DSID) { } else if (ba == "DSID") {
if (!f.subfield(DSNM, &dsnm)) QByteArray DSNM;
if (!f.subfield("DSNM", &DSNM))
return false; return false;
} else if (tag == DSPM) { name = DSNM;
if (!f.subfield(COMF, &comf)) } else if (ba == "DSPM") {
if (!f.subfield("COMF", &COMF))
return false; return false;
} }
@ -133,15 +127,14 @@ ENCMap::ENCMap(const QString &fileName, QObject *parent)
QVector<ISO8211::Record> gv; QVector<ISO8211::Record> gv;
ISO8211 ddf(fileName); ISO8211 ddf(fileName);
ISO8211::Record record; ISO8211::Record record;
uint comf = 1; uint COMF = 1;
QByteArray dsnm;
if (!ddf.readDDR()) { if (!ddf.readDDR()) {
_errorString = ddf.errorString(); _errorString = ddf.errorString();
return; return;
} }
while (ddf.readRecord(record)) { while (ddf.readRecord(record)) {
if (!processRecord(record, gv, comf, dsnm)) { if (!processRecord(record, gv, COMF, _name)) {
_errorString = "Invalid S-57 record"; _errorString = "Invalid S-57 record";
return; return;
} }
@ -151,15 +144,13 @@ ENCMap::ENCMap(const QString &fileName, QObject *parent)
return; return;
} }
_name = dsnm;
Rect b; Rect b;
if (!bounds(gv, b)) { if (!bounds(gv, b)) {
_errorString = "Error fetching geometries bounds"; _errorString = "Error fetching geometries bounds";
return; return;
} }
Coordinates tl(b.minX() / (double)comf, b.maxY() / (double)comf); Coordinates tl(b.minX() / (double)COMF, b.maxY() / (double)COMF);
Coordinates br(b.maxX() / (double)comf, b.minY() / (double)comf); Coordinates br(b.maxX() / (double)COMF, b.minY() / (double)COMF);
_llBounds = RectC(tl, br); _llBounds = RectC(tl, br);
if (!_llBounds.isValid()) { if (!_llBounds.isValid()) {
_errorString = "Invalid geometries bounds"; _errorString = "Invalid geometries bounds";

View File

@ -97,7 +97,7 @@ private:
static bool bounds(const ENC::ISO8211::Record &record, Rect &rect); static bool bounds(const ENC::ISO8211::Record &record, Rect &rect);
static bool bounds(const QVector<ENC::ISO8211::Record> &gv, Rect &b); static bool bounds(const QVector<ENC::ISO8211::Record> &gv, Rect &b);
static bool processRecord(const ENC::ISO8211::Record &record, static bool processRecord(const ENC::ISO8211::Record &record,
QVector<ENC::ISO8211::Record> &rv, uint &comf, QByteArray &dsnm); QVector<ENC::ISO8211::Record> &rv, uint &COMF, QString &name);
QString _name; QString _name;
ENC::MapData *_data; ENC::MapData *_data;

View File

@ -188,7 +188,7 @@ void RasterTile::processLineLabels(const QVector<PainterPath> &paths,
if (l.ti) { if (l.ti) {
limit = (l.ti->key() == ID_ELE || l.ti->key() == ID_REF limit = (l.ti->key() == ID_ELE || l.ti->key() == ID_REF
|| (!l.si && l.ti->shield())); || (!l.si && l.ti->shield()));
if (limit && l.lbl && set.contains(*l.lbl)) if (limit && set.contains(*l.lbl))
continue; continue;
} }
@ -214,7 +214,7 @@ void RasterTile::processLineLabels(const QVector<PainterPath> &paths,
color, hColor, rotate); color, hColor, rotate);
if (item->isValid() && !item->collides(textItems)) { if (item->isValid() && !item->collides(textItems)) {
textItems.append(item); textItems.append(item);
if (limit && l.lbl) if (limit)
set.insert(*l.lbl); set.insert(*l.lbl);
} else { } else {
delete item; delete item;

View File

@ -116,15 +116,13 @@ QSet<QString> Style::Menu::cats() const
} }
Style::Rule::Filter::Filter(const MapData &data, const QList<QByteArray> &keys, Style::Rule::Filter::Filter(const MapData &data, const QList<QByteArray> &keys,
const QList<QByteArray> &vals) : _neg(false), _excl(false) const QList<QByteArray> &vals) : _neg(false)
{ {
_keys = keyList(data, keys); _keys = keyList(data, keys);
QList<QByteArray> vc(vals); QList<QByteArray> vc(vals);
if (vc.removeAll("~")) if (vc.removeAll("~"))
_neg = true; _neg = true;
if (vc.removeAll("-"))
_excl = true;
_vals = valList(vc); _vals = valList(vc);
} }

View File

@ -38,7 +38,7 @@ public:
class Filter { class Filter {
public: public:
Filter() : _neg(false), _excl(false) {} Filter() : _neg(false) {}
Filter(const MapData &data, const QList<QByteArray> &keys, Filter(const MapData &data, const QList<QByteArray> &keys,
const QList<QByteArray> &vals); const QList<QByteArray> &vals);
@ -47,15 +47,14 @@ public:
if (_neg) { if (_neg) {
if (!keyMatches(tags)) if (!keyMatches(tags))
return true; return true;
return valueMatches(tags) ^ _excl; return valueMatches(tags);
} else } else
return (keyMatches(tags) && (valueMatches(tags) ^ _excl)); return (keyMatches(tags) && valueMatches(tags));
} }
bool isTautology() const bool isTautology() const
{ {
return (!_neg && !_excl && _keys.contains(0u) return (!_neg && _keys.contains(0u) && _vals.contains(QByteArray()));
&& _vals.contains(QByteArray()));
} }
private: private:
@ -87,7 +86,7 @@ public:
QList<unsigned> _keys; QList<unsigned> _keys;
QList<QByteArray> _vals; QList<QByteArray> _vals;
bool _neg, _excl; bool _neg;
}; };
void setType(Type type) void setType(Type type)