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

Compare commits

...

14 Commits
8.4 ... 8.5

Author SHA1 Message Date
060c4df170 Merge branch 'origin/master' into Weblate. 2021-02-08 19:57:14 +01:00
d88f71ddba Version++ 2021-02-08 19:56:57 +01:00
24ade728d0 Merge branch 'origin/master' into Weblate. 2021-02-08 19:54:42 +01:00
de064c7ea1 Code cleanup after recent SubFile redesign 2021-02-08 19:54:14 +01:00
a8a613468e Do not show empty popups 2021-02-08 19:53:24 +01:00
ed6a81c9e7 Properly fix the areas crash 2021-02-08 19:52:48 +01:00
507fe0b9a8 Merge branch 'origin/master' into Weblate. 2021-02-08 00:57:54 +01:00
273f8a4c21 Translated using Weblate (Finnish)
Currently translated at 99.7% (389 of 390 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/fi/
2021-02-08 00:57:54 +01:00
aceb840700 Added missing AQM icon association 2021-02-08 00:56:20 +01:00
0cd18c0927 Fixed crash when there is no graph in the data 2021-02-08 00:55:27 +01:00
1d81afb89d Translated using Weblate (Russian)
Currently translated at 100.0% (390 of 390 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/ru/
2021-02-07 22:23:40 +01:00
1c9761be57 Translated using Weblate (Hungarian)
Currently translated at 100.0% (390 of 390 strings)

Translation: GPXSee/Translations
Translate-URL: https://hosted.weblate.org/projects/gpxsee/translations/hu/
2021-02-07 16:41:13 +01:00
9481e9b4e5 Added AlpineQuest maps support info 2021-02-07 16:11:52 +01:00
c6db2401ff NSIS requires the BOM for UTF8 strings to work properly 2021-02-07 16:09:17 +01:00
19 changed files with 42 additions and 35 deletions

View File

@ -1,4 +1,4 @@
version: 8.4.{build} version: 8.5.{build}
configuration: configuration:
- Release - Release

View File

@ -4,7 +4,7 @@ GPXSee is a Qt-based GPS log file viewer and analyzer that supports all common G
## Features ## Features
* Opens GPX, TCX, FIT, KML, NMEA, IGC, CUP, SIGMA SLF, Suunto SML, LOC, GeoJSON, OziExplorer (PLT, RTE, WPT), Garmin GPI&CSV and geotagged JPEG files. * Opens GPX, TCX, FIT, KML, NMEA, IGC, CUP, SIGMA SLF, Suunto SML, LOC, GeoJSON, OziExplorer (PLT, RTE, WPT), Garmin GPI&CSV and geotagged JPEG files.
* User-definable online maps (OpenStreetMap/Google tiles, WMTS, WMS, TMS, QuadTiles). * User-definable online maps (OpenStreetMap/Google tiles, WMTS, WMS, TMS, QuadTiles).
* Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases, Garmin IMG/GMAP & JNX maps, TwoNav RMaps, GeoTIFF images, BSB charts, KMZ maps). * Offline maps (MBTiles, OziExplorer maps, TrekBuddy maps/atlases, Garmin IMG/GMAP & JNX maps, TwoNav RMaps, GeoTIFF images, BSB charts, KMZ maps, AlpineQuest maps).
* Elevation, speed, heart rate, cadence, power, temperature and gear ratio/shifts graphs. * Elevation, speed, heart rate, cadence, power, temperature and gear ratio/shifts graphs.
* Support for DEM files (SRTM HGT). * Support for DEM files (SRTM HGT).
* Support for multiple tracks in one view. * Support for multiple tracks in one view.

View File

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

View File

@ -998,7 +998,7 @@
<message> <message>
<location filename="../src/map/maplist.cpp" line="101"/> <location filename="../src/map/maplist.cpp" line="101"/>
<source>AlpineQuest maps</source> <source>AlpineQuest maps</source>
<translation type="unfinished"></translation> <translation>AlpineQuest-kartat</translation>
</message> </message>
<message> <message>
<location filename="../src/map/maplist.cpp" line="102"/> <location filename="../src/map/maplist.cpp" line="102"/>

View File

@ -420,7 +420,7 @@
<message> <message>
<location filename="../src/GUI/gui.cpp" line="382"/> <location filename="../src/GUI/gui.cpp" line="382"/>
<source>Position date/time</source> <source>Position date/time</source>
<translation type="unfinished"></translation> <translation>Pozíció dátum/idő</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="389"/> <location filename="../src/GUI/gui.cpp" line="389"/>
@ -816,6 +816,7 @@
<source>%n files</source> <source>%n files</source>
<translation> <translation>
<numerusform>%n fájl</numerusform> <numerusform>%n fájl</numerusform>
<numerusform>%n fájl</numerusform>
</translation> </translation>
</message> </message>
</context> </context>

View File

@ -419,7 +419,7 @@
<message> <message>
<location filename="../src/GUI/gui.cpp" line="382"/> <location filename="../src/GUI/gui.cpp" line="382"/>
<source>Position date/time</source> <source>Position date/time</source>
<translation type="unfinished"></translation> <translation>Дата/время местоположения</translation>
</message> </message>
<message> <message>
<location filename="../src/GUI/gui.cpp" line="389"/> <location filename="../src/GUI/gui.cpp" line="389"/>

View File

@ -471,6 +471,8 @@
<array> <array>
<string>application/vnd.alpinequest.aqm</string> <string>application/vnd.alpinequest.aqm</string>
</array> </array>
<key>CFBundleTypeIconFile</key>
<string>icons/aqm.icns</string>
<key>CFBundleTypeName</key> <key>CFBundleTypeName</key>
<string>AlpineQuest Map File</string> <string>AlpineQuest Map File</string>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>

View File

@ -1,4 +1,4 @@
!include "MUI2.nsh" !include "MUI2.nsh"
!include "x64.nsh" !include "x64.nsh"
!include "WinVer.nsh" !include "WinVer.nsh"
!include "macros.nsh" !include "macros.nsh"
@ -9,7 +9,7 @@ Unicode true
; The name of the installer ; The name of the installer
Name "GPXSee" Name "GPXSee"
; Program version ; Program version
!define VERSION "8.4" !define VERSION "8.5"
; The file to write ; The file to write
OutFile "GPXSee-${VERSION}.exe" OutFile "GPXSee-${VERSION}.exe"

View File

@ -1,4 +1,4 @@
!include "MUI2.nsh" !include "MUI2.nsh"
!include "x64.nsh" !include "x64.nsh"
!include "WinVer.nsh" !include "WinVer.nsh"
!include "macros.nsh" !include "macros.nsh"
@ -9,7 +9,7 @@ Unicode true
; The name of the installer ; The name of the installer
Name "GPXSee" Name "GPXSee"
; Program version ; Program version
!define VERSION "8.4" !define VERSION "8.5"
; The file to write ; The file to write
OutFile "GPXSee-${VERSION}_x64.exe" OutFile "GPXSee-${VERSION}_x64.exe"

View File

@ -876,8 +876,10 @@ void GUI::loadData(const Data &data)
for (int j = 0; j < graphs.count(); j++) for (int j = 0; j < graphs.count(); j++)
pi->addGraph(graphs.at(j).at(i)); pi->addGraph(graphs.at(j).at(i));
pi->setGraph(index); if (gt && index >= 0) {
pi->setMarkerPosition(gt->sliderPosition()); pi->setGraph(index);
pi->setMarkerPosition(gt->sliderPosition());
}
} }
} }

