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.30" have entirely different histories.

194 changed files with 6580 additions and 8961 deletions

View File

@ -1,4 +1,4 @@
version: 13.39.{build} version: 13.30.{build}
configuration: configuration:
- Release - Release
@ -8,24 +8,24 @@ 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
NSISDEF: /DOPENSSL /DANGLE NSISDEF: /DOPENSSL /DANGLE
- QTDIR: C:\Qt\6.8\msvc2022_64 - QTDIR: C:\Qt\6.7\msvc2019_64
NSISDEF: /DQT6 OPENSSLDIR: C:\OpenSSL-v33-Win64\bin
NSISDEF: /DQT6 /DOPENSSL
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
@ -36,8 +36,8 @@ build_script:
xcopy lang\*.qm installer\translations\ /sy xcopy lang\*.qm installer\translations\ /sy
xcopy icons\symbols installer\symbols /i xcopy icons\symbols installer\symbols /i
copy licence.txt installer copy licence.txt installer
IF DEFINED OPENSSLDIR (copy %OPENSSLDIR%\libcrypto-*-x64.dll installer) copy %OPENSSLDIR%\libcrypto-*-x64.dll installer
IF DEFINED OPENSSLDIR (copy %OPENSSLDIR%\libssl-*-x64.dll installer) copy %OPENSSLDIR%\libssl-*-x64.dll installer
makensis.exe %NSISDEF% installer\gpxsee64.nsi makensis.exe %NSISDEF% installer\gpxsee64.nsi

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

@ -8,10 +8,7 @@ on:
jobs: jobs:
build: build:
name: GPXSee name: GPXSee
runs-on: ubuntu-22.04 runs-on: ubuntu-20.04
strategy:
matrix:
config: ['release', 'debug']
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@ -22,6 +19,6 @@ jobs:
- name: Create localization - name: Create localization
run: lrelease gpxsee.pro run: lrelease gpxsee.pro
- name: Configure build - name: Configure build
run: qmake CONFIG+=${{ matrix.config }} gpxsee.pro run: qmake gpxsee.pro
- name: Build project - name: Build project
run: make -j4 run: make -j2

View File

@ -15,7 +15,7 @@ jobs:
- name: Install Qt - name: Install Qt
uses: jurplel/install-qt-action@v4 uses: jurplel/install-qt-action@v4
with: with:
version: '6.8.2' version: '6.8.0'
modules: qtpositioning qtserialport qtimageformats modules: qtpositioning qtserialport qtimageformats
- name: Create localization - name: Create localization
run: lrelease gpxsee.pro run: lrelease gpxsee.pro

View File

@ -5,9 +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 and geotagged JPEG files.
and geotagged JPEG files.
* 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).
* Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases, * Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases,
@ -30,8 +28,8 @@ GPS log file formats.
## Build ## Build
Build requirements: Build requirements:
* Qt5 >= 5.15 or Qt6 >= 6.2 (Android builds require Qt6) * Qt5 >= 5.11 or Qt6 >= 6.2 (Android builds require Qt6)
* C++11 or newer compiler (tested: msvc2022, gcc 11, clang/Apple LLVM version * C++11 or newer compiler (tested: msvc2019, gcc 7.5.0, clang/Apple LLVM version
10.0.0) 10.0.0)
Build steps: Build steps:

View File

