summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-11 12:32:54 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-11 12:38:23 -0800
commita29e74e2e949696c4ffdefeedad22ae1795f024c (patch)
treecd40641c9adb085682ccc3f9808b5ed5af1a38bf
parente7b2f04bec19c70bff2324b43c337728f2420aca (diff)
downloadsubsurface-a29e74e2e949696c4ffdefeedad22ae1795f024c.tar.gz
Location service: move location provider into QML manager
Since we want to be able to toggle it from the QML UI that seems like a better place for it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--qt-mobile/gpslocation.cpp2
-rw-r--r--qt-mobile/gpslocation.h1
-rw-r--r--qt-mobile/qmlmanager.cpp5
-rw-r--r--subsurface-mobile-helper.cpp2
4 files changed, 6 insertions, 4 deletions
diff --git a/qt-mobile/gpslocation.cpp b/qt-mobile/gpslocation.cpp
index 0108fdc0d..fea313950 100644
--- a/qt-mobile/gpslocation.cpp
+++ b/qt-mobile/gpslocation.cpp
@@ -5,7 +5,7 @@
GpsLocation::GpsLocation(QObject *parent)
{
- QGeoPositionInfoSource *gpsSource = QGeoPositionInfoSource::createDefaultSource(parent);
+ gpsSource = QGeoPositionInfoSource::createDefaultSource(parent);
if (gpsSource != 0) {
QString msg = QString("have position source %1").arg(gpsSource->sourceName());
connect(gpsSource, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(newPosition(QGeoPositionInfo)));
diff --git a/qt-mobile/gpslocation.h b/qt-mobile/gpslocation.h
index e87198bc1..a21372080 100644
--- a/qt-mobile/gpslocation.h
+++ b/qt-mobile/gpslocation.h
@@ -14,6 +14,7 @@ public:
private:
QGeoPositionInfo lastPos;
+ QGeoPositionInfoSource *gpsSource;
void status(QString msg);
signals:
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp
index e0c621542..3459175f2 100644
--- a/qt-mobile/qmlmanager.cpp
+++ b/qt-mobile/qmlmanager.cpp
@@ -17,7 +17,10 @@ void qmlUiShowMessage(const char *errorString)
QMLManager::QMLManager()
{
- //Initialize cloud credentials.
+ // create location manager service
+ locationProvider = new GpsLocation(this);
+
+ // Initialize cloud credentials.
setCloudUserName(prefs.cloud_storage_email);
setCloudPassword(prefs.cloud_storage_password);
setSaveCloudPassword(prefs.save_password_local);
diff --git a/subsurface-mobile-helper.cpp b/subsurface-mobile-helper.cpp
index cbffc7b1d..f7eaca10f 100644
--- a/subsurface-mobile-helper.cpp
+++ b/subsurface-mobile-helper.cpp
@@ -19,7 +19,6 @@
#include "qt-models/divelistmodel.h"
#include "qt-mobile/qmlprofile.h"
#include "qt-mobile/gpslocation.h"
-GpsLocation *locationProvider;
QObject *qqWindowObject = NULL;
@@ -54,7 +53,6 @@ void run_ui()
qml_window->setHeight(1200);
qml_window->setWidth(800);
#endif
- locationProvider = new GpsLocation(qml_window);
qml_window->show();
qApp->exec();
}