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

Compare commits

...

9 Commits

49 changed files with 64 additions and 29 deletions

View File

@ -1,4 +1,4 @@
version: 13.18.{build}
version: 13.19.{build}
configuration:
- Release

View File

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

BIN
icons/symbols/Alert.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 987 B

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
icons/symbols/Danger.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

BIN
icons/symbols/First Aid.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 B

After

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 724 B

After

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 724 B

After

Width:  |  Height:  |  Size: 822 B

BIN
icons/symbols/Food.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
icons/symbols/Gear.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 976 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
icons/symbols/Info.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
icons/symbols/Left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
icons/symbols/Obstacle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 B

BIN
icons/symbols/Overlook.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 B

BIN
icons/symbols/Rest Area.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 918 B

BIN
icons/symbols/Right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 724 B

BIN
icons/symbols/Service.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 942 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 909 B

BIN
icons/symbols/Shelter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

BIN
icons/symbols/Sprint.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
icons/symbols/Store.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
icons/symbols/Straight.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
icons/symbols/Toilet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

BIN
icons/symbols/Transport.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
icons/symbols/U-Turn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

BIN
icons/symbols/Valley.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1018 B

BIN
icons/symbols/Water.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 B

After

Width:  |  Height:  |  Size: 824 B

View File

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

View File

