mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-12-03 16:09:08 +01:00
Compare commits
2 Commits
3e1bddbcfd
...
648f90f230
Author | SHA1 | Date | |
---|---|---|---|
648f90f230 | |||
324168340b |
@ -170,8 +170,7 @@ void WaypointItem::paint(QPainter *painter,
|
|||||||
if (_font.bold())
|
if (_font.bold())
|
||||||
painter->drawPixmap(-_icon->width() * 0.625, icon.isNull()
|
painter->drawPixmap(-_icon->width() * 0.625, icon.isNull()
|
||||||
? -_icon->height() * 1.25 : -_icon->height() * 0.625,
|
? -_icon->height() * 1.25 : -_icon->height() * 0.625,
|
||||||
_icon->scaled(_icon->width() * 1.25, _icon->height() * 1.25,
|
_icon->scaled(_icon->width() * 1.25, _icon->height() * 1.25));
|
||||||
Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
|
|
||||||
else
|
else
|
||||||
painter->drawPixmap(-_icon->width()/2.0, icon.isNull()
|
painter->drawPixmap(-_icon->width()/2.0, icon.isNull()
|
||||||
? -_icon->height() : -_icon->height()/2, *_icon);
|
? -_icon->height() : -_icon->height()/2, *_icon);
|
||||||
|
@ -124,7 +124,22 @@ static QMap<int, QString> coursePointSymbolsInit()
|
|||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static QMap<int, QString> locationPointSymbolsInit()
|
||||||
|
{
|
||||||
|
QMap<int, QString> map;
|
||||||
|
|
||||||
|
/* The location symbols are a typical GARMIN mess. Every GPS unit
|
||||||
|
has probably its own list, so we only add a few generic icons seen
|
||||||
|
"in the wild" most often. */
|
||||||
|
map.insert(94, "Flag, Blue");
|
||||||
|
map.insert(95, "Flag, Green");
|
||||||
|
map.insert(96, "Flag, Red");
|
||||||
|
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
static QMap<int, QString> coursePointSymbols = coursePointSymbolsInit();
|
static QMap<int, QString> coursePointSymbols = coursePointSymbolsInit();
|
||||||
|
static QMap<int, QString> locationPointSymbols = locationPointSymbolsInit();
|
||||||
|
|
||||||
|
|
||||||
bool FITParser::readData(QFile *file, char *data, size_t size)
|
bool FITParser::readData(QFile *file, char *data, size_t size)
|
||||||
@ -271,7 +286,7 @@ bool FITParser::readField(CTX &ctx, Field *field, QVariant &val, bool &valid)
|
|||||||
ctx.len -= field->size;
|
ctx.len -= field->size;
|
||||||
ret = (ba.size() == field->size);
|
ret = (ba.size() == field->size);
|
||||||
val = ret ? ba : QString();
|
val = ret ? ba : QString();
|
||||||
valid = !ba.isEmpty();}
|
valid = (!ba.isEmpty() && ba.at(0) != 0);}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ret = skipValue(ctx, field->size);
|
ret = skipValue(ctx, field->size);
|
||||||
@ -388,6 +403,9 @@ bool FITParser::parseData(CTX &ctx, const MessageDefinition *def)
|
|||||||
waypoint.rcoordinates().setLon(
|
waypoint.rcoordinates().setLon(
|
||||||
(val.toInt() / (double)0x7fffffff) * 180);
|
(val.toInt() / (double)0x7fffffff) * 180);
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
waypoint.setSymbol(locationPointSymbols.value(val.toUInt()));
|
||||||
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
waypoint.setElevation((val.toUInt() / 5.0) - 500);
|
waypoint.setElevation((val.toUInt() / 5.0) - 500);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user