Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gpxsee for openSUSE:Factory checked in at 2022-02-05 23:23:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gpxsee (Old) and /work/SRC/openSUSE:Factory/.gpxsee.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpxsee" Sat Feb 5 23:23:24 2022 rev:85 rq:951782 version:10.3 Changes: -------- --- /work/SRC/openSUSE:Factory/gpxsee/gpxsee.changes 2022-01-24 23:09:43.446868649 +0100 +++ /work/SRC/openSUSE:Factory/.gpxsee.new.1898/gpxsee.changes 2022-02-05 23:24:37.083335856 +0100 @@ -1,0 +2,7 @@ +Wed Feb 2 21:11:28 CET 2022 - tu...@cbox.cz + +- Update to version 10.3 + * Improved/fixed GPI parser. + * Significantly improved areas loading performance. + +------------------------------------------------------------------- Old: ---- GPXSee-10.2.tar.gz New: ---- GPXSee-10.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gpxsee.spec ++++++ --- /var/tmp/diff_new_pack.MHie3h/_old 2022-02-05 23:24:37.807330904 +0100 +++ /var/tmp/diff_new_pack.MHie3h/_new 2022-02-05 23:24:37.811330877 +0100 @@ -19,7 +19,7 @@ # See also http://en.opensuse.org/openSUSE:Specfile_guidelines Name: gpxsee -Version: 10.2 +Version: 10.3 Release: 1 Summary: GPS log file visualization and analysis tool License: GPL-3.0-only ++++++ GPXSee-10.2.tar.gz -> GPXSee-10.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-10.2/.appveyor.yml new/GPXSee-10.3/.appveyor.yml --- old/GPXSee-10.2/.appveyor.yml 2022-01-20 23:50:24.000000000 +0100 +++ new/GPXSee-10.3/.appveyor.yml 2022-02-01 23:58:54.000000000 +0100 @@ -1,4 +1,4 @@ -version: 10.2.{build} +version: 10.3.{build} configuration: - Release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-10.2/gpxsee.pro new/GPXSee-10.3/gpxsee.pro --- old/GPXSee-10.2/gpxsee.pro 2022-01-20 23:50:24.000000000 +0100 +++ new/GPXSee-10.3/gpxsee.pro 2022-02-01 23:58:54.000000000 +0100 @@ -3,7 +3,7 @@ } else { TARGET = GPXSee } -VERSION = 10.2 +VERSION = 10.3 QT += core \ gui \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-10.2/pkg/gpxsee64.nsi new/GPXSee-10.3/pkg/gpxsee64.nsi --- old/GPXSee-10.2/pkg/gpxsee64.nsi 2022-01-20 23:50:24.000000000 +0100 +++ new/GPXSee-10.3/pkg/gpxsee64.nsi 2022-02-01 23:58:54.000000000 +0100 @@ -37,7 +37,7 @@ ; The name of the installer Name "GPXSee" ; Program version -!define VERSION "10.2" +!define VERSION "10.3" ; The file to write OutFile "GPXSee-${VERSION}_x64.exe" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-10.2/src/GUI/mapview.cpp new/GPXSee-10.3/src/GUI/mapview.cpp --- old/GPXSee-10.2/src/GUI/mapview.cpp 2022-01-20 23:50:24.000000000 +0100 +++ new/GPXSee-10.3/src/GUI/mapview.cpp 2022-02-01 23:58:54.000000000 +0100 @@ -34,20 +34,6 @@ #define COORDINATES_OFFSET SCALE_OFFSET -template<typename T> -static void updateZValues(T &items) -{ - for (int i = 0; i < items.size(); i++) { - const QGraphicsItem *ai = items.at(i); - for (int j = 0; j < items.size(); j++) { - QGraphicsItem *aj = items[j]; - if (aj->boundingRect().contains(ai->boundingRect())) - aj->setZValue(qMin(ai->zValue() - 1, aj->zValue())); - } - } -} - - MapView::MapView(Map *map, POI *poi, QGeoPositionInfoSource *source, QWidget *parent) : QGraphicsView(parent) { @@ -226,6 +212,7 @@ ai->setOpacity(_areaOpacity); ai->setDigitalZoom(_digitalZoom); ai->setVisible(_showAreas); + ai->setZValue(-area.boundingRect().area()); _scene->addItem(ai); _ar |= ai->bounds(); @@ -266,6 +253,7 @@ mi->setOpacity(_areaOpacity); mi->setDigitalZoom(_digitalZoom); mi->setVisible(_showAreas); + mi->setZValue(-mi->bounds().area()); _scene->addItem(mi); _ar |= mi->bounds(); @@ -299,9 +287,6 @@ else updatePOIVisibility(); - if (!data.areas().isEmpty()) - updateZValues(_areas); - centerOn(contentCenter()); return paths; @@ -319,8 +304,6 @@ else updatePOIVisibility(); - updateZValues(_areas); - centerOn(contentCenter()); } @@ -336,8 +319,6 @@ else updatePOIVisibility(); - updateZValues(_areas); - centerOn(contentCenter()); } @@ -549,6 +530,7 @@ _mapScale->setUnits(units); _cursorCoordinates->setUnits(units); _positionCoordinates->setUnits(units); + _motionInfo->setUnits(units); } void MapView::setCoordinatesFormat(CoordinatesFormat format) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-10.2/src/GUI/motioninfoitem.cpp new/GPXSee-10.3/src/GUI/motioninfoitem.cpp --- old/GPXSee-10.2/src/GUI/motioninfoitem.cpp 2022-01-20 23:50:24.000000000 +0100 +++ new/GPXSee-10.3/src/GUI/motioninfoitem.cpp 2022-02-01 23:58:54.000000000 +0100 @@ -83,29 +83,29 @@ QString MotionInfoItem::speed(const QLocale &l) const { if (_units == Nautical) - return l.toString(MS2KN * _speed) + UNIT_SPACE + return l.toString(MS2KN * _speed, 'f', 1) + UNIT_SPACE + qApp->translate("MotionInfoItem", "kn"); else if (_units == Imperial) - return l.toString(MS2MIH * _speed) + UNIT_SPACE + return l.toString(MS2MIH * _speed, 'f', 1) + UNIT_SPACE + qApp->translate("MotionInfoItem", "mi/h"); else - return l.toString(MS2KMH * _speed) + UNIT_SPACE + return l.toString(MS2KMH * _speed, 'f', 1) + UNIT_SPACE + qApp->translate("MotionInfoItem", "km/h"); } QString MotionInfoItem::verticalSpeed(const QLocale &l) const { if (_units == Nautical || _units == Imperial) - return l.toString(MS2FTMIN * _verticalSpeed) + UNIT_SPACE + return l.toString(MS2FTMIN * _verticalSpeed, 'f', 0) + UNIT_SPACE + qApp->translate("MotionInfoItem", "ft/min"); else - return l.toString(MS2MMIN * _verticalSpeed) + UNIT_SPACE + return l.toString(MS2MMIN * _verticalSpeed, 'f', 0) + UNIT_SPACE + qApp->translate("MotionInfoItem", "m/min"); } static QString bearing(qreal val, const QLocale &l) { - return l.toString(val) + DEGREE_UNIT; + return l.toString(val, 'f', 0) + DEGREE_UNIT; } QString MotionInfoItem::text() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-10.2/src/common/rectc.h new/GPXSee-10.3/src/common/rectc.h --- old/GPXSee-10.2/src/common/rectc.h 2022-01-20 23:50:24.000000000 +0100 +++ new/GPXSee-10.3/src/common/rectc.h 2022-02-01 23:58:54.000000000 +0100 @@ -30,6 +30,7 @@ return (left() > right()) ? 360.0 - res : res; } double height() const {return (top() - bottom());} + double area() const {return qAbs(width()) * qAbs(height());} double top() const {return _tl.lat();} double bottom() const {return _br.lat();} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GPXSee-10.2/src/data/gpiparser.cpp new/GPXSee-10.3/src/data/gpiparser.cpp --- old/GPXSee-10.2/src/data/gpiparser.cpp 2022-01-20 23:50:24.000000000 +0100 +++ new/GPXSee-10.3/src/data/gpiparser.cpp 2022-02-01 23:58:54.000000000 +0100 @@ -429,27 +429,33 @@ return rs + rh.size; } -static int speed(quint8 flags) +static int speed(quint16 flags) { - switch (flags >> 4) { - case 0x8: - return 40; - case 0x9: - return 30; - case 0xA: - return 50; - case 0xB: - return 70; - case 0xC: - return 80; - case 0xD: - return 90; - case 0xE: - return 100; - case 0xF: - return 120; - default: - return 0; + return (((flags >> 3) & 0x0F) * 10) + (((flags >> 2) & 1) * 5); +} + +static QString units(quint16 flags) +{ + return (flags & (1<<8)) ? "km/h" : "mi/h"; +} + +static bool portable(quint16 flags) +{ + return (flags & 1); +} + +static bool redLight(quint16 flags) +{ + return (flags & (1<<9)); +} + +static QString cameraDesc(quint16 flags) +{ + if (redLight(flags)) + return "Red light camera"; + else { + QString desc(QString::number(speed(flags)) + " " + units(flags)); + return portable(flags) ? "<i>" + desc + "<i>" : desc; } } @@ -457,7 +463,8 @@ QList<Area> &polygons) { RecordHeader rh; - quint8 flags, type, s7, rs; + quint8 s7, rs; + quint16 flags; qint32 top, right, bottom, left, lat, lon; quint32 ds = 15; @@ -467,7 +474,7 @@ right = stream.readInt24(); bottom = stream.readInt24(); left = stream.readInt24(); - stream >> flags >> type >> s7; + stream >> flags >> s7; if (s7) { quint32 skip = s7 + 2 + s7/4; @@ -486,26 +493,11 @@ ds += skip + 16; } - waypoints.append(Coordinates(toWGS24(lon), toWGS24(lat))); - Area area(RectC(Coordinates(toWGS24(left), toWGS24(top)), Coordinates(toWGS24(right), toWGS24(bottom)))); + area.setDescription(cameraDesc(flags)); - switch (type) { - case 8: - area.setDescription(QString("%1 mi/h") - .arg(speed(flags))); - break; - case 9: - area.setDescription(QString("%1 km/h") - .arg(speed(flags))); - break; - case 10: - case 11: - area.setDescription("Red light camera"); - break; - } - + waypoints.append(Coordinates(toWGS24(lon), toWGS24(lat))); polygons.append(area); if (ds > rh.size) @@ -654,13 +646,15 @@ ds += paletteSize * 4; } - if (paletteSize) { - img = QImage((uchar*)data.data(), width, height, lineSize, - QImage::Format_Indexed8); - img.setColorTable(palette); - } else - img = QImage((uchar*)data.data(), width, height, lineSize, - QImage::Format_RGBX8888).rgbSwapped(); + if (data.size() >= lineSize * height) { + if (paletteSize) { + img = QImage((uchar*)data.data(), width, height, lineSize, + QImage::Format_Indexed8); + img.setColorTable(palette); + } else + img = QImage((uchar*)data.data(), width, height, lineSize, + QImage::Format_RGBX8888).rgbSwapped(); + } pixmap = QPixmap::fromImage(img); /* There should be no more data left in the record, but broken GPI files ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.MHie3h/_old 2022-02-05 23:24:38.275327703 +0100 +++ /var/tmp/diff_new_pack.MHie3h/_new 2022-02-05 23:24:38.275327703 +0100 @@ -1,5 +1,5 @@ pkgname=gpxsee -pkgver=10.2 +pkgver=10.3 pkgrel=1 pkgdesc='GPS log files visualizing and analyzing tool' arch=('i686' 'x86_64') ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.MHie3h/_old 2022-02-05 23:24:38.299327539 +0100 +++ /var/tmp/diff_new_pack.MHie3h/_new 2022-02-05 23:24:38.303327511 +0100 @@ -1,3 +1,10 @@ +gpxsee (10.3) stable; urgency=low + + * Improved/fixed GPI parser. + * Significantly improved areas loading performance. + + -- Martin Tuma <tu...@cbox.cz> Wed, 02 Feb 2022 21:17:18 +0100 + gpxsee (10.2) stable; urgency=low * Improved/fixed TwoNav data files parser. ++++++ gpxsee.dsc ++++++ --- /var/tmp/diff_new_pack.MHie3h/_old 2022-02-05 23:24:38.355327156 +0100 +++ /var/tmp/diff_new_pack.MHie3h/_new 2022-02-05 23:24:38.355327156 +0100 @@ -1,10 +1,10 @@ Format: 1.0 Source: gpxsee -Version: 10.2-1 +Version: 10.3-1 Binary: gpxsee Maintainer: Martin Tuma <tu...@cbox.cz> Architecture: any Build-Depends: debhelper (>= 9), qtbase5-dev, qtbase5-private-dev, qtbase5-dev-tools, qt5-qmake, qttools5-dev-tools, libqt5opengl5-dev, qtpositioning5-dev Files: - 00000000000000000000000000000000 0 GPXSee-10.2.tar.gz + 00000000000000000000000000000000 0 GPXSee-10.3.tar.gz