aboutsummaryrefslogtreecommitdiffstats
path: root/qt-models
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2016-01-09 14:07:58 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-01-10 20:44:21 -0800
commit33142ed7f861648b77a24d9b905bd04e23213a13 (patch)
treef1e88f5d15f583fc39be12c72d94d008d0069fd0 /qt-models
parent7701975d9804f9ce1f62a10a1a2d890f7c1b82d1 (diff)
downloadsubsurface-33142ed7f861648b77a24d9b905bd04e23213a13.tar.gz
Reimplement the internal repesentation of GPS fixes
Instead of using the Settings as our data structure and constantly accessing them, we now have a QMap for the GPS fixes and only access the Settings to keep them in sync with the QMap. This should significantly speed things up. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-models')
-rw-r--r--qt-models/gpslistmodel.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/qt-models/gpslistmodel.cpp b/qt-models/gpslistmodel.cpp
index 23349b00e..84f5e7f3a 100644
--- a/qt-models/gpslistmodel.cpp
+++ b/qt-models/gpslistmodel.cpp
@@ -1,5 +1,6 @@
#include "gpslistmodel.h"
#include "helpers.h"
+#include <QVector>
GpsListModel *GpsListModel::m_instance = NULL;
@@ -17,7 +18,7 @@ void GpsListModel::addGpsFix(gpsTracker g)
void GpsListModel::update()
{
- QVector<gpsTracker> trackers = GpsLocation::instance()->currentGPSInfo();
+ QVector<gpsTracker> trackers = QVector<gpsTracker>::fromList(GpsLocation::instance()->currentGPSInfo().values());
beginResetModel();
m_gpsFixes = trackers;
endResetModel();