@ -21,9 +21,9 @@
</rule> </rule>
<rule e="way" closed="yes" k="natural" v="rock|stone|bare_rock|bedrock" zoom-min="14"> <rule e="way" closed="yes" k="natural" v="rock|stone|bare_rock|bedrock" zoom-min="14">
<area fill="#96968f"/> <area fill="#60000000"/>
</rule> </rule>
<rule e="way" closed="yes" k="natural" v="glacier" zoom-min="10"> <rule e="way" closed="yes" k="natural" v="glacier" zoom-min="12">
<area fill="#ddf1fd"/> <area fill="#ddf1fd"/>
</rule> </rule>
@ -32,7 +32,7 @@
<area fill="#e4efcf"/> <area fill="#e4efcf"/>
</rule> </rule>
<rule e="way" closed="yes" k="landuse" v="construction|quarry|landfill|industrial|farm|farmyard|railway" zoom-min="10"> <rule e="way" closed="yes" k="landuse" v="construction|quarry|landfill|industrial|farm|farmyard" zoom-min="10">
<area fill="#d6d4ce"/> <area fill="#d6d4ce"/>
</rule> </rule>
<rule e="way" closed="yes" k="landuse" v="allotments" zoom-min="10"> <rule e="way" closed="yes" k="landuse" v="allotments" zoom-min="10">
@ -82,13 +82,7 @@
<!-- Water --> <!-- Water -->
<rule e="way" closed="yes" k="natural" v="water"> <rule e="way" closed="yes" k="natural" v="water">
<area fill="#9fc4e1"/> <area fill="#9fc4e1"/>
<rule e="way" k="bBoxWeight" v="~|mid|large|xlarge|xxlarge|xxxlarge" zoom-min="14" zoom-max="15"> <rule e="way" k="*" v="*" zoom-min="14">
<caption fill="#ffffff" font-size="12" font-family="serif" font-style="italic" k="name" stroke="#9fc4e1" stroke-width="2"/>
</rule>
<rule e="way" k="bBoxWeight" v="~|xsmall|small|mid|large|xlarge|xxlarge|xxxlarge" zoom-min="16" zoom-max="16">
<caption fill="#ffffff" font-size="12" font-family="serif" font-style="italic" k="name" stroke="#9fc4e1" stroke-width="2"/>
</rule>
<rule e="way" k="*" v="*" zoom-min="17">
<caption fill="#ffffff" font-size="12" font-family="serif" font-style="italic" k="name" stroke="#9fc4e1" stroke-width="2"/> <caption fill="#ffffff" font-size="12" font-family="serif" font-style="italic" k="name" stroke="#9fc4e1" stroke-width="2"/>
</rule> </rule>
</rule> </rule>
@ -173,28 +167,21 @@
</rule> </rule>
<rule e="way" closed="yes" k="amenity" v="parking" zoom-min="10"> <rule e="way" closed="yes" k="amenity" v="parking" zoom-min="10">
<area fill="#ffffff" stroke="#d5cdc0" stroke-width="0.1"/> <area fill="#ffffff" stroke="#d5cdc0" stroke-width="0.1"/>
<rule e="way" k="parking" v="~|surface|street_side|lane" zoom-min="17"> <rule e="way" k="*" v="*" zoom-min="17">
<symbol id="parking" src=":/POI/parking-11.svg" symbol-width="11"/> <symbol id="parking" src=":/POI/parking-11.svg" symbol-width="11"/>
</rule> </rule>
<rule e="way" k="parking" v="underground|multi-storey" zoom-min="17">
<symbol id="garage" src=":/POI/parking-garage-11.svg" symbol-width="11"/>
</rule>
</rule> </rule>
<rule e="way" closed="yes" k="highway" v="pedestrian" zoom-min="10"> <rule e="way" closed="yes" k="highway" v="pedestrian" zoom-min="10">
<area fill="#ffffff"/> <area fill="#ffffff"/>
</rule> </rule>
<rule e="way" closed="yes" k="leisure" v="pitch|playground|track|ls_track" zoom-min="10"> <rule e="way" closed="yes" k="leisure" v="pitch|playground|track" zoom-min="10">
<area fill="#e3edc6" stroke="#c9d3a5" stroke-width="1" scale="none"/> <area fill="#e3edc6" stroke="#c9d3a5" stroke-width="1" scale="none"/>
</rule> </rule>
<rule e="way" closed="no" k="leisure" v="track|ls_track" zoom-min="10"> <rule e="way" closed="yes" k="leisure" v="swimming_pool" zoom-min="10">
<line stroke="#c9d3a5" stroke-width="0.3"/>
<line stroke="#e3edc6" stroke-width="0.2"/>
</rule>
<rule e="way" closed="yes" k="leisure" v="swimming_pool" zoom-min="12">
<area fill="#9fc4e1" stroke="#4398d9" stroke-width="1" scale="none"/> <area fill="#9fc4e1" stroke="#4398d9" stroke-width="1" scale="none"/>
</rule> </rule>
<rule e="way" closed="yes" k="amenity" v="fountain" zoom-min="12"> <rule e="way" k="leisure" v="track" zoom-min="10">
<area fill="#9fc4e1"/> <line stroke="#e3edc6" stroke-width="1"/>
</rule> </rule>
<!-- Area overlays --> <!-- Area overlays -->
@ -214,11 +201,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 +390,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 +415,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">
@ -469,7 +449,7 @@
<!-- Railways --> <!-- Railways -->
<rule e="way" k="tunnel" v="~|false|no"> <rule e="way" k="tunnel" v="~|false|no">
<rule e="way" k="railway" v="rail|preserved|disused"> <rule e="way" k="railway" v="rail">
<rule e="way" k="*" v="*" zoom-min="10" zoom-max="12"> <rule e="way" k="*" v="*" zoom-min="10" zoom-max="12">
<line stroke="#717171" stroke-width="1" stroke-linecap="butt"/> <line stroke="#717171" stroke-width="1" stroke-linecap="butt"/>
</rule> </rule>
@ -486,15 +466,12 @@
<line stroke="#ffffff" stroke-width="0.4608" stroke-dasharray="2,2" stroke-linecap="butt" scale="all"/> <line stroke="#ffffff" stroke-width="0.4608" stroke-dasharray="2,2" stroke-linecap="butt" scale="all"/>
</rule> </rule>
</rule> </rule>
<rule e="way" k="railway" v="narrow_gauge|light_rail|funicular" zoom-min="14">
<line stroke="#414141" stroke-width="0.2" stroke-linecap="butt"/>
</rule>
<rule e="way" k="railway" v="tram" zoom-min="15"> <rule e="way" k="railway" v="tram" zoom-min="15">
<line stroke="#717171" stroke-width="0.2" stroke-linecap="butt"/> <line stroke="#717171" stroke-width="0.2" stroke-linecap="butt"/>
</rule> </rule>
</rule> </rule>
<rule e="way" k="tunnel" v="yes|true"> <rule e="way" k="tunnel" v="yes|true">
<rule e="way" k="railway" v="rail|preserved|disused"> <rule e="way" k="railway" v="rail">
<rule e="way" k="*" v="*" zoom-min="10" zoom-max="12"> <rule e="way" k="*" v="*" zoom-min="10" zoom-max="12">
<line stroke="#717171" stroke-width="1" stroke-linecap="butt" stroke-dasharray="10,8"/> <line stroke="#717171" stroke-width="1" stroke-linecap="butt" stroke-dasharray="10,8"/>
</rule> </rule>
@ -508,9 +485,6 @@
<line stroke="#878787" stroke-width="0.4144" stroke-linecap="butt" stroke-dasharray="2,1" scale="all"/> <line stroke="#878787" stroke-width="0.4144" stroke-linecap="butt" stroke-dasharray="2,1" scale="all"/>
</rule> </rule>
</rule> </rule>
<rule e="way" k="railway" v="narrow_gauge|light_rail|funicular" zoom-min="14">
<line stroke="#414141" stroke-width="0.2" stroke-linecap="butt" stroke-dasharray="12,4"/>
</rule>
<rule e="way" k="railway" v="tram" zoom-min="15"> <rule e="way" k="railway" v="tram" zoom-min="15">
<line stroke="#717171" stroke-width="0.2" stroke-linecap="butt" stroke-dasharray="12,4"/> <line stroke="#717171" stroke-width="0.2" stroke-linecap="butt" stroke-dasharray="12,4"/>
</rule> </rule>
@ -553,91 +527,45 @@
</rule> </rule>
</rule> </rule>
<!-- Town & village names --> <!-- Town & vilage names -->
<rule e="node" k="place" v="locality|isolated_dwelling|farm" zoom-min="14"> <rule e="node" k="place" v="locality|isolated_dwelling|farm" zoom-min="14">
<caption fill="#000000" font-size="10" k="name" priority="10" stroke="#FFFFFF" stroke-width="2"/> <caption fill="#000000" font-size="10" k="name" priority="10" stroke="#FFFFFF" stroke-width="2"/>
</rule> </rule>
<rule e="node" k="place" v="hamlet" zoom-min="12"> <rule e="node" k="place" v="hamlet" zoom-min="12">
<caption fill="#000000" font-size="14" k="name" priority="20" stroke="#FFFFFF" stroke-width="2"/> <caption fill="#000000" font-size="12" k="name" priority="20" stroke="#FFFFFF" stroke-width="2"/>
</rule> </rule>
<rule e="node" k="place" v="village" zoom-min="11"> <rule e="node" k="place" v="village" zoom-min="11">
<caption fill="#000000" font-size="14" k="name" priority="20" stroke="#FFFFFF" stroke-width="2"/> <caption fill="#000000" font-size="12" k="name" priority="20" stroke="#FFFFFF" stroke-width="2"/>
</rule> </rule>
<rule e="node" k="place" v="town" zoom-min="9" zoom-max="14"> <rule e="node" k="place" v="town" zoom-min="9">
<rule e="node" k="*" v="*" zoom-max="10"> <caption fill="#000000" font-size="14" k="name" priority="30" stroke="#FFFFFF" stroke-width="2"/>
<caption fill="#000000" font-size="14" k="name" priority="30" stroke="#FFFFFF" stroke-width="2"/>
</rule>
<rule e="node" k="*" v="*" zoom-min="11">
<caption fill="#000000" font-size="16" k="name" font-style="bold" priority="30" stroke="#FFFFFF" stroke-width="2"/>
</rule>
</rule> </rule>
<rule e="node" k="place" v="city"> <rule e="node" k="place" v="city">
<rule e="node" k="*" v="*" zoom-max="10"> <rule e="node" k="capital" v="yes|1|2">
<rule e="node" k="capital" v="2"> <caption fill="#000000" font-size="16" font-style="bold" k="name" priority="40" stroke="#FFFFFF" stroke-width="2" text-transform="uppercase"/>
<caption fill="#000000" font-size="18" font-style="bold" k="name" priority="40" stroke="#FFFFFF" stroke-width="2" text-transform="uppercase"/>
</rule>
<rule e="node" k="capital" v="4|~">
<caption fill="#000000" font-size="18" font-style="bold" k="name" priority="35" stroke="#FFFFFF" stroke-width="2"/>
</rule>
</rule> </rule>
<rule e="node" k="*" v="*" zoom-min="11" zoom-max="14"> <rule e="node" k="capital" v="no|~">
<rule e="node" k="capital" v="2"> <caption fill="#000000" font-size="16" font-style="bold" k="name" priority="35" stroke="#FFFFFF" stroke-width="2"/>
<caption fill="#000000" font-size="22" font-style="bold" k="name" priority="40" stroke="#FFFFFF" stroke-width="2" text-transform="uppercase"/>
</rule>
<rule e="node" k="capital" v="4|~">
<caption fill="#000000" font-size="22" font-style="bold" k="name" priority="35" stroke="#FFFFFF" stroke-width="2"/>
</rule>
</rule> </rule>
</rule> </rule>
<rule e="node" k="place" v="suburb">
<rule e="node" k="*" v="*" zoom-min="12" zoom-max="13">
<caption fill="#000000" font-size="14" k="name" priority="25" stroke="#FFFFFF" stroke-width="2"/>
</rule>
<rule e="node" k="*" v="*" zoom-min="14" zoom-max="17">
<caption fill="#000000" font-size="16" k="name" priority="25" stroke="#FFFFFF" stroke-width="2"/>
</rule>
</rule>
<rule e="node" k="place" v="quarter" zoom-min="14" zoom-max="17">
<caption fill="#000000" font-size="14" k="name" priority="20" stroke="#FFFFFF" stroke-width="2"/>
</rule>
<rule e="node" k="place" v="neighbourhood" zoom-min="15" zoom-max="17">
<caption fill="#000000" font-size="12" k="name" priority="15" stroke="#FFFFFF" stroke-width="2"/>
</rule>
<!-- Nature POIs --> <!-- Nature POIs -->
<rule e="node" k="natural" v="peak" zoom-min="13"> <rule e="node" k="natural" v="peak" zoom-min="13">
<rule e="node" k="ele" v="*"> <rule e="node" k="name" v="*">
<rule e="node" k="name" v="*"> <symbol id="peak" src=":/POI/mountain-11.svg" symbol-width="11" priority="10"/>
<symbol id="peak" src=":/POI/triangle-11.svg" symbol-width="11" priority="10"/> <caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="peak"/>
<caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="peak"/>
<rule e="node" k="*" v="*" zoom-min="14">
<caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="ele" stroke="#FFFFFF" stroke-width="2" symbol-id="peak" priority="-1"/>
</rule>
</rule>
</rule>
<rule e="node" k="ele" v="~" zoom-min="15">
<rule e="node" k="name" v="*">
<symbol id="peak-minor" src=":/POI/triangle-stroked-11.svg" symbol-width="11" priority="5"/>
<caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="peak-minor"/>
</rule>
</rule> </rule>
</rule> </rule>
<rule e="node" k="natural" v="saddle" zoom-min="13"> <rule e="node" k="natural" v="saddle" zoom-min="13">
<rule e="node" k="name" v="*"> <rule e="node" k="name" v="*">
<symbol id="saddle" src=":/symbols/saddle.svg" symbol-width="9" symbol-height="11" priority="9"/> <symbol id="saddle" src=":/symbols/saddle.svg" symbol-width="9" symbol-height="11" priority="9"/>
<caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="saddle"/> <caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="saddle"/>
<rule e="node" k="*" v="*" zoom-min="14">
<caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="ele" stroke="#FFFFFF" stroke-width="2" symbol-id="saddle" priority="-1"/>
</rule>
</rule> </rule>
</rule> </rule>
<rule e="node" k="natural" v="volcano" zoom-min="13"> <rule e="node" k="natural" v="volcano" zoom-min="13">
<rule e="node" k="name" v="*"> <rule e="node" k="name" v="*">
<symbol id="volcano" src=":/POI/volcano-11.svg" symbol-width="11" priority="10"/> <symbol id="volcano" src=":/POI/volcano-11.svg" symbol-width="11" priority="10"/>
<caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="volcano"/> <caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="volcano"/>
<rule e="node" k="*" v="*" zoom-min="14">
<caption fill="#000000" font-size="10" font-family="serif" font-style="italic" k="ele" stroke="#FFFFFF" stroke-width="2" symbol-id="volcano" priority="-1"/>
</rule>
</rule> </rule>
</rule> </rule>
<rule e="node" k="waterway" v="waterfall" zoom-min="15"> <rule e="node" k="waterway" v="waterfall" zoom-min="15">
@ -854,7 +782,7 @@
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="post"/> <caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="post"/>
</rule> </rule>
</rule> </rule>
<rule e="any" k="historic" v="memorial|monument" zoom-min="17"> <rule e="any" k="historic" v="memorial" zoom-min="17">
<symbol id="memorial" src=":/POI/monument-11.svg" symbol-width="11"/> <symbol id="memorial" src=":/POI/monument-11.svg" symbol-width="11"/>
<rule e="any" k="*" v="*" zoom-min="18"> <rule e="any" k="*" v="*" zoom-min="18">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="memorial"/> <caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="memorial"/>
@ -887,7 +815,7 @@
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="townhall"/> <caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="townhall"/>
</rule> </rule>
</rule> </rule>
<rule e="any" k="amenity" v="university|college" zoom-min="16"> <rule e="any" k="amenity" v="university" zoom-min="16">
<symbol id="university" src=":/POI/college-11.svg" symbol-width="11"/> <symbol id="university" src=":/POI/college-11.svg" symbol-width="11"/>
<rule e="any" k="*" v="*" zoom-min="17"> <rule e="any" k="*" v="*" zoom-min="17">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="university"/> <caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="university"/>
@ -962,36 +890,6 @@
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="skateboard"/> <caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="skateboard"/>
</rule> </rule>
</rule> </rule>
<rule e="any" k="sport" v="baseball" zoom-min="17">
<symbol id="baseball" src=":/POI/baseball-11.svg" symbol-width="11"/>
<rule e="any" k="*" v="*" zoom-min="18">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="baseball"/>
</rule>
</rule>
<rule e="any" k="sport" v="basketball" zoom-min="17">
<symbol id="basketball" src=":/POI/basketball-11.svg" symbol-width="11"/>
<rule e="any" k="*" v="*" zoom-min="18">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="basketball"/>
</rule>
</rule>
<rule e="any" k="sport" v="volleyball" zoom-min="17">
<symbol id="volleyball" src=":/POI/volleyball-11.svg" symbol-width="11"/>
<rule e="any" k="*" v="*" zoom-min="18">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="volleyball"/>
</rule>
</rule>
<rule e="any" k="sport" v="equestrian" zoom-min="17">
<symbol id="equestrian" src=":/POI/horse-riding-11.svg" symbol-width="11"/>
<rule e="any" k="*" v="*" zoom-min="18">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="equestrian"/>
</rule>
</rule>
<rule e="any" k="sport" v="cricket" zoom-min="17">
<symbol id="cricket" src=":/POI/cricket-11.svg" symbol-width="11"/>
<rule e="any" k="*" v="*" zoom-min="18">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="cricket"/>
</rule>
</rule>
<rule e="any" k="amenity" v="restaurant" zoom-min="17"> <rule e="any" k="amenity" v="restaurant" zoom-min="17">
<symbol id="restaurant" src=":/POI/restaurant-11.svg" symbol-width="11" priority="-5"/> <symbol id="restaurant" src=":/POI/restaurant-11.svg" symbol-width="11" priority="-5"/>
@ -1101,37 +999,4 @@
</rule> </rule>
</rule> </rule>
<rule e="any" k="military" v="bunker|bunker_disused" zoom-min="17">
<symbol id="bunker" src=":/symbols/bunker.svg" symbol-width="11" symbol-height="9"/>
<rule e="any" k="*" v="*" zoom-min="18">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="bunker"/>
</rule>
</rule>
<rule e="any" k="historic" v="wayside_cross|wayside_shrine" zoom-min="17">
<symbol id="wayside-cross" src=":/symbols/cross.svg" symbol-width="6" symbol-height="8"/>
<rule e="any" k="*" v="*" zoom-min="18">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="wayside-cross"/>
</rule>
</rule>
<rule e="any" k="leisure" v="slipway" zoom-min="16">
<symbol id="slipway" src=":/POI/slipway-11.svg" symbol-width="11"/>
<rule e="any" k="*" v="*" zoom-min="17">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" symbol-id="slipway"/>
</rule>
</rule>
<rule e="any" k="power" v="plant" zoom-min="15">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2" priority="1"/>
</rule>
<rule e="any" k="landuse" v="quarry" zoom-min="14">
<caption fill="#000000" font-size="10" font-style="italic" k="name" stroke="#FFFFFF" stroke-width="2"/>
</rule>
<rule e="any" k="emergency" v="phone" zoom-min="16">
<symbol id="phone" src=":/POI/telephone-11.svg" symbol-width="11"/>
</rule>
<rule e="any" k="emergency" v="defibrillator" zoom-min="16">
<symbol id="defibrillator" src=":/POI/defibrillator-11.svg" symbol-width="11"/>
</rule>
</rendertheme> </rendertheme>

