Compare commits
335 Commits
Author | SHA1 | Date | |
---|---|---|---|
0531389cd8 | |||
a281a68cbd | |||
2e7f8dc341 | |||
1304fd5c3c | |||
d310399b4f | |||
845a4b2921 | |||
00fff55cd3 | |||
722f3acb1e | |||
b38cf31920 | |||
2884c39367 | |||
1124a1adb4 | |||
8c67df7bbd | |||
d1e632523a | |||
2549ca2c90 | |||
abd01933ab | |||
7bf7385cf1 | |||
b312d4a5c6 | |||
b1f104c2ec | |||
864326210a | |||
6658297587 | |||
0f26114f5d | |||
f85634af3f | |||
05ae8fa557 | |||
903c925e2a | |||
f60c08c57e | |||
a52a41f56e | |||
490052bc6c | |||
6cba68f0d1 | |||
f7b19d7a45 | |||
681f6c5b09 | |||
e34f77f1a1 | |||
00e8004042 | |||
c9a46be7a8 | |||
128ce8d78c | |||
04ef7ba092 | |||
f683525fce | |||
f5d4974d57 | |||
e0e2d38ec1 | |||
80b9dcfd5e | |||
836163a8b2 | |||
9cead54213 | |||
03711ede97 | |||
ab8ab9d731 | |||
d2d529b574 | |||
8647898d2a | |||
a91f0d183f | |||
15add7652d | |||
ced2b37ebc | |||
2315f1d5e9 | |||
984a8b6afc | |||
aa72e6e2ad | |||
09df5589b6 | |||
1b3d7b9b0f | |||
f998148fec | |||
183c35ec7a | |||
7e10e6640c | |||
97b61451b1 | |||
092c56468c | |||
b6ef58e342 | |||
4d6d9b3e4f | |||
d064cedbbe | |||
8ab728f81d | |||
6670dc32b5 | |||
61b51e5596 | |||
4bf81e020f | |||
4bcbce671d | |||
e07e109c7d | |||
e9609c5167 | |||
dcf45475ba | |||
6ce2a63a1c | |||
3e8b54f605 | |||
c6af082fa3 | |||
66036f6cd7 | |||
c644ea2170 | |||
04041a2d9c | |||
6a128c8eb4 | |||
1a08e50c3e | |||
dd0dec54df | |||
dfda3a6630 | |||
c03e24ce52 | |||
96e762beb5 | |||
cbd2d99739 | |||
b4be5ea206 | |||
3e0b732a65 | |||
56c77df176 | |||
1871f85acc | |||
4b51d30e00 | |||
3ec636632f | |||
40c41b88e3 | |||
fcd02e4978 | |||
5e1af275b8 | |||
0f4bb95d57 | |||
cd220216dd | |||
2efac25629 | |||
0d6b02f466 | |||
2f74c4bbb6 | |||
059c515175 | |||
66ba8268a3 | |||
e328321b19 | |||
1dc963b133 | |||
f0036bfd28 | |||
688861bf65 | |||
8b20124533 | |||
c449024584 | |||
41188360bf | |||
1086a74f99 | |||
7b5a1c701d | |||
9afeaf672a | |||
5ddd63e697 | |||
88fa1ed786 | |||
1233d20a21 | |||
1746eddb8d | |||
ecda5103c8 | |||
50b0ff1c56 | |||
2b300fab54 | |||
961061b643 | |||
8bebea53ad | |||
c3b484bb75 | |||
d6d43baec5 | |||
c6c3e0978c | |||
320b04c3fa | |||
ab7185bd25 | |||
822a0c2866 | |||
a92d6efec6 | |||
4615709b99 | |||
8a72b20af8 | |||
f86aa8c012 | |||
e351eb6370 | |||
81e967f20d | |||
dbf5828e65 | |||
cf81a90865 | |||
37d408c953 | |||
61c3ed60d7 | |||
04c203625f | |||
d0cea97c90 | |||
ddc7eb7149 | |||
bb22ad95b7 | |||
682fcc09cc | |||
60e83b24f9 | |||
c30501185c | |||
9b3c11cc68 | |||
61f77ef19e | |||
c0834491d3 | |||
e6fdd0f53d | |||
fe444e88a3 | |||
d9c0770b51 | |||
3a0e9bb733 | |||
ca6c7247c0 | |||
0b25cb9f81 | |||
190a961242 | |||
ccfb748404 | |||
b19c3a83f3 | |||
a4a54101a3 | |||
728361ad7b | |||
af58893cbe | |||
97e12d809f | |||
f5e3e5bd21 | |||
d593b073d5 | |||
62aabe0c56 | |||
2bd25dd9b0 | |||
79e9a49245 | |||
e319ca4df1 | |||
55724594ec | |||
8cea06f2ad | |||
1d589e25d8 | |||
b64065e076 | |||
d8af928004 | |||
c6766debff | |||
1eaaf719fd | |||
4a0b7ec83e | |||
c844eca91e | |||
823a39bcac | |||
64a4d633a3 | |||
6c91060cbb | |||
420fb3ecd2 | |||
2232e47821 | |||
72ca4f2182 | |||
0f4de11ae7 | |||
ce4f0472c0 | |||
330b2362e5 | |||
dacaeca71a | |||
229af4c749 | |||
f8d40850a7 | |||
e5fa37d61e | |||
c5af66d860 | |||
adc09da815 | |||
a928cc4ccb | |||
6f49d11903 | |||
f93ddd740d | |||
835ea9d957 | |||
2824751615 | |||
f7865556ae | |||
9e013d13d3 | |||
53c6f08af5 | |||
04321d17b3 | |||
5292ccafa7 | |||
66fce56803 | |||
df3485badf | |||
dc799f4642 | |||
5ca04dd78a | |||
7bfae8a398 | |||
55b727c72a | |||
fea1f61235 | |||
4724d1deb5 | |||
e5199f8648 | |||
aec052edaf | |||
1bbc57173e | |||
52ea52ff4e | |||
b6ca28e159 | |||
648627b17f | |||
2aa759a4bc | |||
84dc58da71 | |||
25838ad02d | |||
d11483cd94 | |||
6cd122f59b | |||
981bd33680 | |||
2697507c3a | |||
8b24aa17e2 | |||
6fc5a2f67d | |||
d794de5818 | |||
81f695a672 | |||
9580ddd54a | |||
20aaf68405 | |||
cdc0a64ead | |||
f2218126ef | |||
14670868bb | |||
6a73b6358d | |||
7e89f339f4 | |||
9e80319577 | |||
0596201fb2 | |||
dce078bca6 | |||
34f935462f | |||
84a592998d | |||
c114383c85 | |||
ab2f8d8350 | |||
164e59602e | |||
1b858ac4f2 | |||
0a58808017 | |||
b80cd05d4b | |||
66c951f38c | |||
46109d0ce0 | |||
cd1f80f2c1 | |||
02699b0636 | |||
bb8727755a | |||
69831f0c90 | |||
dbe407d9d9 | |||
b78d4741f6 | |||
405b1397e9 | |||
2f280c744b | |||
54d6016b1a | |||
65afd802ce | |||
e6b96d8717 | |||
f057ebdbb7 | |||
f941dce573 | |||
416bd3472f | |||
034a9d9b28 | |||
048198dfe1 | |||
a50fa28c08 | |||
152f17f15a | |||
873db27768 | |||
62f3343f75 | |||
07581f027b | |||
b3767e85e1 | |||
4fdeb3169f | |||
18836107af | |||
630fef2143 | |||
00c8d70eab | |||
426490ef4d | |||
f166bfeb81 | |||
8d3b76ee03 | |||
fbe8f048dd | |||
334037b67e | |||
4acc0a25e0 | |||
3f4cc56cbe | |||
59a91e0fa7 | |||
e3aa98a93d | |||
0300f044ad | |||
f275938fef | |||
3b43e28b03 | |||
b2c9fc8873 | |||
6105783a6d | |||
267094dc6c | |||
7be3a27196 | |||
00a349575c | |||
f026387d76 | |||
108444d29b | |||
6e2c0472c6 | |||
c0a1054a54 | |||
ed638bb5fc | |||
ae3d190e08 | |||
a5916cad90 | |||
aea8402016 | |||
7a53fb8e01 | |||
f952e02535 | |||
9538d15d79 | |||
8a9b7dc7ec | |||
9149ea9f56 | |||
eb665324ad | |||
588278d015 | |||
491e020677 | |||
05aaece28d | |||
be983ff779 | |||
fef7300f2f | |||
7febd2971e | |||
211ff46487 | |||
2cd084443a | |||
b7415ca2c9 | |||
bbdb473931 | |||
dec70f6bfe | |||
4f661128ba | |||
15bc9ac774 | |||
f8fa104ff3 | |||
d26842efd3 | |||
1480f8ad02 | |||
b73ad9772f | |||
e6bc548524 | |||
0d71e34665 | |||
f575e79a70 | |||
903b73d9a4 | |||
42f2f3377b | |||
3b798e627b | |||
be5291a6c6 | |||
7bb2c3a09d | |||
5467b55ff2 | |||
820350d60b | |||
3801ff7bcb | |||
3b6e6c03a7 | |||
a1a6fade92 | |||
c001235e91 | |||
c01b9da10c | |||
e4d42453a0 | |||
d6d316676c | |||
973abedf3e | |||
505f01a990 | |||
78b091fbbc |
@ -1,23 +1,26 @@
|
||||
version: 11.12.{build}
|
||||
version: 13.9.{build}
|
||||
|
||||
configuration:
|
||||
- Release
|
||||
|
||||
image:
|
||||
- Visual Studio 2019
|
||||
- Visual Studio 2022
|
||||
|
||||
environment:
|
||||
NSISDIR: C:\Program Files (x86)\NSIS
|
||||
OPENSSLDIR: C:\OpenSSL-v111-Win64\bin
|
||||
matrix:
|
||||
- QTDIR: C:\Qt\5.15\msvc2019_64
|
||||
- QTDIR: C:\Qt\6.4\msvc2019_64
|
||||
OPENSSLDIR: C:\OpenSSL-v111-Win64\bin
|
||||
OPENSSLVERSION: 1_1
|
||||
- QTDIR: C:\Qt\6.5\msvc2019_64
|
||||
OPENSSLDIR: C:\OpenSSL-v30-Win64\bin
|
||||
OPENSSLVERSION: 3
|
||||
NSISDEF: /DQT6
|
||||
|
||||
install:
|
||||
- cmd: |-
|
||||
set PATH=%QTDIR%\bin;%NSISDIR%;%PATH%
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat
|
||||
|
||||
build_script:
|
||||
- cmd: |-
|
||||
@ -29,13 +32,13 @@ build_script:
|
||||
copy release\GPXSee.exe installer
|
||||
windeployqt --release installer\GPXSee.exe
|
||||
copy pkg\windows\gpxsee64.nsi installer
|
||||
xcopy data\csv installer\csv /i
|
||||
xcopy data\CRS installer\CRS /i
|
||||
xcopy data\maps installer\maps /i
|
||||
xcopy lang\*.qm installer\translations\ /sy
|
||||
xcopy icons\symbols installer\symbols /i
|
||||
copy licence.txt installer
|
||||
copy %OPENSSLDIR%\libcrypto-1_1-x64.dll installer
|
||||
copy %OPENSSLDIR%\libssl-1_1-x64.dll installer
|
||||
copy %OPENSSLDIR%\libcrypto-%OPENSSLVERSION%-x64.dll installer
|
||||
copy %OPENSSLDIR%\libssl-%OPENSSLVERSION%-x64.dll installer
|
||||
|
||||
makensis.exe %NSISDEF% installer\gpxsee64.nsi
|
||||
|
||||
|
12
.github/workflows/android.yml
vendored
@ -22,22 +22,22 @@ jobs:
|
||||
- name: Run sdkmanager update
|
||||
run: ${ANDROID_HOME}/tools/bin/sdkmanager --update
|
||||
- name: Install android platform, platform-tools, build-tools and ndk
|
||||
run: ${ANDROID_HOME}/tools/bin/sdkmanager --install "cmdline-tools;latest" "platform-tools" "platforms;android-31" "build-tools;31.0.0" "ndk;23.1.7779620"
|
||||
run: ${ANDROID_HOME}/tools/bin/sdkmanager --install "cmdline-tools;latest" "platform-tools" "platforms;android-33" "build-tools;33.0.0" "ndk;23.1.7779620"
|
||||
- name: Setup NDK path
|
||||
run: echo "ANDROID_NDK_ROOT=${ANDROID_HOME}/ndk/23.1.7779620/" >> $GITHUB_ENV
|
||||
- name: Install Qt (Desktop)
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
aqtversion: '==2.1.0'
|
||||
aqtversion: '==3.1.*'
|
||||
version: '6.4.0'
|
||||
- name: Install Qt (Android)
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
aqtversion: '==2.1.0'
|
||||
aqtversion: '==3.1.*'
|
||||
version: '6.4.0'
|
||||
target: 'android'
|
||||
arch: 'android_armv7'
|
||||
modules: qtpositioning qt5compat
|
||||
arch: 'android_arm64_v8a'
|
||||
modules: qtimageformats qtpositioning qtserialport qt5compat
|
||||
- name: Install Android OpenSSL
|
||||
run: git clone https://github.com/KDAB/android_openssl.git
|
||||
- name: Create localization
|
||||
@ -49,5 +49,5 @@ jobs:
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: GPXSee-armv7.apk
|
||||
name: GPXSee-arm64_v8a.apk
|
||||
path: android-build/build/outputs/apk/debug/android-build-debug.apk
|
||||
|
2
.github/workflows/codeql.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install qtbase5-dev qtbase5-private-dev qtbase5-dev-tools qt5-qmake qttools5-dev-tools libqt5opengl5-dev qtpositioning5-dev libqt5svg5-dev
|
||||
sudo apt-get install qtbase5-dev qtbase5-private-dev qtbase5-dev-tools qt5-qmake qttools5-dev-tools libqt5opengl5-dev qtpositioning5-dev libqt5svg5-dev libqt5serialport5-dev
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
|
2
.github/workflows/linux.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install qtbase5-dev qtbase5-private-dev qtbase5-dev-tools qt5-qmake qttools5-dev-tools libqt5opengl5-dev qtpositioning5-dev libqt5svg5-dev
|
||||
sudo apt-get install qtbase5-dev qtbase5-private-dev qtbase5-dev-tools qt5-qmake qttools5-dev-tools libqt5opengl5-dev qtpositioning5-dev libqt5svg5-dev libqt5serialport5-dev
|
||||
- name: Create localization
|
||||
run: lrelease gpxsee.pro
|
||||
- name: Configure build
|
||||
|
23
.github/workflows/osx.yml
vendored
@ -10,12 +10,12 @@ jobs:
|
||||
name: GPXSee Qt5 build
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Set environment variables
|
||||
run: echo "PATH=/usr/local/opt/qt@5/bin:$PATH" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: brew install qt5
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
version: '5.15.2'
|
||||
- name: Create localization
|
||||
run: lrelease gpxsee.pro
|
||||
- name: Configure build
|
||||
@ -23,7 +23,7 @@ jobs:
|
||||
- name: Build project
|
||||
run: make -j3
|
||||
- name: Create DMG
|
||||
run: macdeployqt GPXSee.app -dmg
|
||||
run: macdeployqt GPXSee.app -dmg -appstore-compliant
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
@ -34,20 +34,21 @@ jobs:
|
||||
name: GPXSee Qt6 build
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Set environment variables
|
||||
run: echo "PATH=/usr/local/opt/qt@6/bin:$PATH" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: brew install qt6
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
version: '6.5.1'
|
||||
modules: qtpositioning qt5compat qtserialport
|
||||
- name: Create localization
|
||||
run: lrelease gpxsee.pro
|
||||
- name: Configure build
|
||||
run: qmake gpxsee.pro
|
||||
run: qmake gpxsee.pro QMAKE_APPLE_DEVICE_ARCHS="x86_64h arm64"
|
||||
- name: Build project
|
||||
run: make -j3
|
||||
- name: Create DMG
|
||||
run: macdeployqt GPXSee.app -dmg
|
||||
run: macdeployqt GPXSee.app -dmg -appstore-compliant
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
|
@ -64,7 +64,7 @@ GPXSee is licensed under GPL-3.0 (only). However, some 3rd party parts are using
|
||||
different, GPL compatible, licenses:
|
||||
|
||||
* [Oxygen icons](icons/GUI) - LGPLv3
|
||||
* [Mapbox Maki icons](icons/map/IMG/POI) - CC0
|
||||
* [Mapbox Maki icons](icons/map/POI) - CC0
|
||||
* [Map Icons Collection](icons/symbols) - CC BY SA 3.0
|
||||
* [RTree implementation](src/common/rtree.h) - Public domain
|
||||
* [Albers](src/map/proj/albersequal.cpp), [Geocentric](src/map/geocentric.cpp),
|
||||
@ -73,5 +73,5 @@ different, GPL compatible, licenses:
|
||||
[Polyconic](src/map/proj/polyconic.cpp) and
|
||||
[Transverse Mercator](src/map/proj/transversemercator.cpp) projections - NIMA
|
||||
Source Code Disclaimer
|
||||
* [Projection parameters CSV files](pkg/csv) - BSD/EPSG/Public domain
|
||||
* [Mapsforge render theme](data/default.xml) and its [icons](icons/map/mapsforge) - LGPLv3
|
||||
* [Projection parameters CSV files](data/CRS) - BSD/EPSG/Public domain
|
||||
* [Mapsforge render theme](data/mapsforge/default.xml) and its [icons](icons/map/mapsforge) - LGPLv3
|
||||
|
@ -345,6 +345,7 @@ FEH2010,5593,1078,9122,7019,8901,9603,0,0,0,,,,
|
||||
CIGD11,6135,1100,9122,7019,8901,9603,0,0,0,,,,
|
||||
Nepal 1981,6207,1111,9122,7015,8901,9603,293.17,726.18,245.36,,,,
|
||||
CGRS93,6311,1112,9122,7030,8901,9607,8.846,-4.394,-1.122,0.00237,0.146528,-0.130428,0.783926
|
||||
NAD83(2011),6318,1116,9122,7019,8901,9603,0,0,0,,,,
|
||||
Mexico ITRF2008,6365,1120,9122,7019,8901,9603,0,0,0,,,,
|
||||
RDN2008,6706,1132,9122,7019,8901,9603,0,0,0,,,,
|
||||
Aden 1925,6881,1135,9122,7012,8901,9603,-24,-203,268,,,,
|
|
4370
data/CRS/pcs.csv
Normal file
1706
data/CRS/projections.csv
Normal file
3729
data/csv/pcs.csv
@ -871,7 +871,7 @@
|
||||
<caption fill="#5555AA" font-family="serif" font-size="14" font-style="bold_italic"
|
||||
k="name" priority="20" stroke="#FFFFFF" stroke-width="2.0" />
|
||||
</rule>
|
||||
<rule e="node" k="place" v="isolated_dwelling" zoom-min="15">
|
||||
<rule e="node" k="place" v="isolated_dwelling|neighbourhood" zoom-min="15">
|
||||
<caption fill="#333380" font-size="12" font-style="bold" k="name" priority="5"
|
||||
stroke="#FFFFFF" stroke-width="2.0" />
|
||||
</rule>
|
||||
@ -972,22 +972,26 @@
|
||||
|
||||
<!-- emergency -->
|
||||
<rule e="any" k="*" v="*">
|
||||
<rule e="any" k="amenity|building" v="hospital|clinic" zoom-min="15">
|
||||
<rule e="any" k="amenity|building" v="hospital|clinic" zoom-min="14">
|
||||
<symbol id="hospital" src=":/mapsforge/symbols/health/hospital.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#DA0092" font-size="12" font-style="bold" k="name" position="above"
|
||||
priority="10" stroke="#FFFFFF" stroke-width="2.0" symbol-id="hospital" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="amenity" v="pharmacy" zoom-min="13">
|
||||
<rule e="any" k="amenity" v="pharmacy" zoom-min="15">
|
||||
<symbol id="pharmacy" src=":/mapsforge/symbols/health/pharmacy.svg" />
|
||||
<caption fill="#DA0092" font-size="12" font-style="bold" k="name" position="above"
|
||||
priority="10" stroke="#FFFFFF" stroke-width="2.0" symbol-id="pharmacy" />
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#DA0092" font-size="12" font-style="bold" k="name" position="above"
|
||||
priority="10" stroke="#FFFFFF" stroke-width="2.0" symbol-id="pharmacy" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="amenity" v="doctors" zoom-min="14">
|
||||
<rule e="any" k="amenity" v="doctors" zoom-min="15">
|
||||
<symbol id="doctors" src=":/mapsforge/symbols/health/doctors2.svg" />
|
||||
<caption fill="#DA0092" font-size="12" font-style="bold" k="name" position="above"
|
||||
priority="10" stroke="#FFFFFF" stroke-width="2.0" symbol-id="doctors" />
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#DA0092" font-size="12" font-style="bold" k="name" position="above"
|
||||
priority="10" stroke="#FFFFFF" stroke-width="2.0" symbol-id="doctors" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="amenity|building" v="embassy" zoom-min="17">
|
||||
<symbol id="embassy" src=":/mapsforge/symbols/poi/embassy2.svg" />
|
||||
@ -1040,21 +1044,21 @@
|
||||
</rule>
|
||||
<rule e="any" k="tourism" v="hostel" zoom-min="13">
|
||||
<symbol id="hostel" src=":/mapsforge/symbols/accommodation/hostel.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#0092DA" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
stroke-width="2" symbol-id="hostel" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="tourism|building" v="hotel|guest_house|motel" zoom-min="13">
|
||||
<symbol id="hotel" src=":/mapsforge/symbols/accommodation/hotel2.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption display="never" fill="#0092DA" font-size="12" font-style="bold" k="name"
|
||||
stroke="#FFFFFF" stroke-width="2" symbol-id="hotel" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="tourism" v="chalet" zoom-min="13">
|
||||
<symbol id="chalet" src=":/mapsforge/symbols/accommodation/chalet.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#0092DA" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
stroke-width="2" symbol-id="chalet" />
|
||||
</rule>
|
||||
@ -1109,7 +1113,7 @@
|
||||
|
||||
<!-- food -->
|
||||
<rule e="any" k="*" v="*">
|
||||
<rule e="any" k="amenity" v="restaurant" zoom-min="14">
|
||||
<rule e="any" k="amenity" v="restaurant" zoom-min="15">
|
||||
<symbol id="restaurant" src=":/mapsforge/symbols/food/restaurant.svg" />
|
||||
<rule e="node" k="*" v="*" zoom-min="16">
|
||||
<caption fill="#734A08" font-size="12" font-style="bold" k="name" position="above"
|
||||
@ -1132,25 +1136,25 @@
|
||||
|
||||
<!-- shopping -->
|
||||
<rule e="any" k="*" v="*">
|
||||
<rule e="any" k="shop" v="supermarket|department_store|mall" zoom-min="14">
|
||||
<rule e="any" k="shop" v="supermarket|department_store|mall" zoom-min="15">
|
||||
<symbol src=":/mapsforge/symbols/shopping/supermarket.svg" />
|
||||
</rule>
|
||||
<rule e="any" k="shop" v="convenience|general|kiosk" zoom-min="14">
|
||||
<rule e="any" k="shop" v="convenience|general|kiosk" zoom-min="15">
|
||||
<symbol src=":/mapsforge/symbols/shopping/convenience.svg" />
|
||||
</rule>
|
||||
<rule e="any" k="shop" v="bakery" zoom-min="14">
|
||||
<rule e="any" k="shop" v="bakery" zoom-min="15">
|
||||
<symbol src=":/mapsforge/symbols/shopping/bakery.svg" />
|
||||
</rule>
|
||||
<rule e="any" k="amenity" v="fuel" zoom-min="13">
|
||||
<rule e="any" k="amenity" v="fuel" zoom-min="14">
|
||||
<symbol id="fuel" src=":/mapsforge/symbols/transport/fuel.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<caption fill="#0092DA" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#AC39AC" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
stroke-width="2.0" symbol-id="fuel" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="amenity" v="marketplace" zoom-min="15">
|
||||
<symbol id="marketplace" src=":/mapsforge/symbols/shopping/marketplace.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#AC39AC" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
stroke-width="2.0" symbol-id="marketplace" />
|
||||
</rule>
|
||||
@ -1197,14 +1201,14 @@
|
||||
</rule>
|
||||
<rule e="any" k="amenity" v="atm" zoom-min="15">
|
||||
<symbol id="atm" src=":/mapsforge/symbols/money/atm2.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#666666" font-size="12" font-style="bold" k="name" position="above"
|
||||
stroke="#FFFFFF" stroke-width="2.0" symbol-id="atm" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="amenity" v="bank" zoom-min="15">
|
||||
<symbol id="bank" src=":/mapsforge/symbols/money/bank2.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#666666" font-size="12" font-style="bold" k="name" position="above"
|
||||
stroke="#FFFFFF" stroke-width="2.0" symbol-id="bank" />
|
||||
</rule>
|
||||
@ -1237,35 +1241,35 @@
|
||||
</rule>
|
||||
<rule e="any" k="leisure" v="playground" zoom-min="16">
|
||||
<symbol id="playground" src=":/mapsforge/symbols/amenity/playground.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#39AC39" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
stroke-width="2.0" symbol-id="playground" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="amenity" v="kindergarten" zoom-min="17">
|
||||
<symbol id="nursery" src=":/mapsforge/symbols/education/nursery3.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#39AC39" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
stroke-width="2.0" symbol-id="nursery" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="amenity|building" v="library" zoom-min="17">
|
||||
<symbol id="library" src=":/mapsforge/symbols/amenity/library.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#39AC39" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
stroke-width="2.0" symbol-id="library" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="amenity|building" v="school" zoom-min="17">
|
||||
<symbol id="school" src=":/mapsforge/symbols/education/school.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#39AC39" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
stroke-width="2.0" symbol-id="school" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="amenity" v="theatre" zoom-min="17">
|
||||
<symbol id="theatre" src=":/mapsforge/symbols/tourist/theatre.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#734A08" font-size="12" font-style="bold" k="name" stroke="#FFFFFF"
|
||||
stroke-width="2.0" symbol-id="theatre" />
|
||||
</rule>
|
||||
@ -1343,25 +1347,25 @@
|
||||
</rule>
|
||||
<rule e="node" k="man_made" v="lighthouse" zoom-min="14">
|
||||
<symbol id="lighthouse" src=":/mapsforge/symbols/transport/lighthouse.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#0092DA" font-size="12" font-style="bold" k="name" position="above"
|
||||
stroke="#FFFFFF" stroke-width="2.0" symbol-id="lighthouse" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="building" v="church|cathedral|chapel" zoom-min="14">
|
||||
<rule e="any" k="building" v="church|cathedral|chapel" zoom-min="15">
|
||||
<symbol src=":/mapsforge/symbols/place_of_worship/christian.svg" />
|
||||
</rule>
|
||||
<rule e="any" k="amenity" v="place_of_worship" zoom-min="14">
|
||||
<rule e="any" k="amenity" v="place_of_worship" zoom-min="15">
|
||||
<rule e="any" k="religion" v="buddhist">
|
||||
<symbol id="buddhist" src=":/mapsforge/symbols/place_of_worship/buddhist.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#666666" font-size="12" font-style="bold" k="name"
|
||||
position="above" stroke="#FFFFFF" stroke-width="2.0" symbol-id="buddhist" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="religion" v="christian">
|
||||
<symbol id="christian" src=":/mapsforge/symbols/place_of_worship/christian.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#666666" font-size="12" font-style="bold" k="name"
|
||||
position="above" stroke="#FFFFFF" stroke-width="2.0"
|
||||
symbol-id="christian" />
|
||||
@ -1369,35 +1373,35 @@
|
||||
</rule>
|
||||
<rule e="any" k="religion" v="hindu">
|
||||
<symbol id="hindu" src=":/mapsforge/symbols/place_of_worship/hindu.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#666666" font-size="12" font-style="bold" k="name"
|
||||
position="above" stroke="#FFFFFF" stroke-width="2.0" symbol-id="hindu" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="religion" v="jewish">
|
||||
<symbol id="jewish" src=":/mapsforge/symbols/place_of_worship/jewish.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#666666" font-size="12" font-style="bold" k="name"
|
||||
position="above" stroke="#FFFFFF" stroke-width="2.0" symbol-id="jewish" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="religion" v="muslim">
|
||||
<symbol id="muslim" src=":/mapsforge/symbols/place_of_worship/islamic.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#666666" font-size="12" font-style="bold" k="name"
|
||||
position="above" stroke="#FFFFFF" stroke-width="2.0" symbol-id="muslim" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="religion" v="shinto">
|
||||
<symbol id="shinto" src=":/mapsforge/symbols/place_of_worship/shinto.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#666666" font-size="12" font-style="bold" k="name"
|
||||
position="above" stroke="#FFFFFF" stroke-width="2.0" symbol-id="shinto" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="any" k="religion" v="~|*">
|
||||
<symbol id="religion-unknown" src=":/mapsforge/symbols/place_of_worship/unknown.svg" />
|
||||
<rule e="any" k="*" v="*" zoom-min="18">
|
||||
<rule e="any" k="*" v="*" zoom-min="17">
|
||||
<caption fill="#666666" font-size="12" font-style="bold" k="name"
|
||||
position="above" stroke="#FFFFFF" stroke-width="2.0"
|
||||
symbol-id="religion-unknown" />
|
||||
@ -1409,15 +1413,15 @@
|
||||
|
||||
<!-- sports -->
|
||||
<rule e="any" k="*" v="*">
|
||||
<rule e="any" k="leisure" v="water_park" zoom-min="14">
|
||||
<rule e="any" k="leisure" v="water_park" zoom-min="15">
|
||||
<symbol src=":/mapsforge/symbols/sport/swimming_outdoor.svg" />
|
||||
</rule>
|
||||
<rule e="way" k="leisure" v="~" zoom-min="14">
|
||||
<rule e="way" k="leisure" v="~" zoom-min="15">
|
||||
<rule e="way" k="sport" v="swimming">
|
||||
<symbol src=":/mapsforge/symbols/sport/swimming_outdoor.svg" />
|
||||
</rule>
|
||||
</rule>
|
||||
<rule e="node" k="sport" v="swimming" zoom-min="14">
|
||||
<rule e="node" k="sport" v="swimming" zoom-min="15">
|
||||
<symbol src=":/mapsforge/symbols/sport/swimming_outdoor.svg" />
|
||||
</rule>
|
||||
<rule e="any" k="sport" v="soccer" zoom-min="16">
|
||||
|
49
gpxsee.pro
@ -3,7 +3,8 @@ unix:!macx:!android {
|
||||
} else {
|
||||
TARGET = GPXSee
|
||||
}
|
||||
VERSION = 11.12
|
||||
VERSION = 13.9
|
||||
|
||||
|
||||
QT += core \
|
||||
gui \
|
||||
@ -14,7 +15,8 @@ QT += core \
|
||||
widgets \
|
||||
printsupport \
|
||||
positioning \
|
||||
svg
|
||||
svg \
|
||||
serialport
|
||||
greaterThan(QT_MAJOR_VERSION, 5) {
|
||||
QT += openglwidgets \
|
||||
core5compat
|
||||
@ -25,7 +27,6 @@ INCLUDEPATH += ./src
|
||||
HEADERS += src/common/config.h \
|
||||
src/GUI/crosshairitem.h \
|
||||
src/GUI/motioninfoitem.h \
|
||||
src/GUI/navigationwidget.h \
|
||||
src/GUI/pluginparameters.h \
|
||||
src/common/garmin.h \
|
||||
src/common/coordinates.h \
|
||||
@ -45,6 +46,7 @@ HEADERS += src/common/config.h \
|
||||
src/common/downloader.h \
|
||||
src/common/polygon.h \
|
||||
src/common/color.h \
|
||||
src/common/csv.h \
|
||||
src/GUI/authenticationwidget.h \
|
||||
src/GUI/axislabelitem.h \
|
||||
src/GUI/dirselectwidget.h \
|
||||
@ -120,13 +122,19 @@ HEADERS += src/common/config.h \
|
||||
src/data/twonavparser.h \
|
||||
src/map/ENC/attributes.h \
|
||||
src/map/ENC/mapdata.h \
|
||||
src/map/ENC/atlasdata.h \
|
||||
src/map/ENC/objects.h \
|
||||
src/map/ENC/rastertile.h \
|
||||
src/map/ENC/style.h \
|
||||
src/map/IMG/section.h \
|
||||
src/map/IMG/zoom.h \
|
||||
src/map/conversion.h \
|
||||
src/map/encatlas.h \
|
||||
src/map/encjob.h \
|
||||
src/map/encmap.h \
|
||||
src/map/ENC/iso8211.h \
|
||||
src/map/gemfmap.h \
|
||||
src/map/gmifile.h \
|
||||
src/map/oruxmap.h \
|
||||
src/map/osmdroidmap.h \
|
||||
src/map/proj/polyconic.h \
|
||||
@ -251,7 +259,6 @@ HEADERS += src/common/config.h \
|
||||
src/data/demloader.h \
|
||||
src/data/area.h \
|
||||
src/data/exifparser.h \
|
||||
src/data/csv.h \
|
||||
src/data/cupparser.h \
|
||||
src/data/gpiparser.h \
|
||||
src/data/address.h \
|
||||
@ -261,8 +268,8 @@ HEADERS += src/common/config.h \
|
||||
SOURCES += src/main.cpp \
|
||||
src/GUI/crosshairitem.cpp \
|
||||
src/GUI/motioninfoitem.cpp \
|
||||
src/GUI/navigationwidget.cpp \
|
||||
src/GUI/pluginparameters.cpp \
|
||||
src/GUI/settings.cpp \
|
||||
src/common/coordinates.cpp \
|
||||
src/common/rectc.cpp \
|
||||
src/common/range.cpp \
|
||||
@ -272,6 +279,7 @@ SOURCES += src/main.cpp \
|
||||
src/common/programpaths.cpp \
|
||||
src/common/tifffile.cpp \
|
||||
src/common/downloader.cpp \
|
||||
src/common/csv.cpp \
|
||||
src/GUI/authenticationwidget.cpp \
|
||||
src/GUI/axislabelitem.cpp \
|
||||
src/GUI/dirselectwidget.cpp \
|
||||
@ -331,12 +339,16 @@ SOURCES += src/main.cpp \
|
||||
src/GUI/projectioncombobox.cpp \
|
||||
src/GUI/passwordedit.cpp \
|
||||
src/data/twonavparser.cpp \
|
||||
src/map/ENC/atlasdata.cpp \
|
||||
src/map/ENC/mapdata.cpp \
|
||||
src/map/ENC/rastertile.cpp \
|
||||
src/map/ENC/style.cpp \
|
||||
src/map/conversion.cpp \
|
||||
src/map/encatlas.cpp \
|
||||
src/map/encmap.cpp \
|
||||
src/map/ENC/iso8211.cpp \
|
||||
src/map/gemfmap.cpp \
|
||||
src/map/gmifile.cpp \
|
||||
src/map/oruxmap.cpp \
|
||||
src/map/osmdroidmap.cpp \
|
||||
src/map/proj/polyconic.cpp \
|
||||
@ -445,7 +457,6 @@ SOURCES += src/main.cpp \
|
||||
src/data/dem.cpp \
|
||||
src/data/demloader.cpp \
|
||||
src/data/exifparser.cpp \
|
||||
src/data/csv.cpp \
|
||||
src/data/cupparser.cpp \
|
||||
src/data/gpiparser.cpp \
|
||||
src/data/smlparser.cpp \
|
||||
@ -481,8 +492,8 @@ macx {
|
||||
QMAKE_INFO_PLIST = pkg/mac/Info.plist
|
||||
locale.path = Contents/Resources/translations
|
||||
locale.files = $$files(lang/*.qm)
|
||||
csv.path = Contents/Resources
|
||||
csv.files = data/csv
|
||||
crs.path = Contents/Resources
|
||||
crs.files = data/CRS
|
||||
maps.path = Contents/Resources
|
||||
maps.files = data/maps
|
||||
symbols.path = Contents/Resources/symbols
|
||||
@ -492,7 +503,7 @@ macx {
|
||||
lproj.path = Contents/Resources
|
||||
lproj.files = $$files(pkg/mac/lproj/*)
|
||||
|
||||
QMAKE_BUNDLE_DATA += locale maps symbols icons csv lproj
|
||||
QMAKE_BUNDLE_DATA += locale maps symbols icons crs lproj
|
||||
}
|
||||
|
||||
win32 {
|
||||
@ -529,7 +540,8 @@ win32 {
|
||||
icons/formats/qct.ico \
|
||||
icons/formats/trk.ico \
|
||||
icons/formats/gemf.ico \
|
||||
icons/formats/000.ico
|
||||
icons/formats/000.ico \
|
||||
icons/formats/031.ico
|
||||
DEFINES += _USE_MATH_DEFINES \
|
||||
NOGDI
|
||||
}
|
||||
@ -539,8 +551,8 @@ unix:!macx:!android {
|
||||
|
||||
maps.files = $$files(data/maps/*)
|
||||
maps.path = $$PREFIX/share/gpxsee/maps
|
||||
csv.files = $$files(data/csv/*)
|
||||
csv.path = $$PREFIX/share/gpxsee/csv
|
||||
crs.files = $$files(data/CRS/*)
|
||||
crs.path = $$PREFIX/share/gpxsee/CRS
|
||||
symbols.files = $$files(icons/symbols/*.png)
|
||||
symbols.path = $$PREFIX/share/gpxsee/symbols
|
||||
locale.files = $$files(lang/*.qm)
|
||||
@ -554,10 +566,13 @@ unix:!macx:!android {
|
||||
appdata.files = pkg/linux/gpxsee.appdata.xml
|
||||
appdata.path = $$PREFIX/share/metainfo
|
||||
target.path = $$PREFIX/bin
|
||||
INSTALLS += target maps csv symbols locale icon desktop mime appdata
|
||||
INSTALLS += target maps crs symbols locale icon desktop mime appdata
|
||||
}
|
||||
|
||||
android {
|
||||
HEADERS += src/GUI/navigationwidget.h
|
||||
SOURCES += src/GUI/navigationwidget.cpp
|
||||
|
||||
defineReplace(versionCode) {
|
||||
segments = $$split(1, ".")
|
||||
for (segment, segments): \
|
||||
@ -578,7 +593,7 @@ android {
|
||||
message("OpenSSL not found, building without HTTPS support!")
|
||||
}
|
||||
|
||||
ANDROID_TARGET_SDK_VERSION = 31
|
||||
ANDROID_TARGET_SDK_VERSION = 33
|
||||
ANDROID_VERSION_NAME = $$VERSION
|
||||
ANDROID_VERSION_CODE = $$versionCode($$ANDROID_VERSION_NAME)
|
||||
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/pkg/android
|
||||
@ -589,11 +604,11 @@ android {
|
||||
|
||||
maps.files = $$files(data/maps/*)
|
||||
maps.path = /assets/maps
|
||||
csv.files = $$files(data/csv/*)
|
||||
csv.path = /assets/csv
|
||||
crs.files = $$files(data/CRS/*)
|
||||
crs.path = /assets/CRS
|
||||
symbols.files = $$files(icons/symbols/*.png)
|
||||
symbols.path = /assets/symbols
|
||||
translations.files = $$files(lang/*.qm)
|
||||
translations.path = /assets/translations
|
||||
INSTALLS += maps csv symbols translations
|
||||
INSTALLS += maps crs symbols translations
|
||||
}
|
||||
|
25
gpxsee.qrc
@ -55,6 +55,14 @@
|
||||
<file alias="transform-move_32@2x.png">icons/GUI/transform-move_32@2x.png</file>
|
||||
</qresource>
|
||||
|
||||
<!-- Common map stuff -->
|
||||
<qresource prefix="/map">
|
||||
<file alias="arrow.png">icons/map/arrow.png</file>
|
||||
<file alias="arrow@2x.png">icons/map/arrow@2x.png</file>
|
||||
<file alias="water-arrow.png">icons/map/water-arrow.png</file>
|
||||
<file alias="water-arrow@2x.png">icons/map/water-arrow@2x.png</file>
|
||||
</qresource>
|
||||
|
||||
<!-- POIs (IMG & ENC style) -->
|
||||
<qresource prefix="/POI">
|
||||
<file alias="airfield-11.png">icons/map/POI/airfield-11.png</file>
|
||||
@ -139,15 +147,9 @@
|
||||
<!-- marine stuff (IMG & ENC style) -->
|
||||
<qresource prefix="/marine">
|
||||
<file alias="light-major.png">icons/map/marine/light-major.png</file>
|
||||
<file alias="light-major-port.png">icons/map/marine/light-major-port.png</file>
|
||||
<file alias="light-major-starboard.png">icons/map/marine/light-major-starboard.png</file>
|
||||
<file alias="light-platform.png">icons/map/marine/light-platform.png</file>
|
||||
<file alias="buoy.png">icons/map/marine/buoy.png</file>
|
||||
<file alias="buoy-starboard.png">icons/map/marine/buoy-starboard.png</file>
|
||||
<file alias="buoy-port.png">icons/map/marine/buoy-port.png</file>
|
||||
<file alias="beacon.png">icons/map/marine/beacon.png</file>
|
||||
<file alias="beacon-port.png">icons/map/marine/beacon-port.png</file>
|
||||
<file alias="beacon-starboard.png">icons/map/marine/beacon-starboard.png</file>
|
||||
<file alias="rock-exposed.png">icons/map/marine/rock-exposed.png</file>
|
||||
<file alias="rock-dangerous.png">icons/map/marine/rock-dangerous.png</file>
|
||||
<file alias="wreck.png">icons/map/marine/wreck.png</file>
|
||||
@ -186,6 +188,7 @@
|
||||
<file alias="radar.png">icons/map/marine/radar.png</file>
|
||||
<file alias="radar-transponder.png">icons/map/marine/radar-transponder.png</file>
|
||||
<file alias="silo.png">icons/map/marine/silo.png</file>
|
||||
<file alias="tank.png">icons/map/marine/tank.png</file>
|
||||
<file alias="turning-basin.png">icons/map/marine/turning-basin.png</file>
|
||||
<file alias="entry-prohibited-line.png">icons/map/marine/entry-prohibited-line.png</file>
|
||||
<file alias="safety-zone-line.png">icons/map/marine/safety-zone-line.png</file>
|
||||
@ -200,6 +203,16 @@
|
||||
<file alias="breakers.png">icons/map/marine/breakers.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="light.png">icons/map/marine/light.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="construction.png">icons/map/marine/construction.png</file>
|
||||
<file alias="radio-call.png">icons/map/marine/radio-call.png</file>
|
||||
<file alias="radio-call-2w.png">icons/map/marine/radio-call-2w.png</file>
|
||||
<file alias="current.png">icons/map/marine/current.png</file>
|
||||
<file alias="rescue-station.png">icons/map/marine/rescue-station.png</file>
|
||||
<file alias="windmill.png">icons/map/marine/windmill.png</file>
|
||||
<file alias="flagstaff.png">icons/map/marine/flagstaff.png</file>
|
||||
</qresource>
|
||||
|
||||
<!-- Mapsforge rendertheme -->
|
||||
|
BIN
icons/formats/031.icns
Normal file
BIN
icons/formats/031.ico
Normal file
After Width: | Height: | Size: 299 KiB |
@ -31,3 +31,4 @@ qct:#370642
|
||||
trk:#cccccc
|
||||
gemf:#147085
|
||||
000:#000000
|
||||
031:#000000
|
||||
|
@ -1,4 +1,4 @@
|
||||
The IMG style icons are Mapbox Maki icons (https://labs.mapbox.com/maki-icons/)
|
||||
The POI icons are Mapbox Maki icons (https://labs.mapbox.com/maki-icons/)
|
||||
licensed under CC0.
|
||||
|
||||
-----
|
||||
|
BIN
icons/map/arrow.png
Normal file
After Width: | Height: | Size: 175 B |
BIN
icons/map/arrow@2x.png
Normal file
After Width: | Height: | Size: 241 B |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 170 B |
Before Width: | Height: | Size: 346 B |
Before Width: | Height: | Size: 349 B |
Before Width: | Height: | Size: 218 B After Width: | Height: | Size: 208 B |
BIN
icons/map/marine/building.png
Normal file
After Width: | Height: | Size: 108 B |
Before Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 487 B |
Before Width: | Height: | Size: 346 B After Width: | Height: | Size: 231 B |
Before Width: | Height: | Size: 146 B After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 578 B After Width: | Height: | Size: 411 B |
Before Width: | Height: | Size: 243 B After Width: | Height: | Size: 214 B |
BIN
icons/map/marine/construction.png
Normal file
After Width: | Height: | Size: 137 B |
Before Width: | Height: | Size: 149 B After Width: | Height: | Size: 192 B |
BIN
icons/map/marine/current.png
Normal file
After Width: | Height: | Size: 135 B |
Before Width: | Height: | Size: 180 B After Width: | Height: | Size: 147 B |
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 269 B |
BIN
icons/map/marine/flagstaff.png
Normal file
After Width: | Height: | Size: 415 B |
BIN
icons/map/marine/fog-signal.png
Normal file
After Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 224 B |
Before Width: | Height: | Size: 799 B |
Before Width: | Height: | Size: 814 B |
Before Width: | Height: | Size: 555 B After Width: | Height: | Size: 610 B |
Before Width: | Height: | Size: 415 B After Width: | Height: | Size: 501 B |
BIN
icons/map/marine/light.png
Normal file
After Width: | Height: | Size: 441 B |
Before Width: | Height: | Size: 698 B After Width: | Height: | Size: 310 B |
Before Width: | Height: | Size: 445 B After Width: | Height: | Size: 268 B |
Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 205 B |
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 222 B |
Before Width: | Height: | Size: 162 B After Width: | Height: | Size: 220 B |
Before Width: | Height: | Size: 161 B After Width: | Height: | Size: 162 B |
BIN
icons/map/marine/radio-call-2w.png
Normal file
After Width: | Height: | Size: 219 B |
BIN
icons/map/marine/radio-call.png
Normal file
After Width: | Height: | Size: 214 B |
BIN
icons/map/marine/rescue-station.png
Normal file
After Width: | Height: | Size: 228 B |
Before Width: | Height: | Size: 218 B After Width: | Height: | Size: 221 B |
Before Width: | Height: | Size: 430 B After Width: | Height: | Size: 255 B |
BIN
icons/map/marine/tank.png
Normal file
After Width: | Height: | Size: 230 B |
Before Width: | Height: | Size: 478 B After Width: | Height: | Size: 247 B |
BIN
icons/map/marine/windmill.png
Normal file
After Width: | Height: | Size: 224 B |
Before Width: | Height: | Size: 326 B After Width: | Height: | Size: 288 B |
Before Width: | Height: | Size: 277 B After Width: | Height: | Size: 311 B |
Before Width: | Height: | Size: 385 B After Width: | Height: | Size: 284 B |
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 220 B |
BIN
icons/map/water-arrow.png
Normal file
After Width: | Height: | Size: 181 B |
BIN
icons/map/water-arrow@2x.png
Normal file
After Width: | Height: | Size: 249 B |
1137
lang/gpxsee_da.ts
1030
lang/gpxsee_ko.ts
@ -4,11 +4,24 @@
|
||||
<!-- %%INSERT_FEATURES -->
|
||||
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="true"/>
|
||||
<application android:name="org.qtproject.qt.android.bindings.QtApplication" android:extractNativeLibs="true" android:hardwareAccelerated="true" android:label="-- %%INSERT_APP_NAME%% --" android:requestLegacyExternalStorage="true" android:allowNativeHeapPointerTagging="false" android:icon="@drawable/icon">
|
||||
<activity android:name="org.qtproject.qt.android.bindings.QtActivity" android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:label="-- %%INSERT_APP_NAME%% --" android:launchMode="singleTop" android:screenOrientation="unspecified" android:exported="true">
|
||||
<activity android:name="org.gpxsee.gpxsee.Activity" android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:label="-- %%INSERT_APP_NAME%% --" android:launchMode="singleTop" android:screenOrientation="unspecified" android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</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="content" android:mimeType="application/*"/>
|
||||
<data android:scheme="content" android:mimeType="text/plain"/>
|
||||
<data android:scheme="content" android:mimeType="text/xml"/>
|
||||
<data android:scheme="content" android:mimeType="text/csv"/>
|
||||
<data android:scheme="content" android:mimeType="image/jpeg"/>
|
||||
<data android:scheme="content" android:mimeType="image/tiff"/>
|
||||
</intent-filter>
|
||||
|
||||
<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.extract_android_style" android:value="minimal"/>
|
||||
|
@ -5,7 +5,7 @@ buildscript {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.0.2'
|
||||
classpath 'com.android.tools.build:gradle:7.2.1'
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,12 +34,14 @@ android {
|
||||
* Changing them manually might break the compilation!
|
||||
*******************************************************/
|
||||
|
||||
//compileSdkVersion androidCompileSdkVersion.toInteger()
|
||||
compileSdkVersion 31
|
||||
//buildToolsVersion androidBuildToolsVersion
|
||||
buildToolsVersion '31.0.0'
|
||||
//compileSdkVersion androidCompileSdkVersion
|
||||
compileSdkVersion "android-33"
|
||||
buildToolsVersion androidBuildToolsVersion
|
||||
ndkVersion androidNdkVersion
|
||||
|
||||
// Extract native libraries from the APK
|
||||
packagingOptions.jniLibs.useLegacyPackaging true
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
|
26
pkg/android/src/org/gpxsee/gpxsee/Activity.java
Normal file
@ -0,0 +1,26 @@
|
||||
package org.gpxsee.gpxsee;
|
||||
|
||||
import android.content.Intent;
|
||||
|
||||
public class Activity extends org.qtproject.qt.android.bindings.QtActivity
|
||||
{
|
||||
@Override
|
||||
public void onNewIntent(Intent intent)
|
||||
{
|
||||
setIntent(intent);
|
||||
}
|
||||
|
||||
public String intentPath()
|
||||
{
|
||||
String path = "";
|
||||
|
||||
Intent intent = getIntent();
|
||||
if (intent != null) {
|
||||
if (intent.getAction() == Intent.ACTION_VIEW)
|
||||
path = intent.getDataString();
|
||||
setIntent(null);
|
||||
}
|
||||
|
||||
return path;
|
||||
}
|
||||
}
|
@ -107,6 +107,7 @@
|
||||
<mimetype>application/vnd.twonav.wpt</mimetype>
|
||||
<mimetype>application/vnd.cgtk.gemf</mimetype>
|
||||
<mimetype>application/vnd.orux.map+xml</mimetype>
|
||||
<mimetype>application/vnd.iho.s57</mimetype>
|
||||
<mimetype>application/vnd.iho.s57-data</mimetype>
|
||||
<mimetype>application/vnd.iho.s57-catalogue</mimetype>
|
||||
</mimetypes>
|
||||
</component>
|
||||
|
@ -5,6 +5,7 @@ Comment[cz]=Prohlížeč a analyzátor GPS logů
|
||||
Comment[fi]=Ohjelma GPS-lokien katseluun ja analysointiin
|
||||
Comment[fr]=Visualisation et analyse de fichier GPS
|
||||
Comment[nb]=GPS-loggfilleser og analysator
|
||||
Comment[ko]=GPS 로그 파일 뷰어 및 분석기
|
||||
Comment[pl]=Przeglądarka i analizator plików dziennika GPS
|
||||
Comment[ru]=Программа для просмотра и анализа GPS логов
|
||||
Comment[sv]=GPS-loggfilsläsare och analysator
|
||||
@ -15,4 +16,4 @@ Icon=gpxsee
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Graphics;Viewer;Education;Geography;Maps;Sports;Qt
|
||||
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
|
||||
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
|
||||
|
@ -334,16 +334,23 @@
|
||||
<mime-type type="application/vnd.orux.map+xml">
|
||||
<comment>Orux Map File</comment>
|
||||
<sub-class-of type="application/xml"/>
|
||||
<generic-icon name="application-xml"/>
|
||||
<generic-icon name="application/xml"/>
|
||||
<root-XML namespaceURI="http://oruxtracker.com/app/res/calibration" localName="OruxTracker"/>
|
||||
<glob pattern="*.otrk2.xml"/>
|
||||
</mime-type>
|
||||
|
||||
<mime-type type="application/vnd.iho.s57">
|
||||
<mime-type type="application/vnd.iho.s57-data">
|
||||
<comment>IHO S-57 Electronic Navigation Chart</comment>
|
||||
<sub-class-of type="application/octet-stream"/>
|
||||
<generic-icon name="application/octet-stream"/>
|
||||
<glob pattern="*.000"/>
|
||||
</mime-type>
|
||||
|
||||
<mime-type type="application/vnd.iho.s57-catalogue">
|
||||
<comment>IHO S-57 Electronic Navigation Catalogue</comment>
|
||||
<sub-class-of type="application/octet-stream"/>
|
||||
<generic-icon name="application/octet-stream"/>
|
||||
<glob pattern="*.031"/>
|
||||
</mime-type>
|
||||
|
||||
</mime-info>
|
||||
|
@ -695,7 +695,7 @@
|
||||
</array>
|
||||
<key>CFBundleTypeMIMETypes</key>
|
||||
<array>
|
||||
<string>application/vnd.iho.s57</string>
|
||||
<string>application/vnd.iho.s57-data</string>
|
||||
</array>
|
||||
<key>CFBundleTypeIconFile</key>
|
||||
<string>icons/000.icns</string>
|
||||
@ -704,6 +704,22 @@
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Viewer</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CFBundleTypeExtensions</key>
|
||||
<array>
|
||||
<string>031</string>
|
||||
</array>
|
||||
<key>CFBundleTypeMIMETypes</key>
|
||||
<array>
|
||||
<string>application/vnd.iho.s57-catalogue</string>
|
||||
</array>
|
||||
<key>CFBundleTypeIconFile</key>
|
||||
<string>icons/031.icns</string>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>IHO S-57 Electronic Navigation Catalogue</string>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Viewer</string>
|
||||
</dict>
|
||||
</array>
|
||||
|
||||
<key>UTImportedTypeDeclarations</key>
|
||||
@ -1609,7 +1625,7 @@
|
||||
</dict>
|
||||
<dict>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>int.iho.s57</string>
|
||||
<string>int.iho.s57-data</string>
|
||||
<key>UTTypeReferenceURL</key>
|
||||
<string>https://iho.int/uploads/user/pubs/standards/s-57/31Main.pdf</string>
|
||||
<key>UTTypeDescription</key>
|
||||
@ -1625,7 +1641,28 @@
|
||||
<string>000</string>
|
||||
</array>
|
||||
<key>public.mime-type</key>
|
||||
<string>application/vnd.iho.s57</string>
|
||||
<string>application/vnd.iho.s57-data</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>UTTypeIdentifier</key>
|
||||
<string>int.iho.s57-catalogue</string>
|
||||
<key>UTTypeReferenceURL</key>
|
||||
<string>https://iho.int/uploads/user/pubs/standards/s-57/20ApB1.pdf</string>
|
||||
<key>UTTypeDescription</key>
|
||||
<string>IHO S-57 Electronic Navigation Catalogue</string>
|
||||
<key>UTTypeConformsTo</key>
|
||||
<array>
|
||||
<string>public.data</string>
|
||||
</array>
|
||||
<key>UTTypeTagSpecification</key>
|
||||
<dict>
|
||||
<key>public.filename-extension</key>
|
||||
<array>
|
||||
<string>031</string>
|
||||
</array>
|
||||
<key>public.mime-type</key>
|
||||
<string>application/vnd.iho.s57-catalogue</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
|
@ -37,7 +37,7 @@ Unicode true
|
||||
; The name of the installer
|
||||
Name "GPXSee"
|
||||
; Program version
|
||||
!define VERSION "11.12"
|
||||
!define VERSION "13.9"
|
||||
|
||||
; The file to write
|
||||
OutFile "GPXSee-${VERSION}_x64.exe"
|
||||
@ -119,7 +119,7 @@ Section "GPXSee" SEC_APP
|
||||
; Put the files there
|
||||
File "gpxsee.exe"
|
||||
File /r "maps"
|
||||
File /r "csv"
|
||||
File /r "CRS"
|
||||
File /r "symbols"
|
||||
|
||||
; Create the uninstaller
|
||||
@ -142,6 +142,7 @@ Section "GPXSee" SEC_APP
|
||||
WriteRegStr HKLM "${REGENTRY}" "Publisher" "Martin Tůma"
|
||||
WriteRegStr HKLM "${REGENTRY}" "DisplayVersion" "${VERSION}"
|
||||
WriteRegStr HKLM "${REGENTRY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||||
WriteRegStr HKLM "${REGENTRY}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
|
||||
WriteRegStr HKLM "${REGENTRY}" "DisplayIcon" '"$INSTDIR\gpxsee.exe"'
|
||||
WriteRegStr HKLM "${REGENTRY}" "InstallLocation" '"$INSTDIR"'
|
||||
WriteRegStr HKLM "${REGENTRY}" "URLInfoAbout" "https://www.gpxsee.org"
|
||||
@ -182,13 +183,14 @@ Section "GPXSee" SEC_APP
|
||||
!insertmacro FILE_ASSOCIATION_ADD "trk" "TwoNav Track File" 25
|
||||
!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 "kml" "Keyhole Markup Language" 28
|
||||
!insertmacro FILE_ASSOCIATION_ADD "kmz" "KML geographic compressed data" 28
|
||||
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 29
|
||||
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 30
|
||||
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 Data" 31
|
||||
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track File" 32
|
||||
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 33
|
||||
!insertmacro FILE_ASSOCIATION_ADD "031" "IHO S-57 Electronic Navigation Catalogue" 28
|
||||
!insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 29
|
||||
!insertmacro FILE_ASSOCIATION_ADD "kmz" "KML geographic compressed data" 29
|
||||
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 30
|
||||
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 31
|
||||
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 Data" 32
|
||||
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track File" 33
|
||||
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 34
|
||||
|
||||
WriteRegStr HKCR "Applications\GPXSee.exe\shell\open\command" "" "$\"$INSTDIR\GPXSee.exe$\" $\"%1$\""
|
||||
WriteRegStr HKCR ".gpx\OpenWithList" "GPXSee.exe" ""
|
||||
@ -239,6 +241,7 @@ Section "GPXSee" SEC_APP
|
||||
WriteRegStr HKCR ".trk\OpenWithList" "GPXSee.exe" ""
|
||||
WriteRegStr HKCR ".gemf\OpenWithList" "GPXSee.exe" ""
|
||||
WriteRegStr HKCR ".000\OpenWithList" "GPXSee.exe" ""
|
||||
WriteRegStr HKCR ".031\OpenWithList" "GPXSee.exe" ""
|
||||
|
||||
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
||||
|
||||
@ -299,8 +302,13 @@ Section "OpenSSL" SEC_OPENSSL
|
||||
|
||||
SectionIn RO
|
||||
|
||||
!ifdef QT6
|
||||
File "libcrypto-3-x64.dll"
|
||||
File "libssl-3-x64.dll"
|
||||
!else
|
||||
File "libcrypto-1_1-x64.dll"
|
||||
File "libssl-1_1-x64.dll"
|
||||
!endif
|
||||
|
||||
SectionEnd
|
||||
|
||||
@ -396,6 +404,7 @@ Section "Uninstall"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "trk"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "gemf"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "000"
|
||||
!insertmacro FILE_ASSOCIATION_REMOVE "031"
|
||||
|
||||
DeleteRegValue HKCR ".gpx\OpenWithList" "GPXSee.exe"
|
||||
DeleteRegValue HKCR ".tcx\OpenWithList" "GPXSee.exe"
|
||||
@ -445,6 +454,7 @@ Section "Uninstall"
|
||||
DeleteRegValue HKCR ".trk\OpenWithList" "GPXSee.exe"
|
||||
DeleteRegValue HKCR ".gemf\OpenWithList" "GPXSee.exe"
|
||||
DeleteRegValue HKCR ".000\OpenWithList" "GPXSee.exe"
|
||||
DeleteRegValue HKCR ".031\OpenWithList" "GPXSee.exe"
|
||||
DeleteRegKey HKCR "Applications\GPXSee.exe"
|
||||
|
||||
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
||||
|
@ -6,11 +6,18 @@
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QLibraryInfo>
|
||||
#include <QSurfaceFormat>
|
||||
#include <QImageReader>
|
||||
#include <QFileInfo>
|
||||
#ifdef Q_OS_ANDROID
|
||||
#include <QCoreApplication>
|
||||
#include <QJniObject>
|
||||
#endif // Q_OS_ANDROID
|
||||
#include "common/programpaths.h"
|
||||
#include "common/config.h"
|
||||
#include "common/downloader.h"
|
||||
#include "map/ellipsoid.h"
|
||||
#include "map/gcs.h"
|
||||
#include "map/conversion.h"
|
||||
#include "map/pcs.h"
|
||||
#include "data/dem.h"
|
||||
#include "data/waypoint.h"
|
||||
@ -55,6 +62,9 @@ App::App(int &argc, char **argv) : QApplication(argc, argv)
|
||||
fmt.setStencilBufferSize(8);
|
||||
fmt.setSamples(4);
|
||||
QSurfaceFormat::setDefaultFormat(fmt);
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
QImageReader::setAllocationLimit(0);
|
||||
#endif // QT6
|
||||
|
||||
loadDatums();
|
||||
loadPCSs();
|
||||
@ -76,14 +86,16 @@ int App::run()
|
||||
{
|
||||
MapAction *lastReady = 0;
|
||||
QStringList args(arguments());
|
||||
int silent = 0;
|
||||
int showError = (args.count() - 1 > 1) ? 2 : 1;
|
||||
|
||||
_gui->show();
|
||||
|
||||
for (int i = 1; i < args.count(); i++) {
|
||||
if (!_gui->openFile(args.at(i), true)) {
|
||||
if (!_gui->openFile(args.at(i), false, silent)) {
|
||||
MapAction *a;
|
||||
if (!_gui->loadMap(args.at(i), a, true))
|
||||
_gui->openFile(args.at(i), false);
|
||||
if (!_gui->loadMap(args.at(i), a, silent))
|
||||
_gui->openFile(args.at(i), true, showError);
|
||||
else {
|
||||
if (a)
|
||||
lastReady = a;
|
||||
@ -102,18 +114,39 @@ void App::appStateChanged(Qt::ApplicationState state)
|
||||
{
|
||||
if (state == Qt::ApplicationSuspended)
|
||||
_gui->writeSettings();
|
||||
else if (state == Qt::ApplicationActive) {
|
||||
QJniObject activity = QNativeInterface::QAndroidApplication::context();
|
||||
QString path(activity.callObjectMethod<jstring>("intentPath").toString());
|
||||
if (!path.isEmpty()) {
|
||||
int silent = 0;
|
||||
int showError = 1;
|
||||
|
||||
if (!_gui->openFile(path, false, silent)) {
|
||||
MapAction *a;
|
||||
if (!_gui->loadMap(path, a, silent))
|
||||
_gui->openFile(path, true, showError);
|
||||
else {
|
||||
if (a)
|
||||
a->trigger();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // Q_OS_ANDROID
|
||||
|
||||
bool App::event(QEvent *event)
|
||||
{
|
||||
int silent = 0;
|
||||
int showError = 1;
|
||||
|
||||
if (event->type() == QEvent::FileOpen) {
|
||||
QFileOpenEvent *e = static_cast<QFileOpenEvent *>(event);
|
||||
|
||||
if (!_gui->openFile(e->file(), true)) {
|
||||
if (!_gui->openFile(e->file(), false, silent)) {
|
||||
MapAction *a;
|
||||
if (!_gui->loadMap(e->file(), a, true))
|
||||
return _gui->openFile(e->file(), false);
|
||||
if (!_gui->loadMap(e->file(), a, silent))
|
||||
return _gui->openFile(e->file(), true, showError);
|
||||
else {
|
||||
if (a)
|
||||
a->trigger();
|
||||
@ -131,10 +164,13 @@ void App::loadDatums()
|
||||
QString ellipsoidsFile(ProgramPaths::ellipsoidsFile());
|
||||
QString gcsFile(ProgramPaths::gcsFile());
|
||||
|
||||
if (ellipsoidsFile.isNull())
|
||||
if (!QFileInfo::exists(ellipsoidsFile)) {
|
||||
qWarning("No ellipsoids file found.");
|
||||
if (gcsFile.isNull())
|
||||
ellipsoidsFile = QString();
|
||||
} if (!QFileInfo::exists(gcsFile)) {
|
||||
qWarning("No GCS file found.");
|
||||
gcsFile = QString();
|
||||
}
|
||||
|
||||
if (!ellipsoidsFile.isNull() && !gcsFile.isNull()) {
|
||||
Ellipsoid::loadList(ellipsoidsFile);
|
||||
@ -145,10 +181,21 @@ void App::loadDatums()
|
||||
|
||||
void App::loadPCSs()
|
||||
{
|
||||
QString projectionsFile(ProgramPaths::projectionsFile());
|
||||
QString pcsFile(ProgramPaths::pcsFile());
|
||||
|
||||
if (pcsFile.isNull())
|
||||
if (!QFileInfo::exists(projectionsFile)) {
|
||||
qWarning("No projections file found.");
|
||||
projectionsFile = QString();
|
||||
}
|
||||
if (!QFileInfo::exists(pcsFile)) {
|
||||
qWarning("No PCS file found.");
|
||||
else
|
||||
pcsFile = QString();
|
||||
}
|
||||
|
||||
if (!projectionsFile.isNull() && !pcsFile.isNull()) {
|
||||
Conversion::loadList(projectionsFile);
|
||||
PCS::loadList(pcsFile);
|
||||
} else
|
||||
qWarning("Maps based on a projection different from EPSG:3857 won't work.");
|
||||
}
|
||||
|
@ -25,7 +25,6 @@ ToolTip AreaItem::info() const
|
||||
AreaItem::AreaItem(const Area &area, Map *map, GraphicsItem *parent)
|
||||
: PlaneItem(parent), _area(area)
|
||||
{
|
||||
_map = map;
|
||||
_digitalZoom = 0;
|
||||
_width = 2;
|
||||
_opacity = 0.5;
|
||||
@ -35,34 +34,34 @@ AreaItem::AreaItem(const Area &area, Map *map, GraphicsItem *parent)
|
||||
_pen = QPen(strokeColor(), width());
|
||||
_brush = QBrush(fillColor());
|
||||
|
||||
updatePainterPath();
|
||||
updatePainterPath(map);
|
||||
|
||||
setCursor(Qt::ArrowCursor);
|
||||
setAcceptHoverEvents(true);
|
||||
}
|
||||
|
||||
QPainterPath AreaItem::painterPath(const Polygon &polygon)
|
||||
QPainterPath AreaItem::painterPath(Map *map, const Polygon &polygon)
|
||||
{
|
||||
QPainterPath path;
|
||||
|
||||
for (int i = 0; i < polygon.size(); i++) {
|
||||
const QVector<Coordinates> &subpath = polygon.at(i);
|
||||
|
||||
path.moveTo(_map->ll2xy(subpath.first()));
|
||||
path.moveTo(map->ll2xy(subpath.first()));
|
||||
for (int j = 1; j < subpath.size(); j++)
|
||||
path.lineTo(_map->ll2xy(subpath.at(j)));
|
||||
path.lineTo(map->ll2xy(subpath.at(j)));
|
||||
path.closeSubpath();
|
||||
}
|
||||
|
||||
return path;
|
||||
}
|
||||
|
||||
void AreaItem::updatePainterPath()
|
||||
void AreaItem::updatePainterPath(Map *map)
|
||||
{
|
||||
_painterPath = QPainterPath();
|
||||
|
||||
for (int i = 0; i < _area.polygons().size(); i++)
|
||||
_painterPath.addPath(painterPath(_area.polygons().at(i)));
|
||||
_painterPath.addPath(painterPath(map, _area.polygons().at(i)));
|
||||
}
|
||||
|
||||
void AreaItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
@ -85,10 +84,7 @@ void AreaItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
void AreaItem::setMap(Map *map)
|
||||
{
|
||||
prepareGeometryChange();
|
||||
|
||||
_map = map;
|
||||
|
||||
updatePainterPath();
|
||||
updatePainterPath(map);
|
||||
}
|
||||
|
||||
const QColor &AreaItem::strokeColor() const
|
||||
@ -178,14 +174,14 @@ void AreaItem::setDigitalZoom(int zoom)
|
||||
prepareGeometryChange();
|
||||
|
||||
_digitalZoom = zoom;
|
||||
_pen.setWidthF(_width * pow(2, -_digitalZoom));
|
||||
_pen.setWidthF(width() * pow(2, -_digitalZoom));
|
||||
}
|
||||
|
||||
void AreaItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
|
||||
{
|
||||
Q_UNUSED(event);
|
||||
|
||||
_pen.setWidthF((_width + 1) * pow(2, -_digitalZoom));
|
||||
_pen.setWidthF((width() + 1) * pow(2, -_digitalZoom));
|
||||
update();
|
||||
}
|
||||
|
||||
@ -193,6 +189,6 @@ void AreaItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
|
||||
{
|
||||
Q_UNUSED(event);
|
||||
|
||||
_pen.setWidthF(_width * pow(2, -_digitalZoom));
|
||||
_pen.setWidthF(width() * pow(2, -_digitalZoom));
|
||||
update();
|
||||
}
|
||||
|
@ -33,8 +33,8 @@ protected:
|
||||
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
|
||||
|
||||
private:
|
||||
QPainterPath painterPath(const Polygon &polygon);
|
||||
void updatePainterPath();
|
||||
QPainterPath painterPath(Map *map, const Polygon &polygon);
|
||||
void updatePainterPath(Map *map);
|
||||
void updateColor();
|
||||
void updateWidth();
|
||||
void updatePenStyle();
|
||||
@ -45,8 +45,6 @@ private:
|
||||
|
||||
Area _area;
|
||||
|
||||
Map *_map;
|
||||
|
||||
qreal _width;
|
||||
QColor _color;
|
||||
qreal _opacity;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
CadenceGraph::CadenceGraph(QWidget *parent) : GraphTab(parent)
|
||||
{
|
||||
_showTracks = true;
|
||||
_showTracks = false;
|
||||
|
||||
GraphView::setYUnits(tr("rpm"));
|
||||
setYLabel(tr("Cadence"));
|
||||
@ -47,7 +47,7 @@ QList<GraphItem*> CadenceGraph::loadData(const Data &data)
|
||||
const Track &track = data.tracks().at(i);
|
||||
const Graph &graph = track.cadence();
|
||||
|
||||
if (!graph.isValid()) {
|
||||
if (graph.isEmpty()) {
|
||||
_palette.nextColor();
|
||||
graphs.append(0);
|
||||
} else {
|
||||
|
@ -33,8 +33,8 @@ ElevationGraph::ElevationGraph(QWidget *parent) : GraphTab(parent)
|
||||
_routeMin = NAN;
|
||||
_routeMax = NAN;
|
||||
|
||||
_showRoutes = true;
|
||||
_showTracks = true;
|
||||
_showRoutes = false;
|
||||
_showTracks = false;
|
||||
|
||||
setYUnits(Metric);
|
||||
setYLabel(tr("Elevation"));
|
||||
@ -85,7 +85,7 @@ void ElevationGraph::setInfo()
|
||||
GraphItem *ElevationGraph::loadGraph(const Graph &graph, PathType type,
|
||||
const QColor &color, bool primary)
|
||||
{
|
||||
if (!graph.isValid())
|
||||
if (graph.isEmpty())
|
||||
return 0;
|
||||
|
||||
ElevationGraphItem *gi = new ElevationGraphItem(graph, _graphType, _width,
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
GearRatioGraph::GearRatioGraph(QWidget *parent) : GraphTab(parent)
|
||||
{
|
||||
_showTracks = true;
|
||||
_showTracks = false;
|
||||
|
||||
GraphView::setYUnits("");
|
||||
setYLabel(tr("Gear ratio"));
|
||||
@ -50,7 +50,7 @@ QList<GraphItem*> GearRatioGraph::loadData(const Data &data)
|
||||
for (int i = 0; i < data.tracks().count(); i++) {
|
||||
const Graph &graph = data.tracks().at(i).ratio();
|
||||
|
||||
if (!graph.isValid()) {
|
||||
if (graph.isEmpty()) {
|
||||
_palette.nextColor();
|
||||
graphs.append(0);
|
||||
} else {
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "graphicsscene.h"
|
||||
|
||||
|
||||
bool GraphicsItem::_useStyle = true;
|
||||
bool GraphicsItem::_useStyle = false;
|
||||
|
||||
/* Standard GraphicsScene::items() is not pixel accurate, so we use the
|
||||
following function which has the same logic as used in the original
|
||||
|
@ -8,8 +8,6 @@ GraphItem::GraphItem(const Graph &graph, GraphType type, int width,
|
||||
const QColor &color, Qt::PenStyle style, QGraphicsItem *parent)
|
||||
: GraphicsItem(parent), _graph(graph), _type(type), _secondaryGraph(0)
|
||||
{
|
||||
Q_ASSERT(_graph.isValid());
|
||||
|
||||
_units = Metric;
|
||||
_sx = 0; _sy = 0;
|
||||
_color = color;
|
||||
@ -226,6 +224,12 @@ qreal GraphItem::timeAtDistance(qreal distance) const
|
||||
return l.pointAt((distance - l.p1().x()) / (l.p2().x() - l.p1().x())).y();
|
||||
}
|
||||
|
||||
GraphItem::SegmentTime GraphItem::date(qreal x)
|
||||
{
|
||||
const GraphSegment *seg = segment(x, _type);
|
||||
return seg ? SegmentTime(seg->start(), seg->first().t()) : SegmentTime();
|
||||
}
|
||||
|
||||
void GraphItem::hover(bool hover)
|
||||
{
|
||||
if (hover) {
|
||||
|
@ -12,6 +12,16 @@ class GraphItem : public QObject, public GraphicsItem
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
struct SegmentTime
|
||||
{
|
||||
SegmentTime() : time(NAN) {}
|
||||
SegmentTime(const QDateTime &date, qreal time)
|
||||
: date(date), time(time) {}
|
||||
|
||||
QDateTime date;
|
||||
qreal time;
|
||||
};
|
||||
|
||||
GraphItem(const Graph &graph, GraphType type, int width,
|
||||
const QColor &color, Qt::PenStyle style, QGraphicsItem *parent = 0);
|
||||
virtual ~GraphItem() {}
|
||||
@ -43,6 +53,7 @@ public:
|
||||
qreal yAtX(qreal x) const;
|
||||
qreal distanceAtTime(qreal time) const;
|
||||
qreal timeAtDistance(qreal distance) const;
|
||||
SegmentTime date(qreal x);
|
||||
|
||||
void redraw();
|
||||
|
||||
|