mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-07-04 22:59:29 +02:00
Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
060c4df170 | |||
d88f71ddba | |||
24ade728d0 | |||
de064c7ea1 | |||
a8a613468e | |||
ed6a81c9e7 | |||
507fe0b9a8 | |||
273f8a4c21 | |||
aceb840700 | |||
0cd18c0927 | |||
1d81afb89d | |||
1c9761be57 | |||
9481e9b4e5 | |||
c6db2401ff |
@ -1,4 +1,4 @@
|
|||||||
version: 8.4.{build}
|
version: 8.5.{build}
|
||||||
|
|
||||||
configuration:
|
configuration:
|
||||||
- Release
|
- Release
|
||||||
|
@ -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.
|
||||||
|
@ -3,7 +3,7 @@ unix:!macx {
|
|||||||
} else {
|
} else {
|
||||||
TARGET = GPXSee
|
TARGET = GPXSee
|
||||||
}
|
}
|
||||||
VERSION = 8.4
|
VERSION = 8.5
|
||||||
|
|
||||||
QT += core \
|
QT += core \
|
||||||
gui \
|
gui \
|
||||||
|
@ -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"/>
|
||||||
|
@ -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>
|
||||||
|
@ -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"/>
|
||||||
|
@ -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>
|
||||||
|
@ -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"
|
||||||
|
@ -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"
|
||||||
|
@ -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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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) {}
|
||||||
|
@ -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();
|
||||||
|
@ -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) {}
|
||||||
|
@ -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) {}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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();
|
||||||
|
Reference in New Issue
Block a user