1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-24 11:45:53 +01:00
Commit Graph

2173 Commits

Author SHA1 Message Date
2026036015 Do not draw IMG contour lines that have no color defined 2024-02-27 07:20:09 +01:00
af7696bfd7 Do the hillshading in alpha layer only 2024-02-26 10:27:58 +01:00
f3bb7ada9a Split the alpha and z values 2024-02-26 09:10:38 +01:00
6ccfe0eb21 Raster tile APIs unification/cleanup 2024-02-23 09:45:41 +01:00
d42c6831df Fixed debug code 2024-02-23 09:25:41 +01:00
e0ff4529b6 Code cleanup 2024-02-23 08:15:13 +01:00
f7a81cafd5 Move the DEM sources to the common folder now that we use them in map/data 2024-02-22 21:34:34 +01:00
108e68c7c9 Prevent zoom change due to float computations errors 2024-02-22 21:23:37 +01:00
f1fd4f8bc9 Code cleanup 2024-02-22 21:14:49 +01:00
d8f7089450 Code cleanup 2024-02-21 18:54:27 +01:00
3f6eca7404 Do as much as possible in parallel 2024-02-21 18:40:28 +01:00
ed11bbd730 Code cleanup 2024-02-21 18:39:21 +01:00
54e185ed4a Disable hillshading by default 2024-02-21 08:59:39 +01:00
cf86fb7557 Added hillshading to vector maps 2024-02-21 08:49:09 +01:00
f21a155f79 Do not pretend Matrix can have bigger indexes than int 2024-02-19 22:06:18 +01:00
26d2403fc0 Code cleanup 2024-02-18 15:05:54 +01:00
334f191fb4 Improved debug code 2024-02-18 11:29:51 +01:00
0a281f8ca8 Fixed broken ENC atlases names (center locations) 2024-02-18 07:38:46 +01:00
32262e7c46 Added missing reference 2024-02-17 16:28:09 +01:00
88b458e959 Use QVector as the data container in Matrix 2024-02-17 11:54:07 +01:00
ea29155463 Code cleanup 2024-02-12 22:38:42 +01:00
ba2fd6d2e2 Reload the ENC style on device pixel ratio changes 2024-02-12 10:02:19 +01:00
c4b1671fec Added missing cleanup 2024-02-11 23:46:00 +01:00
65fac30780 Always use the core5compat module for code page transformations on Android 2024-02-11 18:19:54 +01:00
7bcd5f63bc Downscale HiDPI images rather than upscale the standard versions 2024-02-11 16:47:32 +01:00
3b3f06cec8 Silenced some more clazy warnings 2024-02-09 09:46:49 +01:00
268ec1050b Fixed highway line 2024-02-09 08:23:52 +01:00
d214819298 Silenced clazy warnings 2024-02-09 02:29:51 +01:00
52e0d921da Some more IMG POI icons additions + fixes 2024-02-08 22:12:00 +01:00
9464bbc13f Use a better high/low speed ramps style 2024-02-08 01:03:07 +01:00
4e7c6e39aa Improved bitmap lines drawing 2024-02-07 22:10:40 +01:00
96b602bf14 Use a railway line color that fits the ENC style 2024-02-06 23:44:18 +01:00
f7f680b93e Fixed multiple HiDPI map render issues 2024-02-06 22:37:01 +01:00
fe70b31212 Use SVG Maki icos instead of PNGs 2024-02-06 22:36:28 +01:00
a3bac33bf4 Use a more accurate and faster top left xy coordinate computation 2024-02-04 17:42:36 +01:00
d61528c33f Do the OpenGL initialization before QApplication is created 2024-02-03 16:41:38 +01:00
536d12469a Use the canonical file name also for the "already open" check 2024-01-21 17:50:56 +01:00
b05e7b15fe Use ISO-8859-1 as the fallback encoding rather than UTF-8 2024-01-19 09:56:56 +01:00
796c2e7eaf Removed unused header include 2024-01-18 22:13:05 +01:00
7f7de87e99 Drop Qt5Compat dependency
Use QStringConverter instead of QTextCodec on Qt > 6.5.
Qt6 builds now require Qt build with ICU support for the non-UTF encodings to
work!
2024-01-18 10:04:38 +01:00
9cacf1906e Do not duplicate the same paths in the "open recent" menu 2024-01-18 09:53:50 +01:00
c493f8cf16 Make the popup layout more resistant to broken HTML content 2024-01-17 08:57:08 +01:00
866b2c27ca Consistently initialize all stuff in constructor 2024-01-05 00:20:05 +01:00
07614a8f74 Added missing header includes 2024-01-04 18:53:43 +01:00
6b4990a204 Fixed error handling 2024-01-02 19:11:04 +01:00
7a7a331b58 The codec is always set when reading the GPI header 2024-01-02 09:48:13 +01:00
a1e10c395a Some more code cleanup 2024-01-01 13:02:42 +01:00
c97561add4 Code cleanup 2024-01-01 10:58:23 +01:00
d994fae4ce Fixed the change that has broken non-TAR maps
Do not fail on the first image read error - there may be files with a "_%u_%u."
file name match that are not image tiles.
2024-01-01 10:48:16 +01:00
789606cf86 Silenced some more clazy warnings 2023-12-31 13:57:43 +01:00
542b3e920e Fixed read error check 2023-12-31 13:24:36 +01:00
0248ecb254 Improved tile file check 2023-12-31 13:20:04 +01:00
7860ce8acc Use the info we already have for calibration file type distinction 2023-12-31 10:05:02 +01:00
2541797e7d Improved error reporting 2023-12-31 01:12:46 +01:00
e13d6dfc4b Fixed broken image dimensions checks 2023-12-29 18:01:28 +01:00
c6a37594ae Code cleanup 2023-12-27 15:26:39 +01:00
bcfd51276f Use QNetworkRequest::setTransferTimeout where available 2023-12-27 15:12:53 +01:00
aed09a0e6a Android build fix no.3 2023-12-27 00:33:49 +01:00
867b70d159 Android build fix #2 2023-12-26 21:00:27 +01:00
0b05079a49 Fixed Android build 2023-12-26 20:52:58 +01:00
ca71eb9d93 Header includes cleanup 2023-12-26 20:46:52 +01:00
4a82055867 Some more code cleanup 2023-12-26 20:05:38 +01:00
14dc2af877 Code cleanup 2023-12-26 14:14:08 +01:00
9380f31022 Code cleanup 2023-12-25 11:12:52 +01:00
5f76427ba4 Code cleanup 2023-12-25 10:49:50 +01:00
d4b731aeaf Use MIB numbers for QTextCodec fetching
Discard the "broken name cache" workaround and use QTextCodec search based
on MIB numbers.
2023-12-22 09:32:47 +01:00
3d27b4ea00 The codec is always set in load(), use the default constructor 2023-12-21 17:27:27 +01:00
502a7b4129 Do not have a separate class/file for ENC style retrieving, move
the stuff to the ENC raster tile constructor
2023-12-21 16:57:11 +01:00
6f32c73684 Added infinitive recursion assert 2023-12-21 16:55:42 +01:00
829d85a70a Optimize TextCodec initialization
QTextCodec initialization is very slow due to it's broken caching in Qt when
ICU is enabled. Make TetCodec initialize fast anyway as it may be used very
often in IMG maps (every LBL subfile has it's own codec!).
2023-12-21 01:31:44 +01:00
bff27df10c Fixed race conditions on local static data 2023-12-21 01:13:36 +01:00
11ac5da640 Increase the default pixmap cache size on Android to 384MB
We need at least 4 * 4096x4096x4 for overzoomed vector tiles + additional
memory for remaining pixmaps (GUI icons, ...)
2023-12-18 21:18:50 +01:00
112dc59cf2 Fixed broken map scale (ruler) on HiDPI maps 2023-12-18 20:35:55 +01:00
aa892f6c3f Limit the overzoom by the resulting tile size rather than number of levels
Huge sizes may cause broken rendering and cache ping-pong. Do not allow
resulting tile sizes > 4096x4096px.
2023-12-18 20:32:00 +01:00
c1c8f6303c Code cleanup 2023-12-11 21:13:11 +01:00
5fcc27c176 Fixed broken TMS maps rendering 2023-12-11 20:31:13 +01:00
77e9fae19d Asynchronous rendering of online vector maps 2023-12-11 20:11:16 +01:00
148fc76d5a Added support for online vector maps overzoom 2023-12-11 18:54:46 +01:00
6f1f5fd965 Limit the overzoom to max 3 levels 2023-12-10 15:34:39 +01:00
58cd2a826d Added support for MVT overzoom
Requires QtPBFImagePlugin version 2.7
2023-12-10 15:24:39 +01:00
5525ba6e8c Code cleanup 2023-12-10 08:51:18 +01:00
63d3558b14 Provide the zoom level to QImageReader when fetching the tile size
Although technically not needed here, it workarounds the issue with the broken
Qt SVG imageformat plugin (QTBUG-119910).
2023-12-10 08:46:26 +01:00
eee4f31369 Cosmetics 2023-12-09 18:48:44 +01:00
bac55e317b Added workaround for broken Qt SVG image plugin colliding with the MVT plugin 2023-12-09 18:00:24 +01:00
c4bd3d39d1 Fixed possible double delete
QCache takes ownership (deletes the object) even if insert returns false!
2023-11-26 12:32:14 +01:00
6d03834167 Improved error reporting 2023-11-26 10:51:37 +01:00
cbca92513b Fixed crash on empty MBTiles files 2023-11-26 09:07:08 +01:00
0a5d5315c0 Code cleanup 2023-11-20 23:31:42 +01:00
95d354f10c Fixed map bounds limiting 2023-11-18 23:55:58 +01:00
aedbc99a6c Improved MBTiles map loading performance when metadata table present
+ Fixed zoom limiting
2023-11-18 23:29:18 +01:00
04f9457085 Fixed bounds limiting 2023-11-18 21:32:30 +01:00
bbc03ae59f Render MBTiles maps asynchronous if they include vector tiles 2023-11-17 17:39:33 +01:00
059ed3aa14 Dothe QImage -> QPixmap transformation in parallel 2023-11-17 16:17:53 +01:00
f258ca1a3e Prevent broken Qt heuristics to put submenus on wrong places on Mac 2023-11-17 13:41:01 +01:00
8ebd73115f Added "Open recent" menu 2023-11-15 01:24:39 +01:00
75a757cc0c Added support for GPSDump WPT files 2023-11-08 22:36:05 +01:00
b27981fe0f Fixed build with Qt versions < 5.12 2023-10-28 14:20:06 +02:00
7611bb15a7 Added missing DEM cache row on Mac 2023-10-28 12:10:51 +02:00
043a27dfae Use new GUI icons that fit the recent platform styles.
Switched to a new flat color icon set on Windows/Mac and platform provided
icon themes (e.g. Breeze) on Linux with a fallback to the Papirus theme. All
the GUI icons are now SVG.
2023-10-27 20:32:13 +02:00
6c50402423 Display ferry line names 2023-10-23 21:57:01 +02:00
f24e70dc91 Fixed maximal lines angle check 2023-10-22 23:45:10 +02:00
e1e0392917 Discard empty segments 2023-10-22 20:42:05 +02:00
1033ca2840 Added "Open directory" action for desktop systems
closes #522
2023-10-13 02:21:34 +02:00
e63fbffe08 Silenced compiler warnings 2023-10-10 23:05:15 +02:00
78240787ab Fixed line splitting algorithm 2023-10-10 08:11:08 +02:00
197c3b91be Fixed/improved path label layout algorithm 2023-10-09 21:58:03 +02:00
b123981dde Fixed llBounds() functions with broken signatures 2023-09-25 18:20:37 +02:00
0531389cd8 Fixed storing of WMTS tiles with file system incompatible tile matrix names 2023-09-16 14:29:09 +02:00
a281a68cbd Decreased map zoom level treshold to 80%
There are evidently more maps that have bigger diferences in bounding box
latitudes which lead to differnt resolutions for the same zoom level in
Mercator projection than maps that would have zoom level differences < 20%.
2023-09-15 23:28:55 +02:00
2e7f8dc341 Fixed map resolution computation for maps > world/2 2023-09-15 23:28:16 +02:00
d310399b4f Fixed Qt6 build 2023-09-14 19:02:19 +02:00
845a4b2921 Yet another TrekBuddy compatability enhancement & fixes
+ related map API refactoring
2023-09-14 18:36:03 +02:00
00fff55cd3 Check for bounds overflow in the computed/approximated case 2023-09-13 22:33:14 +02:00
722f3acb1e Support all variants of TrekBuddy maps/atlases
Added support for gmi calibration files and arbitrary named tba/map/gmi files.
2023-09-13 20:02:24 +02:00
b38cf31920 Allow arbitrary .map file names in TrekBuddy TAR maps 2023-09-12 22:05:42 +02:00
2884c39367 Contiguous zones 2023-09-12 08:47:39 +02:00
1124a1adb4 Distinguish silos and tanks 2023-09-10 11:41:38 +02:00
d1e632523a Refactoring 2023-09-08 19:26:46 +02:00
b1f104c2ec Added support for ENC atlases (catalogues) 2023-09-07 09:31:23 +02:00
0f26114f5d Two-way radio reporting points 2023-09-03 10:59:43 +02:00
f85634af3f Fixed Android build 2023-08-30 20:56:04 +02:00
903c925e2a Added the "Don't show again" checkbox also to map load error messages 2023-08-30 20:43:29 +02:00
490052bc6c Fixed broken "Use styles" persistent configuration
Fixes #511
2023-08-29 22:06:08 +02:00
6cba68f0d1 The logging period is apparently an int, not a byte in GHP files 2023-08-29 22:03:05 +02:00
e34f77f1a1 Use the real file names for suffix extraction on Android
Many file URLs/paths that are passed to GPXSee on Android are unusable for
extracting the file suffix due to the Android file name mangling. Use
the converted "display names" for suffix extraction where possible.
2023-08-28 20:18:38 +02:00
00e8004042 Improve GHP data detection
Do not consider all files with size divisible by 20 as valid GHP data... Require
at least on valid data point.
2023-08-28 20:14:30 +02:00
128ce8d78c Added missing windmill and flagstaff landmark icons 2023-08-24 09:07:01 +02:00
04ef7ba092 If there are multiple labels for a point, use the one with the highest priority 2023-08-19 13:36:20 +02:00
f683525fce Fixed/improved map info background rendering settings
All text items on the map (including path marker info) have now the same
background color (the map background color) and the "info background" option
also applies to all items now.
2023-08-19 11:01:12 +02:00
03711ede97 Re-introduce the zoom level offset
Most Mapsforge themes expect the zoom levels to be offset by one from
the standard OSM zoom levels. Additionally, the rendering is much faster
which always helps when dealing with a format that slow like Mapsforge...
2023-08-13 13:00:05 +02:00
984a8b6afc Try to open all files when browsing using the keys 2023-08-12 07:44:36 +02:00
f998148fec Added option to surpress error messages
Closes #487
2023-08-12 06:55:50 +02:00
7e10e6640c Added support for the "base-stroke-width" rendertheme parameters 2023-08-09 01:19:41 +02:00
97b61451b1 Removed the zoom level offset hack
In the Mapsforge library the offset is dependent on the tile size which is
in turn dependent on whether the tiles are hidpi or not. In other words
the Mapsforge library is broken and inconsistent between hidpi/non-hdpi
displays. GPXSee is consistent here and we have thus tochoose one zoom level
mapping (i.e. what zoom level corresponds to what resolution). Lets choose
"no offset" = more details on a given zoom level/resolution.
2023-08-09 01:12:42 +02:00
d064cedbbe Apply the Mapsforge maps zoom levels offset
Offset the Mapsforge zoom level when fetching data/rendering the tiles to get
the expected data/sizes/widths for the tiles at the given zoom level.
2023-08-05 18:56:55 +02:00
61b51e5596 Be more tolerant to unknown file header data 2023-08-04 09:34:36 +02:00
4bf81e020f Yet another code cleanup 2023-08-03 00:39:56 +02:00
e07e109c7d Code cleanup 2023-08-01 23:38:33 +02:00
dcf45475ba Show the arrows even when no label is set 2023-08-01 23:21:49 +02:00
3e8b54f605 Added hi-dpi one-way street (+ water ways) arrows 2023-07-31 23:36:14 +02:00
96e762beb5 Properly mark one-way streets in data from NET links 2023-07-14 09:52:27 +02:00
b4be5ea206 Display one-way streets info in IMG maps 2023-07-13 11:59:53 +02:00
cd220216dd Do not affect the map object scaling when resizing the tiles 2023-07-04 20:27:41 +02:00
0d6b02f466 Removed obsolete include 2023-06-30 09:55:35 +02:00
059c515175 Added graph pinch zooming
Fixes #501
2023-06-29 07:22:11 +02:00
688861bf65 Code cleanup 2023-06-23 09:30:44 +02:00
41188360bf Make the Mapsforge tiles sufficient large for the layout 2023-06-14 00:40:00 +02:00
9afeaf672a Properly match symbols to captions 2023-06-10 08:11:18 +02:00
5ddd63e697 Do not limit text that was not inserted 2023-06-06 07:32:42 +02:00
88fa1ed786 Some more Mapsforge maps rendering improvements 2023-06-06 07:18:31 +02:00
1233d20a21 Added support for lineSymbols in Mapsforge maps 2023-06-04 23:56:00 +02:00
1746eddb8d Code cleanup 2023-06-03 13:35:29 +02:00
ecda5103c8 Properly handle Mapsforge style menus 2023-05-31 01:01:42 +02:00
2b300fab54 Code cleanup 2023-05-29 23:19:16 +02:00
961061b643 Added rescue station 2023-05-28 11:28:12 +02:00
8bebea53ad Added LNDELV elevation values 2023-05-28 10:40:39 +02:00
c3b484bb75 Properly include std::isnan() 2023-05-26 21:57:45 +02:00
d6d43baec5 Optimization 2023-05-26 21:30:27 +02:00
c6c3e0978c Use generic icon rotate instead of special icon draw functions 2023-05-26 21:28:44 +02:00
320b04c3fa Added support for line "dy" parameter 2023-05-22 23:29:04 +02:00
822a0c2866 Tile search can be done lock-free 2023-05-21 09:14:19 +02:00
a92d6efec6 Do not do any time consuming actions in the mapview redraw callback
On all vector maps (ENC, IMG and Mapsforge), do the data loading
asynchronous like the tile rendering.
2023-05-19 19:33:22 +02:00
8a72b20af8 Added support for all paths scaling modes 2023-05-19 01:30:54 +02:00
e351eb6370 Only preallocate the memory when usin moveto/lineto 2023-05-17 23:10:45 +02:00
81e967f20d Only fetch data when the rect is valid 2023-05-17 23:08:17 +02:00
cf81a90865 Some more micro-optimizations & code cleanup 2023-05-16 23:03:07 +02:00
d0cea97c90 Added support for custom HTTP headers in map tile requests 2023-05-13 15:01:35 +02:00
ddc7eb7149 Do not outline soundings like in ENC maps 2023-05-12 10:19:52 +02:00
bb22ad95b7 Use the point label as additional source for the id hash
Some (marine) maps have different points with the same type on the same
position.
2023-05-11 22:57:35 +02:00
60e83b24f9 Use as much as possible of the 64b hash in Qt6 2023-05-11 21:31:10 +02:00
e6fdd0f53d Fixed crash on empty routes 2023-05-07 21:15:44 +02:00
d9c0770b51 Code cleanup 2023-05-06 21:53:40 +02:00
ca6c7247c0 Added missing cache insert 2023-05-06 16:14:49 +02:00
190a961242 Fixed wrong date info on tracks with segments 2023-05-04 21:49:02 +02:00
ccfb748404 Fixed KMZ maps bounds computation 2023-05-04 21:14:52 +02:00
a4a54101a3 Removed forgotten debug stuff 2023-05-04 09:51:42 +02:00
97e12d809f Map API refactoring
Including several map providers refactoring/rewrite
especial KML, JNX and TrekBuddy atlases.
2023-05-04 09:38:35 +02:00
62aabe0c56 If there are broken matrix limits, ignore them 2023-04-27 00:16:54 +02:00
2bd25dd9b0 Fixed build with Qt < 5.13 2023-04-25 23:33:54 +02:00
8cea06f2ad Improve SQLite-based maps error reporting 2023-04-25 22:52:55 +02:00
1d589e25d8 Some more Mapsforge microoptimizations + code cleanup 2023-04-25 22:11:47 +02:00
1eaaf719fd Code cleanup 2023-04-25 00:02:50 +02:00
6c91060cbb Some more Mapsforge micro-optimizations 2023-04-23 11:01:18 +02:00
ce4f0472c0 Use integers as tag keys in Mapsforge maps 2023-04-22 17:28:32 +02:00
229af4c749 The coordinates and the point type are sufficient for a unique ID 2023-04-19 00:33:04 +02:00
adc09da815 Added missing Garmin GPX power extension 2023-04-17 23:32:48 +02:00
a928cc4ccb Cosmetics 2023-04-16 09:42:00 +02:00
2824751615 Allow advanced CSV formating in CRS files 2023-04-15 03:18:52 +02:00
53c6f08af5 Fixed Android build 2023-04-14 00:04:09 +02:00
dc799f4642 Use a new/better location for the CRS data 2023-04-13 23:53:31 +02:00
7bfae8a398 Code cleanup 2023-04-13 23:51:25 +02:00
e5199f8648 Redesigned CRS logic (including CSV files structure) 2023-04-13 08:39:33 +02:00
aec052edaf Fixed elevation source selection logic 2023-04-10 17:21:02 +02:00
1bbc57173e Add only valid graph segments to the graphs
Fixes #489
2023-04-10 13:06:19 +02:00
52ea52ff4e Fixed broken graphs when data contains empty segments
fixes #490
2023-04-10 10:00:30 +02:00
b6ca28e159 Render circles 2023-04-08 00:34:33 +02:00
648627b17f Use style-defined priorities
+ code cleanup
2023-04-06 23:29:05 +02:00
2aa759a4bc Filter all way references, not only "ref"s 2023-04-06 09:41:31 +02:00
84dc58da71 Code cleanup 2023-04-05 21:50:19 +02:00
25838ad02d Removed obsolete header include 2023-04-05 21:02:20 +02:00