View File

@ -157,6 +157,9 @@ void PopupLabel::deleteAfterTimer()
void Popup::show(const QPoint &pos, const QString &text, QWidget *w) void Popup::show(const QPoint &pos, const QString &text, QWidget *w)
{ {
if (text.isEmpty())
return;
if (PopupLabel::_instance) { if (PopupLabel::_instance) {
PopupLabel::_instance->stopTimer(); PopupLabel::_instance->stopTimer();
PopupLabel::_instance->setText(text); PopupLabel::_instance->setText(text);

View File

@ -182,7 +182,7 @@ IMG::IMG(const QString &fileName) : _fileName(fileName)
_valid = true; _valid = true;
} }
qint64 IMG::read(QFile &file, char *data, qint64 maxSize) qint64 IMG::read(QFile &file, char *data, qint64 maxSize) const
{ {
qint64 ret = file.read(data, maxSize); qint64 ret = file.read(data, maxSize);
if (_key) if (_key)
@ -191,7 +191,7 @@ qint64 IMG::read(QFile &file, char *data, qint64 maxSize)
return ret; return ret;
} }
template<class T> bool IMG::readValue(QFile &file, T &val) template<class T> bool IMG::readValue(QFile &file, T &val) const
{ {
T data; T data;
@ -203,7 +203,7 @@ template<class T> bool IMG::readValue(QFile &file, T &val)
return true; return true;
} }
bool IMG::readBlock(QFile &file, int blockNum, char *data) bool IMG::readBlock(QFile &file, int blockNum, char *data) const
{ {
if (!file.seek((quint64)blockNum << _blockBits)) if (!file.seek((quint64)blockNum << _blockBits))
return false; return false;

View File

@ -12,13 +12,12 @@ public:
const QString &fileName() const {return _fileName;} const QString &fileName() const {return _fileName;}
private:
friend class SubFile;
unsigned blockBits() const {return _blockBits;} unsigned blockBits() const {return _blockBits;}
bool readBlock(QFile &file, int blockNum, char *data); bool readBlock(QFile &file, int blockNum, char *data) const;
qint64 read(QFile &file, char *data, qint64 maxSize);
template<class T> bool readValue(QFile &file, T &val); private:
qint64 read(QFile &file, char *data, qint64 maxSize) const;
template<class T> bool readValue(QFile &file, T &val) const;
QString _fileName; QString _fileName;
quint8 _key; quint8 _key;

View File

@ -12,7 +12,7 @@ class RGNFile;
class LBLFile : public SubFile class LBLFile : public SubFile
{ {
public: public:
LBLFile(IMG *img) LBLFile(const IMG *img)
: SubFile(img), _huffmanText(0), _table(0), _offset(0), _size(0), : SubFile(img), _huffmanText(0), _table(0), _offset(0), _size(0),
_poiOffset(0), _poiSize(0), _imgOffsetIdSize(0), _poiMultiplier(0), _poiOffset(0), _poiSize(0), _imgOffsetIdSize(0), _poiMultiplier(0),
_multiplier(0), _encoding(0) {} _multiplier(0), _encoding(0) {}
@ -20,7 +20,7 @@ public:
: SubFile(path), _huffmanText(0), _table(0), _offset(0), _size(0), : SubFile(path), _huffmanText(0), _table(0), _offset(0), _size(0),
_poiOffset(0), _poiSize(0), _imgOffsetIdSize(0), _poiMultiplier(0), _poiOffset(0), _poiSize(0), _imgOffsetIdSize(0), _poiMultiplier(0),
_multiplier(0), _encoding(0) {} _multiplier(0), _encoding(0) {}
LBLFile(SubFile *gmp, quint32 offset) : SubFile(gmp, offset), LBLFile(const SubFile *gmp, quint32 offset) : SubFile(gmp, offset),
_huffmanText(0), _table(0), _offset(0), _size(0), _poiOffset(0), _huffmanText(0), _table(0), _offset(0), _size(0), _poiOffset(0),
_poiSize(0), _imgOffsetIdSize(0), _poiMultiplier(0), _multiplier(0), _poiSize(0), _imgOffsetIdSize(0), _poiMultiplier(0), _multiplier(0),
_encoding(0) {} _encoding(0) {}

View File

@ -12,12 +12,12 @@ class HuffmanTable;
class NETFile : public SubFile class NETFile : public SubFile
{ {
public: public:
NETFile(IMG *img) : SubFile(img), _huffmanTable(0), _tp(0), _offset(0), NETFile(const IMG *img) : SubFile(img), _huffmanTable(0), _tp(0), _offset(0),
_size(0), _linksOffset(0), _linksSize(0), _shift(0), _linksShift(0) {} _size(0), _linksOffset(0), _linksSize(0), _shift(0), _linksShift(0) {}
NETFile(const QString *path) : SubFile(path), _huffmanTable(0), _tp(0), NETFile(const QString *path) : SubFile(path), _huffmanTable(0), _tp(0),
_offset(0), _size(0), _linksOffset(0), _linksSize(0), _shift(0), _offset(0), _size(0), _linksOffset(0), _linksSize(0), _shift(0),
_linksShift(0) {} _linksShift(0) {}
NETFile(SubFile *gmp, quint32 offset) : SubFile(gmp, offset), NETFile(const SubFile *gmp, quint32 offset) : SubFile(gmp, offset),
_huffmanTable(0), _tp(0), _offset(0), _size(0), _linksOffset(0), _huffmanTable(0), _tp(0), _offset(0), _size(0), _linksOffset(0),
_linksSize(0), _shift(0), _linksShift(0) {} _linksSize(0), _shift(0), _linksShift(0) {}
~NETFile(); ~NETFile();

View File

@ -53,13 +53,13 @@ public:
bool eog; bool eog;
}; };
NODFile(IMG *img) : SubFile(img), _indexOffset(0), _indexSize(0), NODFile(const IMG *img) : SubFile(img), _indexOffset(0), _indexSize(0),
_indexFlags(0), _blockOffset(0), _blockSize(0), _indexRecordSize(0), _indexFlags(0), _blockOffset(0), _blockSize(0), _indexRecordSize(0),
_blockRecordSize(0), _blockShift(0), _nodeShift(0), _indexIdSize(0) {} _blockRecordSize(0), _blockShift(0), _nodeShift(0), _indexIdSize(0) {}
NODFile(const QString *path) : SubFile(path), _indexOffset(0), _indexSize(0), NODFile(const QString *path) : SubFile(path), _indexOffset(0), _indexSize(0),
_indexFlags(0), _blockOffset(0), _blockSize(0), _indexRecordSize(0), _indexFlags(0), _blockOffset(0), _blockSize(0), _indexRecordSize(0),
_blockRecordSize(0), _blockShift(0), _nodeShift(0), _indexIdSize(0) {} _blockRecordSize(0), _blockShift(0), _nodeShift(0), _indexIdSize(0) {}
NODFile(SubFile *gmp, quint32 offset) : SubFile(gmp, offset), NODFile(const SubFile *gmp, quint32 offset) : SubFile(gmp, offset),
_indexOffset(0), _indexSize(0), _indexFlags(0), _blockOffset(0), _indexOffset(0), _indexSize(0), _indexFlags(0), _blockOffset(0),
_blockSize(0), _indexRecordSize(0), _blockRecordSize(0), _blockShift(0), _blockSize(0), _indexRecordSize(0), _blockRecordSize(0), _blockShift(0),
_nodeShift(0), _indexIdSize(0) {} _nodeShift(0), _indexIdSize(0) {}

View File

@ -20,7 +20,7 @@ public:
RoadReference = 0x10 RoadReference = 0x10
}; };
RGNFile(IMG *img) RGNFile(const IMG *img)
: SubFile(img), _huffmanTable(0), _offset(0), _size(0), _polygonsOffset(0), : SubFile(img), _huffmanTable(0), _offset(0), _size(0), _polygonsOffset(0),
_polygonsSize(0), _linesOffset(0), _linesSize(0), _pointsOffset(0), _polygonsSize(0), _linesOffset(0), _linesSize(0), _pointsOffset(0),
_pointsSize(0) {} _pointsSize(0) {}
@ -28,7 +28,7 @@ public:
: SubFile(path), _huffmanTable(0), _offset(0), _size(0), _polygonsOffset(0), : SubFile(path), _huffmanTable(0), _offset(0), _size(0), _polygonsOffset(0),
_polygonsSize(0), _linesOffset(0), _linesSize(0), _pointsOffset(0), _polygonsSize(0), _linesOffset(0), _linesSize(0), _pointsOffset(0),
_pointsSize(0) {} _pointsSize(0) {}
RGNFile(SubFile *gmp, quint32 offset) : SubFile(gmp, offset), RGNFile(const SubFile *gmp, quint32 offset) : SubFile(gmp, offset),
_huffmanTable(0), _offset(0), _size(0), _polygonsOffset(0), _huffmanTable(0), _offset(0), _size(0), _polygonsOffset(0),
_polygonsSize(0), _linesOffset(0), _linesSize(0), _pointsOffset(0), _polygonsSize(0), _linesOffset(0), _linesSize(0), _pointsOffset(0),
_pointsSize(0) {} _pointsSize(0) {}

View File

@ -43,10 +43,10 @@ public:
int _pos; int _pos;
}; };
SubFile(IMG *img) SubFile(const IMG *img)
: _gmpOffset(0), _img(img), _blocks(new QVector<quint16>()), _path(0) {} : _gmpOffset(0), _img(img), _blocks(new QVector<quint16>()), _path(0) {}
SubFile(SubFile *gmp, quint32 offset) : _gmpOffset(offset), _img(gmp->_img), SubFile(const SubFile *gmp, quint32 offset) : _gmpOffset(offset),
_blocks(gmp->_blocks), _path(gmp->_path) {} _img(gmp->_img), _blocks(gmp->_blocks), _path(gmp->_path) {}
SubFile(const QString *path) SubFile(const QString *path)
: _gmpOffset(0), _img(0), _blocks(0), _path(path) {} : _gmpOffset(0), _img(0), _blocks(0), _path(path) {}
~SubFile() ~SubFile()
@ -153,7 +153,7 @@ protected:
quint32 _gmpOffset; quint32 _gmpOffset;
private: private:
IMG *_img; const IMG *_img;
QVector<quint16> *_blocks; QVector<quint16> *_blocks;
const QString *_path; const QString *_path;
}; };

View File

@ -13,9 +13,9 @@ class SubDiv;
class TREFile : public SubFile class TREFile : public SubFile
{ {
public: public:
TREFile(IMG *img) : SubFile(img) {} TREFile(const IMG *img) : SubFile(img) {}
TREFile(const QString *path) : SubFile(path) {} TREFile(const QString *path) : SubFile(path) {}
TREFile(SubFile *gmp, quint32 offset) : SubFile(gmp, offset) {} TREFile(const SubFile *gmp, quint32 offset) : SubFile(gmp, offset) {}
~TREFile(); ~TREFile();
bool init(); bool init();