@ -13,15 +13,18 @@ static Qt::PenStyle styles[] = {Qt::SolidLine, Qt::DashLine, Qt::DotLine,
QIcon StyleComboBox::icon(Qt::PenStyle style)
{
QPixmap pm(iconSize());
qreal ratio(devicePixelRatioF());
QSize size(iconSize());
QPixmap pm(size * ratio);
pm.setDevicePixelRatio(ratio);
pm.fill(Qt::transparent);
QBrush brush(QPalette().brush(QPalette::Active, QPalette::WindowText));
QPen pen(brush, pm.height() / LINE_WIDTH_RATIO, style);
QPen pen(brush, size.height() / LINE_WIDTH_RATIO, style);
QPainter painter(&pm);
painter.setPen(pen);
painter.drawLine(0, pm.height() / 2, pm.width(), pm.height() / 2);
painter.drawLine(0, size.height() / 2, size.width(), size.height() / 2);
return QIcon(pm);
}

View File

@ -106,7 +106,7 @@ Data::Data(const QString &fileName, bool tryUnknown)
_errorLine = 0;
if (!file.open(QFile::ReadOnly)) {
_errorString = qPrintable(file.errorString());
_errorString = file.errorString();
return;
}

View File

@ -64,7 +64,7 @@ public:
SegmentData segment;
};
static QMap<int, QString> coursePointDescInit()
static QMap<int, QString> coursePointSymbolsInit()
{
QMap<int, QString> map;
@ -76,28 +76,55 @@ static QMap<int, QString> coursePointDescInit()
map.insert(6, "Left");
map.insert(7, "Right");
map.insert(8, "Straight");
map.insert(9, "First aid");
map.insert(10, "Fourth category");
map.insert(11, "Third category");
map.insert(12, "Second category");
map.insert(13, "First category");
map.insert(14, "Hors category");
map.insert(9, "First Aid");
map.insert(10, "Fourth Category");
map.insert(11, "Third Category");
map.insert(12, "Second Category");
map.insert(13, "First Category");
map.insert(14, "Hors Category");
map.insert(15, "Sprint");
map.insert(16, "Left fork");
map.insert(17, "Right fork");
map.insert(18, "Middle fork");
map.insert(19, "Slight left");
map.insert(20, "Sharp left");
map.insert(21, "Slight right");
map.insert(22, "Sharp right");
map.insert(16, "Left Fork");
map.insert(17, "Right Fork");
map.insert(18, "Middle Fork");
map.insert(19, "Slight Left");
map.insert(20, "Sharp Left");
map.insert(21, "Slight Right");
map.insert(22, "Sharp Right");
map.insert(23, "U-Turn");
map.insert(24, "Segment start");
map.insert(25, "Segment end");
map.insert(24, "Segment Start");
map.insert(25, "Segment End");
map.insert(27, "Campground");
map.insert(28, "Aid Station");
map.insert(29, "Rest Area");
map.insert(30, "General Distance");
map.insert(31, "Service");
map.insert(32, "Energy Gel");
map.insert(33, "Sports Drink");
map.insert(34, "Mile Marker");
map.insert(35, "Checkpoint");
map.insert(36, "Shelter");
map.insert(37, "Meeting Spot");
map.insert(38, "Overlook");
map.insert(39, "Toilet");
map.insert(40, "Shower");
map.insert(41, "Gear");
map.insert(42, "Sharp Curve");
map.insert(43, "Steep Incline");
map.insert(44, "Tunnel");
map.insert(45, "Bridge");
map.insert(46, "Obstacle");
map.insert(47, "Crossing");
map.insert(48, "Store");
map.insert(49, "Transition");
map.insert(50, "Navaid");
map.insert(51, "Transport");
map.insert(52, "Alert");
map.insert(53, "Info");
return map;
}
static QMap<int, QString> coursePointDesc = coursePointDescInit();
static QMap<int, QString> coursePointSymbols = coursePointSymbolsInit();
bool FITParser::readData(QFile *file, char *data, size_t size)
@ -330,8 +357,8 @@ bool FITParser::parseData(CTX &ctx, const MessageDefinition *def)
} else if (def->globalId == COURSE_POINT) {
switch (field->id) {
case 1:
waypoint.setTimestamp(QDateTime::fromSecsSinceEpoch(val.toUInt()
+ 631065600, Qt::UTC));
waypoint.setTimestamp(QDateTime::fromSecsSinceEpoch(
val.toUInt() + 631065600, Qt::UTC));
break;
case 2:
waypoint.rcoordinates().setLat(
@ -342,7 +369,7 @@ bool FITParser::parseData(CTX &ctx, const MessageDefinition *def)
(val.toInt() / (double)0x7fffffff) * 180);
break;
case 5:
waypoint.setDescription(coursePointDesc.value(val.toUInt()));
waypoint.setSymbol(coursePointSymbols.value(val.toUInt()));
break;
case 6:
waypoint.setName(val.toString());
@ -386,8 +413,8 @@ bool FITParser::parseData(CTX &ctx, const MessageDefinition *def)
}
} else if (def->globalId == RECORD_MESSAGE) {
if (ctx.trackpoint.coordinates().isValid()) {
ctx.trackpoint.setTimestamp(QDateTime::fromSecsSinceEpoch(ctx.timestamp
+ 631065600, Qt::UTC));
ctx.trackpoint.setTimestamp(QDateTime::fromSecsSinceEpoch(
ctx.timestamp + 631065600, Qt::UTC));
ctx.trackpoint.setRatio(ctx.ratio);
ctx.segment.append(ctx.trackpoint);
ctx.trackpoint = Trackpoint();

View File

@ -603,6 +603,8 @@ bool GeoJSONParser::geometryCollection(const QJsonObject &object,
bool GeoJSONParser::feature(const QJsonObject &object, const Projection &parent,
QList<TrackData> &tracks, QList<Area> &areas, QVector<Waypoint> &waypoints)
{
if (object["geometry"].isNull())
return true;
if (!object["geometry"].isObject()) {
_errorString = "Invalid/missing Feature geometry object";
return false;

View File

@ -76,6 +76,9 @@ void GPXParser::tpExtension(Trackpoint &trackpoint)
trackpoint.setHeartRate(number());
else if (_reader.name() == QLatin1String("atemp"))
trackpoint.setTemperature(number());
else if (_reader.name() == QLatin1String("wtemp")
&& !trackpoint.hasTemperature())
trackpoint.setTemperature(number());
else if (_reader.name() == QLatin1String("cad"))
trackpoint.setCadence(number());
else if (_reader.name() == QLatin1String("speed"))