View File

@ -3,7 +3,8 @@ unix:!macx:!android {
} else { } else {
TARGET = GPXSee TARGET = GPXSee
} }
VERSION = 13.39 VERSION = 13.30
QT += core \ QT += core \
gui \ gui \
@ -117,11 +118,6 @@ HEADERS += src/common/config.h \
src/data/gpsdumpparser.h \ src/data/gpsdumpparser.h \
src/data/style.h \ src/data/style.h \
src/data/twonavparser.h \ src/data/twonavparser.h \
src/data/txtparser.h \
src/data/vkxparser.h \
src/data/vtkparser.h \
src/map/ENC/data.h \
src/map/IMG/light.h \
src/map/downloader.h \ src/map/downloader.h \
src/map/demloader.h \ src/map/demloader.h \
src/map/ENC/attributes.h \ src/map/ENC/attributes.h \
@ -347,9 +343,6 @@ SOURCES += src/main.cpp \
src/GUI/pngexportdialog.cpp \ src/GUI/pngexportdialog.cpp \
src/GUI/projectioncombobox.cpp \ src/GUI/projectioncombobox.cpp \
src/GUI/passwordedit.cpp \ src/GUI/passwordedit.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 \
@ -530,7 +523,7 @@ win32 {
RESOURCES += theme-color.qrc RESOURCES += theme-color.qrc
QMAKE_TARGET_DESCRIPTION = GPXSee QMAKE_TARGET_DESCRIPTION = GPXSee
QMAKE_TARGET_COPYRIGHT = Copyright (c) 2015-2025 Martin Tuma QMAKE_TARGET_COPYRIGHT = Copyright (c) 2015-2024 Martin Tuma
RC_ICONS = icons/app/gpxsee.ico \ RC_ICONS = icons/app/gpxsee.ico \
icons/formats/gpx.ico \ icons/formats/gpx.ico \
icons/formats/tcx.ico \ icons/formats/tcx.ico \
@ -565,9 +558,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

@ -6,9 +6,7 @@
<!-- Common map stuff --> <!-- Common map stuff -->
<qresource prefix="/symbols"> <qresource prefix="/symbols">
<file alias="bunker.svg">icons/map/symbols/bunker.svg</file>
<file alias="cliff.svg">icons/map/symbols/cliff.svg</file> <file alias="cliff.svg">icons/map/symbols/cliff.svg</file>
<file alias="cross.svg">icons/map/symbols/cross.svg</file>
<file alias="exit.svg">icons/map/symbols/exit.svg</file> <file alias="exit.svg">icons/map/symbols/exit.svg</file>
<file alias="flow.svg">icons/map/symbols/flow.svg</file> <file alias="flow.svg">icons/map/symbols/flow.svg</file>
<file alias="oneway.svg">icons/map/symbols/oneway.svg</file> <file alias="oneway.svg">icons/map/symbols/oneway.svg</file>
@ -25,8 +23,6 @@
<file alias="bank-11.svg">icons/map/POI/bank-11.svg</file> <file alias="bank-11.svg">icons/map/POI/bank-11.svg</file>
<file alias="bar-11.svg">icons/map/POI/bar-11.svg</file> <file alias="bar-11.svg">icons/map/POI/bar-11.svg</file>
<file alias="barrier-11.svg">icons/map/POI/barrier-11.svg</file> <file alias="barrier-11.svg">icons/map/POI/barrier-11.svg</file>
<file alias="baseball-11.svg">icons/map/POI/baseball-11.svg</file>
<file alias="basketball-11.svg">icons/map/POI/basketball-11.svg</file>
<file alias="bbq-11.svg">icons/map/POI/bbq-11.svg</file> <file alias="bbq-11.svg">icons/map/POI/bbq-11.svg</file>
<file alias="beach-11.svg">icons/map/POI/beach-11.svg</file> <file alias="beach-11.svg">icons/map/POI/beach-11.svg</file>
<file alias="beer-11.svg">icons/map/POI/beer-11.svg</file> <file alias="beer-11.svg">icons/map/POI/beer-11.svg</file>
@ -48,11 +44,9 @@
<file alias="college-11.svg">icons/map/POI/college-11.svg</file> <file alias="college-11.svg">icons/map/POI/college-11.svg</file>
<file alias="communications-tower-11.svg">icons/map/POI/communications-tower-11.svg</file> <file alias="communications-tower-11.svg">icons/map/POI/communications-tower-11.svg</file>
<file alias="convenience-11.svg">icons/map/POI/convenience-11.svg</file> <file alias="convenience-11.svg">icons/map/POI/convenience-11.svg</file>
<file alias="cricket-11.svg">icons/map/POI/cricket-11.svg</file>
<file alias="cross-11.svg">icons/map/POI/cross-11.svg</file> <file alias="cross-11.svg">icons/map/POI/cross-11.svg</file>
<file alias="dam-11.svg">icons/map/POI/dam-11.svg</file> <file alias="dam-11.svg">icons/map/POI/dam-11.svg</file>
<file alias="danger-11.svg">icons/map/POI/danger-11.svg</file> <file alias="danger-11.svg">icons/map/POI/danger-11.svg</file>
<file alias="defibrillator-11.svg">icons/map/POI/defibrillator-11.svg</file>
<file alias="doctor-11.svg">icons/map/POI/doctor-11.svg</file> <file alias="doctor-11.svg">icons/map/POI/doctor-11.svg</file>
<file alias="drinking-water-11.svg">icons/map/POI/drinking-water-11.svg</file> <file alias="drinking-water-11.svg">icons/map/POI/drinking-water-11.svg</file>
<file alias="fast-food-11.svg">icons/map/POI/fast-food-11.svg</file> <file alias="fast-food-11.svg">icons/map/POI/fast-food-11.svg</file>
@ -72,7 +66,6 @@
<file alias="hardware-11.svg">icons/map/POI/hardware-11.svg</file> <file alias="hardware-11.svg">icons/map/POI/hardware-11.svg</file>
<file alias="heliport-11.svg">icons/map/POI/heliport-11.svg</file> <file alias="heliport-11.svg">icons/map/POI/heliport-11.svg</file>
<file alias="home-11.svg">icons/map/POI/home-11.svg</file> <file alias="home-11.svg">icons/map/POI/home-11.svg</file>
<file alias="horse-riding-11.svg">icons/map/POI/horse-riding-11.svg</file>
<file alias="hospital-11.svg">icons/map/POI/hospital-11.svg</file> <file alias="hospital-11.svg">icons/map/POI/hospital-11.svg</file>
<file alias="hot-spring.svg">icons/map/POI/hot-spring.svg</file> <file alias="hot-spring.svg">icons/map/POI/hot-spring.svg</file>
<file alias="ice-cream-11.svg">icons/map/POI/ice-cream-11.svg</file> <file alias="ice-cream-11.svg">icons/map/POI/ice-cream-11.svg</file>
@ -88,7 +81,6 @@
<file alias="observation-tower.svg">icons/map/POI/observation-tower.svg</file> <file alias="observation-tower.svg">icons/map/POI/observation-tower.svg</file>
<file alias="park-11.svg">icons/map/POI/park-11.svg</file> <file alias="park-11.svg">icons/map/POI/park-11.svg</file>
<file alias="parking-11.svg">icons/map/POI/parking-11.svg</file> <file alias="parking-11.svg">icons/map/POI/parking-11.svg</file>
<file alias="parking-garage-11.svg">icons/map/POI/parking-garage-11.svg</file>
<file alias="pharmacy-11.svg">icons/map/POI/pharmacy-11.svg</file> <file alias="pharmacy-11.svg">icons/map/POI/pharmacy-11.svg</file>
<file alias="picnic-site-11.svg">icons/map/POI/picnic-site-11.svg</file> <file alias="picnic-site-11.svg">icons/map/POI/picnic-site-11.svg</file>
<file alias="place-of-worship-11.svg">icons/map/POI/place-of-worship-11.svg</file> <file alias="place-of-worship-11.svg">icons/map/POI/place-of-worship-11.svg</file>
@ -111,7 +103,6 @@
<file alias="skateboard-11.svg">icons/map/POI/skateboard-11.svg</file> <file alias="skateboard-11.svg">icons/map/POI/skateboard-11.svg</file>
<file alias="skiing-11.svg">icons/map/POI/skiing-11.svg</file> <file alias="skiing-11.svg">icons/map/POI/skiing-11.svg</file>
<file alias="slaughterhouse-11.svg">icons/map/POI/slaughterhouse-11.svg</file> <file alias="slaughterhouse-11.svg">icons/map/POI/slaughterhouse-11.svg</file>
<file alias="slipway-11.svg">icons/map/POI/slipway-11.svg</file>
<file alias="soccer-11.svg">icons/map/POI/soccer-11.svg</file> <file alias="soccer-11.svg">icons/map/POI/soccer-11.svg</file>
<file alias="stadium-11.svg">icons/map/POI/stadium-11.svg</file> <file alias="stadium-11.svg">icons/map/POI/stadium-11.svg</file>
<file alias="swimming-11.svg">icons/map/POI/swimming-11.svg</file> <file alias="swimming-11.svg">icons/map/POI/swimming-11.svg</file>
@ -120,12 +111,9 @@
<file alias="theatre-11.svg">icons/map/POI/theatre-11.svg</file> <file alias="theatre-11.svg">icons/map/POI/theatre-11.svg</file>
<file alias="toilet-11.svg">icons/map/POI/toilet-11.svg</file> <file alias="toilet-11.svg">icons/map/POI/toilet-11.svg</file>
<file alias="town-hall-11.svg">icons/map/POI/town-hall-11.svg</file> <file alias="town-hall-11.svg">icons/map/POI/town-hall-11.svg</file>
<file alias="triangle-11.svg">icons/map/POI/triangle-11.svg</file>
<file alias="triangle-stroked-11.svg">icons/map/POI/triangle-stroked-11.svg</file>
<file alias="viewpoint-11.svg">icons/map/POI/viewpoint-11.svg</file> <file alias="viewpoint-11.svg">icons/map/POI/viewpoint-11.svg</file>
<file alias="village-11.svg">icons/map/POI/village-11.svg</file> <file alias="village-11.svg">icons/map/POI/village-11.svg</file>
<file alias="volcano-11.svg">icons/map/POI/volcano-11.svg</file> <file alias="volcano-11.svg">icons/map/POI/volcano-11.svg</file>
<file alias="volleyball-11.svg">icons/map/POI/volleyball-11.svg</file>
<file alias="water-11.svg">icons/map/POI/water-11.svg</file> <file alias="water-11.svg">icons/map/POI/water-11.svg</file>
<file alias="waterfall-11.svg">icons/map/POI/waterfall-11.svg</file> <file alias="waterfall-11.svg">icons/map/POI/waterfall-11.svg</file>
<file alias="watermill-11.svg">icons/map/POI/watermill-11.svg</file> <file alias="watermill-11.svg">icons/map/POI/watermill-11.svg</file>
@ -193,10 +181,6 @@
<file alias="overfalls.png">icons/map/marine/overfalls.png</file> <file alias="overfalls.png">icons/map/marine/overfalls.png</file>
<file alias="boarding-place.png">icons/map/marine/boarding-place.png</file> <file alias="boarding-place.png">icons/map/marine/boarding-place.png</file>
<file alias="light.png">icons/map/marine/light.png</file> <file alias="light.png">icons/map/marine/light.png</file>
<file alias="light-red.png">icons/map/marine/light-red.png</file>
<file alias="light-green.png">icons/map/marine/light-green.png</file>
<file alias="light-yellow.png">icons/map/marine/light-yellow.png</file>
<file alias="light-white.png">icons/map/marine/light-white.png</file>
<file alias="building.png">icons/map/marine/building.png</file> <file alias="building.png">icons/map/marine/building.png</file>
<file alias="fog-signal.png">icons/map/marine/fog-signal.png</file> <file alias="fog-signal.png">icons/map/marine/fog-signal.png</file>
<file alias="construction.png">icons/map/marine/construction.png</file> <file alias="construction.png">icons/map/marine/construction.png</file>
@ -210,13 +194,6 @@
<file alias="kelp.png">icons/map/marine/kelp.png</file> <file alias="kelp.png">icons/map/marine/kelp.png</file>
<file alias="eddies.png">icons/map/marine/eddies.png</file> <file alias="eddies.png">icons/map/marine/eddies.png</file>
<file alias="dome.png">icons/map/marine/dome.png</file> <file alias="dome.png">icons/map/marine/dome.png</file>
<file alias="radar-reflector.png">icons/map/marine/radar-reflector.png</file>
<file alias="24h-anchorage.png">icons/map/marine/24h-anchorage.png</file>
<file alias="dw-anchorage.png">icons/map/marine/dw-anchorage.png</file>
<file alias="tanker-anchorage.png">icons/map/marine/tanker-anchorage.png</file>
<file alias="nature-reserve-line.png">icons/map/marine/nature-reserve-line.png</file>
<file alias="sanctuary-line.png">icons/map/marine/sanctuary-line.png</file>
<file alias="fishing-farm.png">icons/map/marine/fishing-farm.png</file>
</qresource> </qresource>
<!-- Patterns (Mapsforge) --> <!-- Patterns (Mapsforge) -->

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

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" id="baseball-11" xmlns="http://www.w3.org/2000/svg" width="11px" height="11px" viewBox="0 0 11 11">
<path d="M7,3c0,0.5523-0.4477,1-1,1S5,3.5523,5,3s0.4477-1,1-1S7,2.4477,7,3z M9.85,10.24L9.85,10.24l-3-4.85&#xA;&#x9;C6.7391,5.2011,6.5603,5.0616,6.35,5H2.5C2.2239,5,2,5.2239,2,5.5S2.2239,6,2.5,6H5l0.92,1.09l-2.73,3l0,0&#xA;&#x9;C3.0637,10.1876,2.9928,10.3405,3,10.5C3,10.7761,3.2239,11,3.5,11c0.1224-0.0006,0.2401-0.047,0.33-0.13l0,0l3-2.71L9,10.81l0,0&#xA;&#x9;c0.0912,0.1178,0.231,0.1877,0.38,0.19c0.2761,0,0.5-0.2239,0.5-0.5C9.8938,10.4122,9.8834,10.3223,9.85,10.24z M4,0.28&#xA;&#x9;C4,0.1254,3.8746,0,3.72,0C3.6221,0.0262,3.5348,0.0821,3.47,0.16L2,4.59C1.9941,4.6331,1.9941,4.6769,2,4.72&#xA;&#x9;C2,4.8746,2.1254,5,2.28,5c0.1015-0.0243,0.1926-0.0803,0.26-0.16L4,0.41C4.006,0.3669,4.006,0.3231,4,0.28z"/>
</svg>

Before

Width:  |  Height:  |  Size: 876 B

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="basketball-11" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11">
<path id="icon_concepts:_sports_leisure" d="M2.63,3.51a5.1555,5.1555,0,0,1,.34,1.48H2.04A3.2586,3.2586,0,0,1,2.63,3.51Zm.55-.63a6.2022,6.2022,0,0,1,.55,2.11H5.12V2.01A3.4256,3.4256,0,0,0,3.18,2.88Zm2.7-.87V4.99H7.27a6.2022,6.2022,0,0,1,.55-2.11A3.4256,3.4256,0,0,0,5.88,2.01Zm2.49,1.5a5.1555,5.1555,0,0,0-.34,1.48h.93A3.2586,3.2586,0,0,0,8.37,3.51ZM9.9,6.5a.4952.4952,0,0,1-.49.5H8.44L7.91,8.05v1.7a.2176.2176,0,0,1-.14.2.236.236,0,0,1-.08.02.1987.1987,0,0,1-.16-.07l-.75-.74-1.16.77a.2107.2107,0,0,1-.24,0L4.22,9.16l-.75.74a.2222.2222,0,0,1-.38-.15V8.05L2.57,7H1.6a.5.5,0,1,1,0-1H9.4a.4951.4951,0,0,1,.5.49ZM3.53,8V9.22l.5-.5c.01,0,.01-.01.02-.01L5.1,7H3.06l.45.9A.3561.3561,0,0,1,3.53,8Zm2.97.82-1-1.63-1,1.63,1,.67ZM7.94,7H5.9L6.95,8.71c.01,0,.01.01.02.01l.5.5V8a.3561.3561,0,0,1,.02-.1Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 944 B

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" id="cricket-11" xmlns="http://www.w3.org/2000/svg" width="11px" height="11px" viewBox="0 0 11 11">
<path d="M6,1c0,0.5523-0.4477,1-1,1S4,1.5523,4,1s0.4477-1,1-1S6,0.4477,6,1z M8.88,5.18l-1-2l0,0l0,0&#xA;&#x9;C7.7859,3.0671,7.647,3.0012,7.5,3H2.77C2.3827,2.9815,2.0467,3.2651,2,3.65l0,0l-1,6.71l0,0c-0.0068,0.0464-0.0068,0.0936,0,0.14&#xA;&#x9;C1,10.7761,1.2239,11,1.5,11c0.2307,0.0129,0.4391-0.1371,0.5-0.36l0,0l1.22-3.89l0,0l0.21-0.83l0.4,0.44l0,0L5,7.6v2.9&#xA;&#x9;C5,10.7761,5.2239,11,5.5,11S6,10.7761,6,10.5v-3l0,0l0,0C5.9971,7.3984,5.9621,7.3004,5.9,7.22l0,0L4.45,5.5L5.5,4h1.71l0.92,1.84&#xA;&#x9;l0,0C8.2247,5.9439,8.3594,6.0022,8.5,6C8.7723,6.0001,8.9946,5.7822,9,5.51C8.9826,5.3931,8.9418,5.2808,8.88,5.18z M10.5,8&#xA;&#x9;C10.2239,8,10,8.2239,10,8.5S10.2239,9,10.5,9S11,8.7761,11,8.5S10.7761,8,10.5,8z M8.69,8V7.25C8.69,7.1119,8.5781,7,8.44,7&#xA;&#x9;S8.19,7.1119,8.19,7.25V8C8.0378,8.0855,7.9426,8.2455,7.94,8.42v2.08c0,0.2761,0.2239,0.5,0.5,0.5s0.5-0.2239,0.5-0.5V8.41&#xA;&#x9;C8.9339,8.2391,8.8392,8.0837,8.69,8z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11" id="defibrillator-11">
<path d="M1.42,4.7955C-0.2131,1.5291,3.9327-.6514,5.512,2.6149,7.0914-.6514,11.2371,1.5291,9.6039,4.7955c-0.0225.0377-.0483,0.0732-0.071,0.1108H8.3867L7.5586,3.252a0.65,0.65,0,0,0-1.1172,0L5,6.1338,4.5586,5.252A0.6243,0.6243,0,0,0,4,4.9063H1.4913C1.4685,4.8687,1.4427,4.8332,1.42,4.7955ZM8,6.1563a0.6243,0.6243,0,0,1-.5586-0.3457L7,4.9287,5.5586,7.8105a0.6241,0.6241,0,0,1-1.1172,0L3.6133,6.1563H2.3006a24.2269,24.2269,0,0,0,2.8973,3.449L5.2134,9.6208A0.44,0.44,0,0,0,5.835,9.6053a24.2289,24.2289,0,0,0,2.8905-3.449H8Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 675 B

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="horse-riding-11" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11">
<path d="M4,1A1,1,0,1,1,5,2,1,1,0,0,1,4,1Zm6.88,3.5L9,3V2.5L7,5H6L7,6V7.014a.5.5,0,1,1-1,0V6.5L4,5H3a1,1,0,0,0-.8.446A1.189,1.189,0,0,0,1.247,5,1.076,1.076,0,0,0,0,5.988C0,7.3.635,7.471.635,7.471a.33.33,0,0,0,.115.023A.253.253,0,0,0,1,7.25V6a.49.49,0,0,1,.48-.5H1.5A.5.5,0,0,1,2,6V8.014l-.3.6a1.609,1.609,0,0,0-.2.6v1.542A.244.244,0,0,0,1.744,11,.255.255,0,0,0,2,10.756V9.514a.367.367,0,0,1,.1-.3l.9-1.2V9l.467,1.816A.256.256,0,0,0,3.709,11a.25.25,0,0,0,.25-.25v-.016l-.242-1.61a.6.6,0,0,1,.025-.236L3.8,8.714,4,8H6V9l.466,1.816A.256.256,0,0,0,6.709,11a.25.25,0,0,0,.25-.25L6.718,9.124a.6.6,0,0,1,.025-.236L7,8a.877.877,0,0,0,.934-.661L8.5,4.5a.6.6,0,0,0,.71.454.562.562,0,0,0,.143-.07l.9.116a.721.721,0,0,0,.392.1A.331.331,0,0,0,11,4.784.406.406,0,0,0,10.88,4.5ZM6,3.5A.51.51,0,0,0,5.5,3h-1a.482.482,0,0,0-.5.5V5H6Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 972 B

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" id="parking-garage-11" xmlns="http://www.w3.org/2000/svg" width="11px" height="11px" viewBox="0 0 11 11">
<path d="M7.25,7.44C6.8067,7.7602,6.2657,7.9158,5.72,7.88H4.45V10H3.19V4H5.8c0.5201-0.0279,1.0324,0.1358,1.44,0.46&#xA;&#x9;c0.3847,0.372,0.5828,0.8966,0.54,1.43C7.8557,6.4611,7.6596,7.0348,7.25,7.44z M6.25,5.28c-0.1946-0.1475-0.4365-0.2186-0.68-0.2&#xA;&#x9;H4.45v1.76H5.6c0.246,0.0129,0.4882-0.0654,0.68-0.22c0.1746-0.1813,0.2621-0.4293,0.24-0.68c0.023-0.2449-0.0651-0.4871-0.24-0.66&#xA;&#x9;L6.25,5.28z M10.41,3.28c0.1349-0.2403,0.0499-0.5444-0.19-0.68l-4.5-2.5c-0.1521-0.0855-0.3379-0.0855-0.49,0l-4.5,2.5&#xA;&#x9;C0.4972,2.7485,0.4288,3.0576,0.5773,3.2904C0.7144,3.5054,0.9913,3.5828,1.22,3.47l4.28-2.4l4.26,2.37&#xA;&#x9;c0.2421,0.1328,0.546,0.0442,0.6789-0.1979C10.4392,3.2414,10.4396,3.2407,10.44,3.24L10.41,3.28z"/>
</svg>

Before

Width:  |  Height:  |  Size: 899 B

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="slipway-11" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11">
<g id="slipway-final">
<path d="M1.0417,8l8,1.3794V10h-8Zm8-4-1,1v.625L3.7345,4.01l.0777-.2852.86-.8447H5.5a.35.35,0,0,0,0-.6992H4.529a.3478.3478,0,0,0-.2451.1L3.2546,3.291a.3566.3566,0,0,0-.0928.1582l-.0856.3137L1.0417,3C1.0948,4,1,5.5094,3,5.8844,3.9829,6.0687,8.0948,7,8.0948,7l1.9469-2Z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 452 B

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" id="triangle-11" xmlns="http://www.w3.org/2000/svg" width="11px" height="11px" viewBox="0 0 11 11">
<path id="rect3338" d="M5.5174,1.2315&#xA;&#x9;C5.3163,1.2253,5.1276,1.328,5.024,1.5l-4,6.6598C0.8013,8.5293,1.0679,8.9999,1.5,9h8c0.4321-0.0001,0.6987-0.4707,0.476-0.8402&#xA;&#x9;l-4-6.6598C5.8787,1.3386,5.706,1.2375,5.5174,1.2315z"/>
</svg>

Before

Width:  |  Height:  |  Size: 403 B

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" id="triangle-stroked-11" xmlns="http://www.w3.org/2000/svg" width="11px" height="11px" viewBox="0 0 11 11">
<path id="rect3338" d="M5.5174,1.2315&#xA;&#x9;C5.3163,1.2253,5.1276,1.328,5.024,1.5l-4,6.6598C0.8013,8.5293,1.0679,8.9999,1.5,9h8c0.4321-0.0001,0.6987-0.4707,0.476-0.8402&#xA;&#x9;l-4-6.6598C5.8787,1.3386,5.706,1.2375,5.5174,1.2315z M5.5,2.8627l3.0191,5.0286H2.4809L5.5,2.8627z"/>
</svg>

Before

Width:  |  Height:  |  Size: 456 B

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="volleyball-11" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11">
<path d="M9.99,5.73a3.6572,3.6572,0,0,1-.1.74A6.3224,6.3224,0,0,0,7.44,5.05a5.9537,5.9537,0,0,0-1.32-.27c-.03,0-.07-.01-.11-.01A4.6052,4.6052,0,0,1,5.5,3.64a1.0563,1.0563,0,0,1-.06-.24h.12a4.8784,4.8784,0,0,1,1.01.11,5.0388,5.0388,0,0,1,1.14.36,4.8341,4.8341,0,0,1,.94.53A5.1356,5.1356,0,0,1,9.99,5.73ZM9.33,7.31a5.1964,5.1964,0,0,0-1.36-.97c-.05.1-.11.19-.17.29a5.8645,5.8645,0,0,1-.59.82,7.1807,7.1807,0,0,1-.78.78,6.72,6.72,0,0,1-.93.65,6.3643,6.3643,0,0,1-1.86.72,4.524,4.524,0,0,0,3.72,0,4.1584,4.1584,0,0,0,1.25-.86,3.1983,3.1983,0,0,0,.43-.47,3.7473,3.7473,0,0,0,.48-.76A1.1915,1.1915,0,0,0,9.33,7.31ZM8.68,2.32a4.5077,4.5077,0,0,0-1.24-.88,3.979,3.979,0,0,0-.75-.28,4.3423,4.3423,0,0,0-1.03-.15,1.2787,1.2787,0,0,0-.32,0A5.3628,5.3628,0,0,0,5.25,2c0,.14.01.28.02.41a1.6165,1.6165,0,0,1,.22-.01,1.9237,1.9237,0,0,1,.24.01,6.6508,6.6508,0,0,1,1,.11,5.6947,5.6947,0,0,1,1,.28,6.7814,6.7814,0,0,1,1.02.47,6.6645,6.6645,0,0,1,.98.69A4.5655,4.5655,0,0,0,8.68,2.32ZM3.03,6.34a5.808,5.808,0,0,1-.4-.92,5.7849,5.7849,0,0,1-.28-1.03,6.86,6.86,0,0,1-.1-1.12V3.25a5.656,5.656,0,0,1,.07-.93A4.3939,4.3939,0,0,0,1.27,3.97,4.3206,4.3206,0,0,0,1,5.5a1.7671,1.7671,0,0,0,.01.23,4.4161,4.4161,0,0,0,.09.73,4.0749,4.0749,0,0,0,.31.91,1.0685,1.0685,0,0,0,.27-.07A5.0679,5.0679,0,0,0,3.2,6.63C3.14,6.53,3.08,6.44,3.03,6.34Zm3.88-.4a5.4992,5.4992,0,0,0-1.35-.19c-.02.03-.04.05-.06.08a6.2466,6.2466,0,0,1-.91,1.01,5.8334,5.8334,0,0,1-.8.61,6.5727,6.5727,0,0,1-1.83.82,3.1983,3.1983,0,0,0,.43.47,5.1724,5.1724,0,0,0,2.18-.51,5.4146,5.4146,0,0,0,.93-.55,5.5958,5.5958,0,0,0,.91-.84A4.8049,4.8049,0,0,0,7,6.01a.0517.0517,0,0,0,.02-.04A.2283.2283,0,0,0,6.91,5.94ZM4.88,4.78a5.6391,5.6391,0,0,1-.45-1.27,6.3861,6.3861,0,0,1-.16-.99c-.01-.17-.02-.35-.02-.52a5.83,5.83,0,0,1,.06-.84,3.9815,3.9815,0,0,0-.75.28A5.5806,5.5806,0,0,0,3.27,2.8c-.01.15-.02.3-.02.45a4.2153,4.2153,0,0,0,.04.62,4.7107,4.7107,0,0,0,.27,1.18,5.0984,5.0984,0,0,0,.42.92A.0517.0517,0,0,0,4,6.01a.1778.1778,0,0,0,.08-.07h.01a5.6817,5.6817,0,0,0,.84-1.06A.3131.3131,0,0,1,4.88,4.78Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 B

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 B

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 B

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 B

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 401 B

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 B

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 B

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 11 9" height="9" width="11" version="1.1">
<g stroke-width="1.5" stroke="#000000" fill="none">
<rect x="2" y="2" width="7" height="5"/>
<line x1="0" y1="0" x2="2" y2="2"/>
<line x1="11" y1="0" x2="9" y2="2"/>
<line x1="0" y1="9" x2="2" y2="7"/>
<line x1="11" y1="9" x2="9" y2="7"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 363 B

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 4 5" height="5" width="4" version="1.1"> <svg viewBox="0 0 4 5" height="5" width="4" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<g stroke-width="1.0" stroke="#666666"> <g>
<path d="M 0.5,0 V 5"/> <path d="M 0.5,0 V 5" stroke-width="1.0" stroke="#666666"/>
<path d="M 0,0.5 H 4"/> <path d="M 0,0.5 H 4" stroke-width="1.0" stroke="#666666"/>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 204 B

After

Width:  |  Height:  |  Size: 320 B

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="6" height="8" version="1.1" viewBox="0 0 6 8">
<path d="M 0.5,3 L 5.5,3 M 3,0.5 L 3,7.5" stroke="#000000" stroke-width="1"/>
</svg>

Before

Width:  |  Height:  |  Size: 184 B

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg width="15" height="11" viewBox="0 0 15 11" version="1.1"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15" height="11" viewBox="0 0 15 11" version="1.1">
<g stroke="none" fill="#000000"> <g>
<path d="M 15.007812 0.132812 C 15.007812 0.230469 15.007812 0.324219 15.007812 0.421875 C 14.570312 1.402344 14.0625 2.710938 13.589844 3.875 C 13.480469 4.140625 13.316406 4.886719 12.96875 4.859375 C 12.683594 4.835938 12.535156 4.089844 12.445312 3.8125 C 12.292969 3.339844 12.210938 3.003906 12.074219 2.605469 C 10.507812 3.261719 9.367188 4.308594 9.421875 6.476562 C 9.460938 8.195312 10.074219 9.632812 10.441406 11.007812 C 8.917969 11.007812 7.394531 11.007812 5.871094 11.007812 C 5.730469 7.347656 5.59375 3.683594 5.46875 0.0078125 C 5.996094 0.0078125 6.519531 0.0078125 7.042969 0.0078125 C 7.40625 1.230469 7.800781 2.421875 8.15625 3.652344 C 8.941406 2.871094 10.023438 2.042969 11.335938 1.65625 C 11.128906 1.378906 10.828125 1.179688 10.5625 0.957031 C 10.320312 0.757812 9.9375 0.570312 9.945312 0.132812 C 10.007812 0.113281 10.015625 0.0390625 10.070312 0.0078125 C 11.675781 0.0078125 13.28125 0.0078125 14.882812 0.0078125 C 14.898438 0.046875 14.921875 0.0742188 14.976562 0.0703125 C 14.972656 0.109375 14.984375 0.128906 15.007812 0.132812 Z M 15.007812 0.132812"/> <path style="stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 15.007812 0.132812 C 15.007812 0.230469 15.007812 0.324219 15.007812 0.421875 C 14.570312 1.402344 14.0625 2.710938 13.589844 3.875 C 13.480469 4.140625 13.316406 4.886719 12.96875 4.859375 C 12.683594 4.835938 12.535156 4.089844 12.445312 3.8125 C 12.292969 3.339844 12.210938 3.003906 12.074219 2.605469 C 10.507812 3.261719 9.367188 4.308594 9.421875 6.476562 C 9.460938 8.195312 10.074219 9.632812 10.441406 11.007812 C 8.917969 11.007812 7.394531 11.007812 5.871094 11.007812 C 5.730469 7.347656 5.59375 3.683594 5.46875 0.0078125 C 5.996094 0.0078125 6.519531 0.0078125 7.042969 0.0078125 C 7.40625 1.230469 7.800781 2.421875 8.15625 3.652344 C 8.941406 2.871094 10.023438 2.042969 11.335938 1.65625 C 11.128906 1.378906 10.828125 1.179688 10.5625 0.957031 C 10.320312 0.757812 9.9375 0.570312 9.945312 0.132812 C 10.007812 0.113281 10.015625 0.0390625 10.070312 0.0078125 C 11.675781 0.0078125 13.28125 0.0078125 14.882812 0.0078125 C 14.898438 0.046875 14.921875 0.0742188 14.976562 0.0703125 C 14.972656 0.109375 14.984375 0.128906 15.007812 0.132812 Z M 15.007812 0.132812 "/>
<path d="M 3.433594 0.0078125 C 3.957031 0.0078125 4.484375 0.0078125 5.007812 0.0078125 C 4.867188 3.667969 4.730469 7.332031 4.605469 11.007812 C 3.074219 11.007812 1.539062 11.007812 0.0078125 11.007812 C 0.0078125 10.976562 0.0078125 10.945312 0.0078125 10.914062 C 1.171875 7.300781 2.277344 3.628906 3.433594 0.0078125 Z M 3.433594 0.0078125"/> <path style="stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 3.433594 0.0078125 C 3.957031 0.0078125 4.484375 0.0078125 5.007812 0.0078125 C 4.867188 3.667969 4.730469 7.332031 4.605469 11.007812 C 3.074219 11.007812 1.539062 11.007812 0.0078125 11.007812 C 0.0078125 10.976562 0.0078125 10.945312 0.0078125 10.914062 C 1.171875 7.300781 2.277344 3.628906 3.433594 0.0078125 Z M 3.433594 0.0078125 "/>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 9 11" height="11" width="9" version="1.1"> <svg viewBox="0 0 9 11" height="11" width="9" version="1.1">
<g stroke-width="1" stroke="#000000" fill="none"> <g>
<path d="M 1.5,1.5 L3,3 L 3,8 L 1.5,9.5"/> <path d="M 1.5,1.5 L3,3 L 3,8 L 1.5,9.5" stroke-width="1" stroke="#000000" fill="none"/>
<path d="M 7.5,1.5 L6,3 L 6,8 L 7.5,9.5"/> <path d="M 7.5,1.5 L6,3 L 6,8 L 7.5,9.5" stroke-width="1" stroke="#000000" fill="none"/>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 254 B

After

Width:  |  Height:  |  Size: 300 B

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -21,12 +21,6 @@
<data android:scheme="content" android:mimeType="image/jpeg"/> <data android:scheme="content" android:mimeType="image/jpeg"/>
<data android:scheme="content" android:mimeType="image/tiff"/> <data android:scheme="content" android:mimeType="image/tiff"/>
</intent-filter> </intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="geo"/>
</intent-filter>
<meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/> <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
<meta-data android:name="android.app.arguments" android:value="-- %%INSERT_APP_ARGUMENTS%% --"/> <meta-data android:name="android.app.arguments" android:value="-- %%INSERT_APP_ARGUMENTS%% --"/>

View File

@ -15,9 +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 and geotagged JPEG
Vakaros VKX, 70mai GPS logs and geotagged JPEG files.</li> files.</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>
<li>Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases, <li>Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases,
@ -113,9 +112,5 @@
<mimetype>application/vnd.iho.s57-catalogue</mimetype> <mimetype>application/vnd.iho.s57-catalogue</mimetype>
<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.velocitek.vtk</mimetype>
<mimetype>application/vnd.vakaros.vkx</mimetype>
<mimetype>x-scheme-handler/geo</mimetype>
</mimetypes> </mimetypes>
</component> </component>

View File

@ -11,9 +11,9 @@ Comment[ru]=Программа для просмотра и анализа GPS
Comment[sv]=GPS-loggfilsläsare och analysator Comment[sv]=GPS-loggfilsläsare och analysator
Comment[tr]=GPS günlük dosyası görüntüleyici ve analizcisi Comment[tr]=GPS günlük dosyası görüntüleyici ve analizcisi
Comment[uk]=Переглядач та аналізатор GPS логів Comment[uk]=Переглядач та аналізатор GPS логів
Exec=gpxsee %U Exec=gpxsee %F
Icon=gpxsee 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=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

View File

@ -188,33 +188,6 @@
<glob pattern="*.wpt"/> <glob pattern="*.wpt"/>
</mime-type> </mime-type>
<mime-type type="application/vnd.70mai.txt">
<comment>70mai GPS Log File</comment>
<sub-class-of type="text/plain"/>
<generic-icon name="text/plain"/>
<magic>
<match type="string" offset="0" value="$V02"/>
</magic>
<glob pattern="*.txt"/>
</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

@ -736,66 +736,6 @@
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Viewer</string> <string>Viewer</string>
</dict> </dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>txt</string>
</array>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/vnd.70mai.txt</string>
</array>
<key>CFBundleTypeName</key>
<string>70mai GPS Log File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</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>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>geo</string>
</array>
<key>CFBundleURLName</key>
<string>org.geouri.geo</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array> </array>
<key>UTImportedTypeDeclarations</key> <key>UTImportedTypeDeclarations</key>
@ -1729,8 +1669,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 +1690,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>
@ -1768,73 +1704,6 @@
<string>application/vnd.iho.s57-catalogue</string> <string>application/vnd.iho.s57-catalogue</string>
</dict> </dict>
</dict> </dict>
<dict>
<key>UTTypeIdentifier</key>
<string>com.70mai.txt</string>
<key>UTTypeReferenceURL</key>
<string>https://forum.mapillary.com/t/using-the-70mai-a810-dashcam-for-mapillary/9130/7?u=boris</string>
<key>UTTypeDescription</key>
<string>70mai GPS Log File</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>txt</string>
</array>
<key>public.mime-type</key>
<string>application/vnd.70mai.txt</string>
</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

@ -18,18 +18,6 @@
DeleteRegKey HKCR ".${EXT}" DeleteRegKey HKCR ".${EXT}"
!macroend !macroend
; URI association
!macro URI_ASSOCIATION_ADD PROTO
WriteRegStr HKCR "${PROTO}" "" "URL:${PROTO}"
WriteRegStr HKCR "${PROTO}" "URL Protocol" ""
WriteRegStr HKCR "${PROTO}\DefaultIcon" "" "$INSTDIR\GPXSee.exe,0"
WriteRegStr HKCR "${PROTO}\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
!macroend
!macro URI_ASSOCIATION_REMOVE PROTO
DeleteRegKey HKCR "${PROTO}"
!macroend
; Translations ; Translations
!macro LOCALIZATION LANG CODE !macro LOCALIZATION LANG CODE
Section "${LANG}" Section "${LANG}"
@ -49,7 +37,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.30"
; The file to write ; The file to write
OutFile "GPXSee-${VERSION}_x64.exe" OutFile "GPXSee-${VERSION}_x64.exe"
@ -70,7 +58,7 @@ VIProductVersion "${VERSION}.0.0"
VIAddVersionKey "ProductVersion" ${VERSION} VIAddVersionKey "ProductVersion" ${VERSION}
VIAddVersionKey "FileVersion" "${VERSION}.0.0" VIAddVersionKey "FileVersion" "${VERSION}.0.0"
VIAddVersionKey "ProductName" "GPXSee" VIAddVersionKey "ProductName" "GPXSee"
VIAddVersionKey "LegalCopyright" "Copyright (c) 2015-2025 Martin Tůma" VIAddVersionKey "LegalCopyright" "Copyright (c) 2015-2024 Martin Tůma"
VIAddVersionKey "FileDescription" "GPXSee installer (x64)" VIAddVersionKey "FileDescription" "GPXSee installer (x64)"
; Registry key to check for directory (so if you install again, it will ; Registry key to check for directory (so if you install again, it will
@ -204,17 +192,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"
WriteRegStr HKCR "Applications\GPXSee.exe\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\"" WriteRegStr HKCR "Applications\GPXSee.exe\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
WriteRegStr HKCR ".gpx\OpenWithList" "GPXSee.exe" "" WriteRegStr HKCR ".gpx\OpenWithList" "GPXSee.exe" ""
@ -267,9 +251,6 @@ Section "GPXSee" SEC_APP
WriteRegStr HKCR ".gemf\OpenWithList" "GPXSee.exe" "" WriteRegStr HKCR ".gemf\OpenWithList" "GPXSee.exe" ""
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 ".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,10 +425,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"
DeleteRegValue HKCR ".gpx\OpenWithList" "GPXSee.exe" DeleteRegValue HKCR ".gpx\OpenWithList" "GPXSee.exe"
DeleteRegValue HKCR ".tcx\OpenWithList" "GPXSee.exe" DeleteRegValue HKCR ".tcx\OpenWithList" "GPXSee.exe"
@ -499,9 +476,6 @@ Section "Uninstall"
DeleteRegValue HKCR ".gemf\OpenWithList" "GPXSee.exe" DeleteRegValue HKCR ".gemf\OpenWithList" "GPXSee.exe"
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 ".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

@ -73,7 +73,9 @@ App::App(int &argc, char **argv) : QApplication(argc, argv)
#if defined(Q_OS_WIN32) || defined(Q_OS_MAC) #if defined(Q_OS_WIN32) || defined(Q_OS_MAC)
QIcon::setThemeName(APP_NAME); QIcon::setThemeName(APP_NAME);
#endif // Q_OS_WIN32 || Q_OS_MAC #endif // Q_OS_WIN32 || Q_OS_MAC
#if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0)
QIcon::setFallbackThemeName(APP_NAME); QIcon::setFallbackThemeName(APP_NAME);
#endif // QT 5.12
_gui = new GUI(); _gui = new GUI();

View File

@ -25,6 +25,15 @@
#define IW(item) ((item)->boundingRect().width()) #define IW(item) ((item)->boundingRect().width())
#define IH(item) ((item)->boundingRect().height()) #define IH(item) ((item)->boundingRect().height())
static inline QPoint POS(QWheelEvent *e)
{
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
return e->pos();
#else // QT 5.15
return e->position().toPoint();
#endif // QT 5.15
}
static inline QPoint POS(QMouseEvent *e) static inline QPoint POS(QMouseEvent *e)
{ {
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
@ -384,7 +393,7 @@ void GraphView::wheelEvent(QWheelEvent *e)
return; return;
_angleDelta = _angleDelta % (15 * 8); _angleDelta = _angleDelta % (15 * 8);
QPointF pos = mapToScene(e->position().toPoint()); QPointF pos = mapToScene(POS(e));
QRectF gr(_grid->boundingRect()); QRectF gr(_grid->boundingRect());
QPointF r(pos.x() / gr.width(), pos.y() / gr.height()); QPointF r(pos.x() / gr.width(), pos.y() / gr.height());
@ -395,8 +404,7 @@ void GraphView::wheelEvent(QWheelEvent *e)
QPointF npos(mapFromScene(QPointF(r.x() * ngr.width(), QPointF npos(mapFromScene(QPointF(r.x() * ngr.width(),
r.y() * ngr.height()))); r.y() * ngr.height())));
QScrollBar *sb = horizontalScrollBar(); QScrollBar *sb = horizontalScrollBar();
sb->setSliderPosition(sb->sliderPosition() + npos.x() sb->setSliderPosition(sb->sliderPosition() + npos.x() - POS(e).x());
- e->position().toPoint().x());
QGraphicsView::wheelEvent(e); QGraphicsView::wheelEvent(e);
} }

View File

@ -164,8 +164,7 @@ void GUI::mapInitialized()
_showMapAction->setEnabled(true); _showMapAction->setEnabled(true);
_clearMapCacheAction->setEnabled(true); _clearMapCacheAction->setEnabled(true);
} else { } else {
qWarning("%s: %s", qUtf8Printable(map->path()), qWarning("%s: %s", qPrintable(map->path()), qPrintable(map->errorString()));
qUtf8Printable(map->errorString()));
action->deleteLater(); action->deleteLater();
} }
} }
@ -1069,33 +1068,18 @@ void GUI::openDir()
bool GUI::openFile(const QString &fileName, bool tryUnknown, int &showError) bool GUI::openFile(const QString &fileName, bool tryUnknown, int &showError)
{ {
QString path; QFileInfo fi(fileName);
QString canonicalFileName(fi.canonicalFilePath());
QUrl url(fileName); if (_files.contains(canonicalFileName))
if (url.scheme() == "geo") {
if (loadURL(url, showError)) {
_fileActionGroup->setEnabled(true);
_reloadFileAction->setEnabled(false);
return true;
} else if (showError)
return false;
} else if (url.isLocalFile())
path = url.toLocalFile();
else
path = fileName;
QFileInfo fi(path);
QString canonicalPath(fi.canonicalFilePath());
if (_files.contains(canonicalPath))
return true; return true;
if (!loadFile(path, tryUnknown, showError)) if (!loadFile(fileName, tryUnknown, showError))
return false; return false;
_files.append(canonicalPath); _files.append(canonicalFileName);
#ifndef Q_OS_ANDROID #ifndef Q_OS_ANDROID
_browser->setCurrent(path); _browser->setCurrent(fileName);
#endif // Q_OS_ANDROID #endif // Q_OS_ANDROID
_fileActionGroup->setEnabled(true); _fileActionGroup->setEnabled(true);
// Explicitly enable the reload action as it may be disabled by loadMapDir() // Explicitly enable the reload action as it may be disabled by loadMapDir()
@ -1108,42 +1092,12 @@ bool GUI::openFile(const QString &fileName, bool tryUnknown, int &showError)
if (_files.count() > 1) if (_files.count() > 1)
_mapView->showExtendedInfo(true); _mapView->showExtendedInfo(true);
#ifndef Q_OS_ANDROID #ifndef Q_OS_ANDROID
updateRecentFiles(canonicalPath); updateRecentFiles(canonicalFileName);
#endif // Q_OS_ANDROID #endif // Q_OS_ANDROID
return true; return true;
} }
bool GUI::loadURL(const QUrl &url, int &showError)
{
Data data(url);
if (data.isValid()) {
loadData(data);
return true;
} else {
if (showError) {
QString error = tr("Error loading geo URI:") + "\n" + url.toString()
+ ": " + data.errorString();
if (showError > 1) {
QMessageBox message(QMessageBox::Critical, APP_NAME, error,
QMessageBox::Ok, this);
QCheckBox checkBox(tr("Don't show again"));
message.setCheckBox(&checkBox);
message.exec();
if (checkBox.isChecked())
showError = 0;
} else
QMessageBox::critical(this, APP_NAME, error);
} else
qWarning("%s: %s", qUtf8Printable(url.toString()),
qUtf8Printable(data.errorString()));
return false;
}
}
bool GUI::loadFile(const QString &fileName, bool tryUnknown, int &showError) bool GUI::loadFile(const QString &fileName, bool tryUnknown, int &showError)
{ {
Data data(fileName, tryUnknown); Data data(fileName, tryUnknown);
@ -1193,12 +1147,10 @@ void GUI::loadData(const Data &data)
_time += track.time(); _time += track.time();
_movingTime += track.movingTime(); _movingTime += track.movingTime();
const QDateTime date = track.date().toTimeZone(_options.timeZone.zone()); const QDateTime date = track.date().toTimeZone(_options.timeZone.zone());
if (date.isValid()) { if (_dateRange.first.isNull() || _dateRange.first > date)
if (_dateRange.first.isNull() || _dateRange.first > date) _dateRange.first = date;
_dateRange.first = date; if (_dateRange.second.isNull() || _dateRange.second < date)
if (_dateRange.second.isNull() || _dateRange.second < date) _dateRange.second = date;
_dateRange.second = date;
}
} }
_trackCount += data.tracks().count(); _trackCount += data.tracks().count();
@ -1897,13 +1849,7 @@ bool GUI::loadMapNode(const TreeNode<Map*> &node, MapAction *&action,
bool GUI::loadMap(const QString &fileName, MapAction *&action, int &showError) bool GUI::loadMap(const QString &fileName, MapAction *&action, int &showError)
{ {
QString path; TreeNode<Map*> maps(MapList::loadMaps(fileName, _mapView->inputProjection()));
QUrl url(fileName);
path = url.isLocalFile() ? url.toLocalFile() : fileName;
TreeNode<Map*> maps(MapList::loadMaps(path, _mapView->inputProjection()));
QList<QAction*> existingActions(_mapsActionGroup->actions()); QList<QAction*> existingActions(_mapsActionGroup->actions());
return loadMapNode(maps, action, existingActions, showError); return loadMapNode(maps, action, existingActions, showError);
@ -2500,8 +2446,12 @@ QGeoPositionInfoSource *GUI::positionSource(const Options &options)
{ {
QGeoPositionInfoSource *source; QGeoPositionInfoSource *source;
#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
source = QGeoPositionInfoSource::createSource(options.plugin, this);
#else // QT 5.14
source = QGeoPositionInfoSource::createSource(options.plugin, source = QGeoPositionInfoSource::createSource(options.plugin,
options.pluginParams.value(options.plugin), this); options.pluginParams.value(options.plugin), this);
#endif // QT 5.14
if (source) if (source)
source->setPreferredPositioningMethods( source->setPreferredPositioningMethods(
QGeoPositionInfoSource::SatellitePositioningMethods); QGeoPositionInfoSource::SatellitePositioningMethods);

View File

@ -158,7 +158,6 @@ private:
#endif // Q_OS_ANDROID #endif // Q_OS_ANDROID
bool openPOIFile(const QString &fileName); bool openPOIFile(const QString &fileName);
bool loadFile(const QString &fileName, bool tryUnknown, int &showError); bool loadFile(const QString &fileName, bool tryUnknown, int &showError);
bool loadURL(const QUrl &url, int &showError);
void loadData(const Data &data); void loadData(const Data &data);
bool loadMapNode(const TreeNode<Map*> &node, MapAction *&action, bool loadMapNode(const TreeNode<Map*> &node, MapAction *&action,
const QList<QAction*> &existingActions, int &showError); const QList<QAction*> &existingActions, int &showError);

View File

@ -638,7 +638,11 @@ void MapView::wheelEvent(QWheelEvent *event)
return; return;
_wheelDelta = _wheelDelta % (15 * 8); _wheelDelta = _wheelDelta % (15 * 8);
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
zoom((delta > 0) ? 1 : -1, event->pos(), shift);
#else // QT 5.15
zoom((delta > 0) ? 1 : -1, event->position().toPoint(), shift); zoom((delta > 0) ? 1 : -1, event->position().toPoint(), shift);
#endif // QT 5.15
/* Do not call QGraphicsView::wheelEvent() here as this would shift the /* Do not call QGraphicsView::wheelEvent() here as this would shift the
view ! */ view ! */
@ -1254,7 +1258,7 @@ void MapView::drawHillShading(bool draw)
setMap(_map); setMap(_map);
} }
void MapView::selectLayers(MapView::Layers layers) void MapView::selectLayers(Layers layers)
{ {
_layers = layers; _layers = layers;

View File

@ -136,7 +136,7 @@ public slots:
void showMotionInfo(bool show); void showMotionInfo(bool show);
void useStyles(bool use); void useStyles(bool use);
void drawHillShading(bool draw); void drawHillShading(bool draw);
void selectLayers(MapView::Layers layers); void selectLayers(Layers layers);
private slots: private slots:
void updatePOI(); void updatePOI();

View File

@ -676,17 +676,21 @@ QWidget *OptionsDialog::createPositionPage()
_positionPlugin = new QComboBox(); _positionPlugin = new QComboBox();
_positionPlugin->addItems(plugins); _positionPlugin->addItems(plugins);
_positionPlugin->setCurrentIndex(_positionPlugin->findText(_options.plugin)); _positionPlugin->setCurrentIndex(_positionPlugin->findText(_options.plugin));
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
_pluginParameters = new PluginParameters(_positionPlugin->currentText(), _pluginParameters = new PluginParameters(_positionPlugin->currentText(),
_options.pluginParams); _options.pluginParams);
connect(_positionPlugin, &QComboBox::currentTextChanged, _pluginParameters, connect(_positionPlugin, &QComboBox::currentTextChanged, _pluginParameters,
&PluginParameters::setPlugin); &PluginParameters::setPlugin);
#endif // QT 5.14
QFormLayout *pluginLayout = new QFormLayout(); QFormLayout *pluginLayout = new QFormLayout();
pluginLayout->addRow(tr("Plugin:"), _positionPlugin); pluginLayout->addRow(tr("Plugin:"), _positionPlugin);
QVBoxLayout *sourceLayout = new QVBoxLayout(); QVBoxLayout *sourceLayout = new QVBoxLayout();
sourceLayout->addLayout(pluginLayout); sourceLayout->addLayout(pluginLayout);
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
sourceLayout->addWidget(_pluginParameters); sourceLayout->addWidget(_pluginParameters);
#endif // QT 5.14
sourceLayout->addStretch(); sourceLayout->addStretch();
QWidget *sourceTab = new QWidget(); QWidget *sourceTab = new QWidget();
@ -1005,7 +1009,9 @@ void OptionsDialog::accept()
_options.hillshadingZFactor = _hillshadingZFactor->value(); _options.hillshadingZFactor = _hillshadingZFactor->value();
_options.plugin = _positionPlugin->currentText(); _options.plugin = _positionPlugin->currentText();
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
_options.pluginParams = _pluginParameters->parameters(); _options.pluginParams = _pluginParameters->parameters();
#endif // QT 5.14
_options.useOpenGL = _useOpenGL->isChecked(); _options.useOpenGL = _useOpenGL->isChecked();
_options.enableHTTP2 = _enableHTTP2->isChecked(); _options.enableHTTP2 = _enableHTTP2->isChecked();

View File

@ -193,7 +193,9 @@ private:
QDoubleSpinBox *_hillshadingZFactor; QDoubleSpinBox *_hillshadingZFactor;
// Position // Position
QComboBox *_positionPlugin; QComboBox *_positionPlugin;
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
PluginParameters *_pluginParameters; PluginParameters *_pluginParameters;
#endif // QT 5.14
// System // System
QSpinBox *_pixmapCache; QSpinBox *_pixmapCache;
QSpinBox *_demCache; QSpinBox *_demCache;

View File

@ -10,6 +10,13 @@
#include "markeritem.h" #include "markeritem.h"
#include "pathitem.h" #include "pathitem.h"
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
#define INTERSECTS intersect
#else // QT 5.15
#define INTERSECTS intersects
#endif // QT 5.15
#define GEOGRAPHICAL_MILE 1855.3248 #define GEOGRAPHICAL_MILE 1855.3248
Units PathItem::_units = Metric; Units PathItem::_units = Metric;
@ -72,14 +79,14 @@ bool PathItem::addSegment(const Coordinates &c1, const Coordinates &c2)
QLineF l(QPointF(c1.lon(), c1.lat()), QPointF(c2.lon() + 360, QLineF l(QPointF(c1.lon(), c1.lat()), QPointF(c2.lon() + 360,
c2.lat())); c2.lat()));
QLineF dl(QPointF(180, -90), QPointF(180, 90)); QLineF dl(QPointF(180, -90), QPointF(180, 90));
l.intersects(dl, &p); l.INTERSECTS(dl, &p);
_painterPath.lineTo(_map->ll2xy(Coordinates(180, p.y()))); _painterPath.lineTo(_map->ll2xy(Coordinates(180, p.y())));
_painterPath.moveTo(_map->ll2xy(Coordinates(-180, p.y()))); _painterPath.moveTo(_map->ll2xy(Coordinates(-180, p.y())));
} else { } else {
QLineF l(QPointF(c1.lon(), c1.lat()), QPointF(c2.lon() - 360, QLineF l(QPointF(c1.lon(), c1.lat()), QPointF(c2.lon() - 360,
c2.lat())); c2.lat()));
QLineF dl(QPointF(-180, -90), QPointF(-180, 90)); QLineF dl(QPointF(-180, -90), QPointF(-180, 90));
l.intersects(dl, &p); l.INTERSECTS(dl, &p);
_painterPath.lineTo(_map->ll2xy(Coordinates(-180, p.y()))); _painterPath.lineTo(_map->ll2xy(Coordinates(-180, p.y())));
_painterPath.moveTo(_map->ll2xy(Coordinates(180, p.y()))); _painterPath.moveTo(_map->ll2xy(Coordinates(180, p.y())));
} }

View File

@ -9,6 +9,9 @@
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QFormLayout> #include <QFormLayout>
#include <QApplication> #include <QApplication>
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
#include <QDesktopWidget>
#endif // QT 5.15
#include "tooltip.h" #include "tooltip.h"
#include "thumbnail.h" #include "thumbnail.h"
#include "flowlayout.h" #include "flowlayout.h"
@ -181,7 +184,11 @@ bool PopupFrame::eventFilter(QObject *o, QEvent *ev)
void PopupFrame::place(const QPoint &pos, QWidget *w) void PopupFrame::place(const QPoint &pos, QWidget *w)
{ {
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
QRect screen = QApplication::desktop()->screenGeometry(w);
#else // QT 5.15
QRect screen = w->screen()->geometry(); QRect screen = w->screen()->geometry();
#endif // QT 5.15
QPoint p(pos.x() + 2, pos.y() + 16); QPoint p(pos.x() + 2, pos.y() + 16);
if (p.x() + width() > screen.x() + screen.width()) if (p.x() + width() > screen.x() + screen.width())

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

@ -7,18 +7,15 @@ RFC 4180 parser with the following enchancements:
- allows LF line ends in addition to CRLF line ends - allows LF line ends in addition to CRLF line ends
*/ */
bool CSV::readEntry(QByteArrayList &list, int limit) bool CSV::readEntry(QByteArrayList &list)
{ {
int state = 0, len = 0; int state = 0;
char c; char c;
QByteArray field; QByteArray field;
list.clear(); list.clear();
while (_device->getChar(&c)) { while (_device->getChar(&c)) {
if (limit && ++len > limit)
return false;
switch (state) { switch (state) {
case 0: case 0:
if (c == '\r') if (c == '\r')

View File

@ -9,7 +9,7 @@ public:
CSV(QIODevice *device, char delimiter = ',') CSV(QIODevice *device, char delimiter = ',')
: _device(device), _delimiter(delimiter), _line(1) {} : _device(device), _delimiter(delimiter), _line(1) {}
bool readEntry(QByteArrayList &list, int limit = 4096); bool readEntry(QByteArrayList &list);
bool atEnd() const {return _device->atEnd();} bool atEnd() const {return _device->atEnd();}
int line() const {return _line;} int line() const {return _line;}

View File

@ -53,7 +53,7 @@ public:
bool intersects(const RectC &r) const bool intersects(const RectC &r) const
{return (right() >= r.left() && bottom() <= r.top() && left() <= r.right() {return (right() >= r.left() && bottom() <= r.top() && left() <= r.right()
&& top() >= r.bottom());} && top() >= r.bottom());}
bool contains(const Coordinates &c) const bool contains(const Coordinates&c) const
{return (c.lon() >= left() && c.lon() <= right() && c.lat() <= top() {return (c.lon() >= left() && c.lon() <= right() && c.lat() <= top()
&& c.lat() >= bottom());} && c.lat() >= bottom());}

View File

@ -115,7 +115,7 @@ public:
/// Count the data elements in this container. This is slow as no internal /// Count the data elements in this container. This is slow as no internal
/// counter is maintained. /// counter is maintained.
int Count() const; int Count();
/// Iterator is not remove safe. /// Iterator is not remove safe.
@ -363,7 +363,7 @@ protected:
void* a_context) const; void* a_context) const;
void RemoveAllRec(Node* a_node); void RemoveAllRec(Node* a_node);
void Reset(); void Reset();
void CountRec(Node* a_node, int& a_count) const; void CountRec(Node* a_node, int& a_count);
/// Root of tree /// Root of tree
Node* m_root; Node* m_root;
@ -473,7 +473,7 @@ int RTREE_QUAL::Search(const ELEMTYPE a_min[NUMDIMS], const ELEMTYPE a_max[NUMDI
RTREE_TEMPLATE RTREE_TEMPLATE
int RTREE_QUAL::Count() const int RTREE_QUAL::Count()
{ {
int count = 0; int count = 0;
CountRec(m_root, count); CountRec(m_root, count);
@ -483,7 +483,7 @@ int RTREE_QUAL::Count() const
RTREE_TEMPLATE RTREE_TEMPLATE
void RTREE_QUAL::CountRec(Node* a_node, int& a_count) const void RTREE_QUAL::CountRec(Node* a_node, int& a_count)
{ {
if (a_node->IsInternalNode()) { // not a leaf node if (a_node->IsInternalNode()) { // not a leaf node
for (int index = 0; index < a_node->m_count; ++index) for (int index = 0; index < a_node->m_count; ++index)

View File

@ -2,7 +2,6 @@
#include <QFile> #include <QFile>
#include <QFileInfo> #include <QFileInfo>
#include "common/util.h" #include "common/util.h"
#include "map/crs.h"
#include "gpxparser.h" #include "gpxparser.h"
#include "tcxparser.h" #include "tcxparser.h"
#include "csvparser.h" #include "csvparser.h"
@ -23,9 +22,6 @@
#include "onmoveparsers.h" #include "onmoveparsers.h"
#include "twonavparser.h" #include "twonavparser.h"
#include "gpsdumpparser.h" #include "gpsdumpparser.h"
#include "txtparser.h"
#include "vtkparser.h"
#include "vkxparser.h"
#include "data.h" #include "data.h"
@ -52,9 +48,6 @@ static OMDParser omd;
static GHPParser ghp; static GHPParser ghp;
static TwoNavParser twonav; static TwoNavParser twonav;
static GPSDumpParser gpsdump; static GPSDumpParser gpsdump;
static TXTParser txt;
static VTKParser vtk;
static VKXParser vkx;
static QMultiMap<QString, Parser*> parsers() static QMultiMap<QString, Parser*> parsers()
{ {
@ -88,9 +81,6 @@ static QMultiMap<QString, Parser*> parsers()
map.insert("rte", &twonav); map.insert("rte", &twonav);
map.insert("wpt", &twonav); map.insert("wpt", &twonav);
map.insert("wpt", &gpsdump); map.insert("wpt", &gpsdump);
map.insert("txt", &txt);
map.insert("vtk", &vtk);
map.insert("vkx", &vkx);
return map; return map;
} }
@ -137,11 +127,11 @@ Data::Data(const QString &fileName, bool tryUnknown)
++it; ++it;
} }
qWarning("%s:", qUtf8Printable(fileName)); qWarning("%s:", qPrintable(fileName));
for (it = _parsers.find(suffix); it != _parsers.end() for (it = _parsers.find(suffix); it != _parsers.end()
&& it.key() == suffix; it++) && it.key() == suffix; it++)
qWarning(" %s: line %d: %s", qUtf8Printable(it.key()), qWarning(" %s: line %d: %s", qPrintable(it.key()),
it.value()->errorLine(), qUtf8Printable(it.value()->errorString())); it.value()->errorLine(), qPrintable(it.value()->errorString()));
} else if (tryUnknown) { } else if (tryUnknown) {
for (it = _parsers.begin(); it != _parsers.end(); it++) { for (it = _parsers.begin(); it != _parsers.end(); it++) {
@ -154,80 +144,16 @@ Data::Data(const QString &fileName, bool tryUnknown)
file.reset(); file.reset();
} }
qWarning("%s:", qUtf8Printable(fileName)); qWarning("%s:", qPrintable(fileName));
for (it = _parsers.begin(); it != _parsers.end(); it++) for (it = _parsers.begin(); it != _parsers.end(); it++)
qWarning(" %s: line %d: %s", qUtf8Printable(it.key()), qWarning(" %s: line %d: %s", qPrintable(it.key()),
it.value()->errorLine(), qUtf8Printable(it.value()->errorString())); it.value()->errorLine(), qPrintable(it.value()->errorString()));
_errorLine = 0; _errorLine = 0;
_errorString = "Unknown format"; _errorString = "Unknown format";
} }
} }
Data::Data(const QUrl &url)
{
bool caOk, cbOk, ccOk;
Projection proj(GCS::WGS84());
_valid = false;
QStringList parts(url.path().split(';'));
if (parts.size() < 1) {
_errorString = "Syntax error";
return;
}
QStringList coords(parts.at(0).split(','));
if (coords.size() < 2 || coords.size() > 3) {
_errorString = "Syntax error";
return;
}
double ca = coords.at(0).toDouble(&caOk);
double cb = coords.at(1).toDouble(&cbOk);
double cc = NAN;
if (!(caOk && cbOk)) {
_errorString = "Invalid coordinates";
return;
}
if (coords.size() > 2) {
cc = coords.at(2).toDouble(&ccOk);
if (!ccOk) {
_errorString = "Invalid elevation";
return;
}
}
if (parts.size() > 1) {
QStringList crsp(parts.at(1).split('='));
if (crsp.size() != 2) {
_errorString = "Syntax error";
return;
}
if (!crsp.at(0).compare("crs", Qt::CaseInsensitive)) {
if (crsp.at(1).compare("wgs84", Qt::CaseInsensitive)) {
proj = CRS::projection(crsp.at(1));
if (!proj.isValid()) {
_errorString = "Unknown CRS";
return;
}
}
}
}
CoordinateSystem::AxisOrder ao = proj.coordinateSystem().axisOrder();
PointD p(ao == CoordinateSystem::XY ? PointD(ca, cb) : PointD(cb, ca));
Coordinates c(proj.xy2ll(p));
if (!c.isValid()) {
_errorString = "Invalid coordinates";
return;
}
Waypoint w(c);
w.setElevation(cc);
_waypoints.append(w);
_valid = true;
}
QString Data::formats() QString Data::formats()
{ {
return return
@ -250,9 +176,6 @@ QString Data::formats()
+ qApp->translate("Data", "SLF files") + " (*.slf);;" + qApp->translate("Data", "SLF files") + " (*.slf);;"
+ 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", "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") + " (*)";

Some files were not shown because too many files have changed in this diff Show More