1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-07-20 13:54:24 +02:00

Compare commits

..

15 Commits

Author SHA1 Message Date
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
682fcc09cc Merge branch 'origin/master' into Weblate. 2023-05-11 21:31:32 +02:00
60e83b24f9 Use as much as possible of the 64b hash in Qt6 2023-05-11 21:31:10 +02:00
c30501185c Merge branch 'origin/master' into Weblate. 2023-05-07 21:20:08 +02:00
9b3c11cc68 Version++ 2023-05-07 21:19:55 +02:00
61f77ef19e Merge branch 'origin/master' into Weblate. 2023-05-07 21:16:26 +02:00
c0834491d3 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (467 of 467 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/nb_NO/
2023-05-07 21:16:25 +02:00
e6fdd0f53d Fixed crash on empty routes 2023-05-07 21:15:44 +02:00
fe444e88a3 Merge branch 'origin/master' into Weblate. 2023-05-06 21:53:53 +02:00
3a0e9bb733 Merge branch 'origin/master' into Weblate. 2023-05-06 16:15:14 +02:00
0b25cb9f81 Merge branch 'origin/master' into Weblate. 2023-05-04 21:49:22 +02:00
b19c3a83f3 Merge branch 'origin/master' into Weblate. 2023-05-04 09:52:05 +02:00
728361ad7b Merge branch 'origin/master' into Weblate. 2023-05-04 09:41:07 +02:00
raf
f5e3e5bd21 Translated using Weblate (Catalan)
Currently translated at 100.0% (467 of 467 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ca/
2023-04-29 11:48:37 +02:00
9 changed files with 32 additions and 24 deletions

View File

@ -1,4 +1,4 @@
version: 13.1.{build}
version: 13.2.{build}
configuration:
- Release

View File

@ -3,7 +3,7 @@ unix:!macx:!android {
} else {
TARGET = GPXSee
}
VERSION = 13.1
VERSION = 13.2
QT += core \
gui \

View File

@ -866,7 +866,7 @@
<location filename="../src/GUI/gui.cpp" line="907"/>
<location filename="../src/GUI/gui.cpp" line="925"/>
<source>CRS directory:</source>
<translation type="unfinished"></translation>
<translation>Directori CRS:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="909"/>
@ -1020,6 +1020,7 @@
<translation>
<numerusform>%n fitxer</numerusform>
<numerusform>%n fitxers</numerusform>
<numerusform>%n fitxers</numerusform>
</translation>
</message>
</context>

View File

@ -712,7 +712,7 @@
<location filename="../src/GUI/gui.cpp" line="907"/>
<location filename="../src/GUI/gui.cpp" line="925"/>
<source>CRS directory:</source>
<translation type="unfinished"></translation>
<translation>CRS-mappe:</translation>
</message>
<message>
<location filename="../src/GUI/gui.cpp" line="913"/>
@ -1718,12 +1718,12 @@
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="70"/>
<source>Select the proper coordinate reference system (CRS) of maps without a CRS definition (JNX, KMZ and World file maps).</source>
<translation type="unfinished"></translation>
<translation>Velg riktig koordinatreferansesystem (CRS) for kart uten en CRS-definisjon (JNX, KMZ og World-file kart).</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="73"/>
<source>Select the desired projection of vector maps (IMG, Mapsforge and ENC maps). The projection must be valid for the whole map area.</source>
<translation type="unfinished"></translation>
<translation>Velg ønsket projeksjon for vektorkart (IMG, Mapsforge og ENC-kart). Projeksjonen være gyldig for hele kartområdet.</translation>
</message>
<message>
<location filename="../src/GUI/optionsdialog.cpp" line="104"/>

View File

@ -37,7 +37,7 @@ Unicode true
; The name of the installer
Name "GPXSee"
; Program version
!define VERSION "13.1"
!define VERSION "13.2"
; The file to write
OutFile "GPXSee-${VERSION}_x64.exe"

View File

@ -6,13 +6,13 @@
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#define HASH_T uint
inline uint qHash(const QPoint &p)
{
return qHash(QPair<int, int>(p.x(), p.y()));
}
#else // QT6
#define HASH_T size_t
#endif // QT6
inline HASH_T qHash(const QPoint &p)
{
return ::qHash(p.x()) ^ ::qHash(p.y());
}
#endif // HASH_H

View File

@ -33,13 +33,16 @@ Path Route::path() const
Graph Route::gpsElevation() const
{
Graph graph;
graph.append(GraphSegment(QDateTime()));
GraphSegment &gs = graph.last();
QDateTime date;
GraphSegment gs(date);
for (int i = 0; i < _data.size(); i++)
if (_data.at(i).hasElevation())
gs.append(GraphPoint(_distance.at(i), NAN, _data.at(i).elevation()));
if (gs.size() >= 2)
graph.append(gs);
if (_data.style().color().isValid())
graph.setColor(_data.style().color());
@ -49,8 +52,8 @@ Graph Route::gpsElevation() const
Graph Route::demElevation() const
{
Graph graph;
graph.append(GraphSegment(QDateTime()));
GraphSegment &gs = graph.last();
QDateTime date;
GraphSegment gs(date);
for (int i = 0; i < _data.size(); i++) {
qreal dem = DEM::elevation(_data.at(i).coordinates());
@ -58,6 +61,9 @@ Graph Route::demElevation() const
gs.append(GraphPoint(_distance.at(i), NAN, dem));
}
if (gs.size() >= 2)
graph.append(gs);
if (_data.style().color().isValid())
graph.setColor(_data.style().color());

View File

@ -446,12 +446,14 @@ void RasterTile::processPoints(QList<TextItem*> &textItems)
: font(style.textFontSize());
const QColor *color = style.textColor().isValid()
? &style.textColor() : &textColor;
const QColor *hcolor = Style::isDepthPoint(point.type)
? 0 : &haloColor;
if ((!label || !fnt) && !img)
continue;
TextPointItem *item = new TextPointItem(QPoint(point.coordinates.lon(),
point.coordinates.lat()), label, fnt, img, color, &haloColor, 0,
point.coordinates.lat()), label, fnt, img, color, hcolor, 0,
ICON_PADDING);
if (item->isValid() && !item->collides(textItems))
textItems.append(item);

View File

@ -1,5 +1,6 @@
#include "common/rectc.h"
#include "common/garmin.h"
#include "common/hash.h"
#include "deltastream.h"
#include "huffmanstream.h"
#include "style.h"
@ -13,12 +14,10 @@ using namespace IMG;
#define MASK(bits) ((1U << (bits)) - 1U)
static quint64 pointId(const QPoint &pos, quint32 type)
static quint64 pointId(const QPoint &pos, quint32 type, const QString &label)
{
quint64 id;
uint hash = (uint)qHash(QPair<int, int>(pos.x(), pos.y()));
id = ((quint64)type)<<32 | hash;
quint64 hash = qHash(pos) ^ qHash(label);
quint64 id = ((quint64)type)<<40 | (hash & 0xFFFFFFFFFF);
// Increase rendering priorities for some special items
if (!Style::isCountry(type) && !Style::isMarina(type))
@ -484,11 +483,11 @@ bool RGNFile::pointObjects(Handle &hdl, const SubDiv *subdiv,
point.type = (quint16)type<<8 | subtype;
point.coordinates = Coordinates(toWGS24(pos.x()), toWGS24(pos.y()));
point.id = pointId(pos, point.type);
if (lbl && (labelPtr & 0x3FFFFF))
point.label = lbl->label(lblHdl, labelPtr & 0x3FFFFF,
labelPtr & 0x400000, !(Style::isCountry(point.type)
|| Style::isState(point.type)), Style::isSpot(point.type));
point.id = pointId(pos, point.type, point.label.text());
points->append(point);
}
@ -537,9 +536,9 @@ bool RGNFile::extPointObjects(Handle &hdl, const SubDiv *subdiv,
continue;
point.coordinates = Coordinates(toWGS24(p.x()), toWGS24(p.y()));
point.id = pointId(p, point.type);
if (lbl && (labelPtr & 0x3FFFFF))
point.label = lbl->label(lblHdl, labelPtr & 0x3FFFFF);
point.id = pointId(p, point.type, point.label.text());
points->append(point);
}