1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-07-02 22:09:16 +02:00

Compare commits

..

12 Commits

Author SHA1 Message Date
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
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
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
4 changed files with 16 additions and 16 deletions

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

@ -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

@ -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);
}