summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-11 11:16:59 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-11 12:38:11 -0800
commite7b2f04bec19c70bff2324b43c337728f2420aca (patch)
tree77e9337b9cc1d0297b861aefc83a4cf0ce14a458
parent9195f247c4b05a0cb849cf998355dc3ec3b65641 (diff)
downloadsubsurface-e7b2f04bec19c70bff2324b43c337728f2420aca.tar.gz
Location service: consistent way to output information
qDebug is nice when testing on the desktop, but it has to go to the message area on an Android device to make things easy. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--qt-mobile/gpslocation.cpp22
-rw-r--r--qt-mobile/gpslocation.h1
-rw-r--r--qt-mobile/qmlmanager.cpp20
-rw-r--r--qt-mobile/qmlmanager.h2
4 files changed, 28 insertions, 17 deletions
diff --git a/qt-mobile/gpslocation.cpp b/qt-mobile/gpslocation.cpp
index 3f47396c1..0108fdc0d 100644
--- a/qt-mobile/gpslocation.cpp
+++ b/qt-mobile/gpslocation.cpp
@@ -1,4 +1,5 @@
#include "qt-mobile/gpslocation.h"
+#include "qt-mobile/qmlmanager.h"
#include <QDebug>
@@ -6,27 +7,34 @@ GpsLocation::GpsLocation(QObject *parent)
{
QGeoPositionInfoSource *gpsSource = QGeoPositionInfoSource::createDefaultSource(parent);
if (gpsSource != 0) {
- qDebug() << "have position source" << gpsSource->sourceName();
+ QString msg = QString("have position source %1").arg(gpsSource->sourceName());
connect(gpsSource, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(newPosition(QGeoPositionInfo)));
connect(gpsSource, SIGNAL(updateTimeout()), this, SLOT(updateTimeout()));
lastPos = gpsSource->lastKnownPosition();
- gpsSource->requestUpdate(1000);
+ gpsSource->startUpdates();
QGeoCoordinate lastCoord = lastPos.coordinate();
if (lastCoord.isValid()) {
- qDebug() << lastCoord.toString();
+ status(msg + lastCoord.toString());
} else {
- qDebug() << "invalid last position";
+ status(msg + "invalid last position");
}
} else {
- qDebug() << "don't have GPS source";
+ status("don't have GPS source");
}
}
void GpsLocation::newPosition(QGeoPositionInfo pos)
{
- qDebug() << "received new position" << pos.coordinate().toString();
+ QString msg("received new position %1");
+ status(qPrintable(msg.arg(pos.coordinate().toString())));
}
void GpsLocation::updateTimeout()
{
- qDebug() << "request to get new position timed out";
+ status("request to get new position timed out");
+}
+
+void GpsLocation::status(QString msg)
+{
+ qDebug() << msg;
+ qmlUiShowMessage(qPrintable(msg));
}
diff --git a/qt-mobile/gpslocation.h b/qt-mobile/gpslocation.h
index 8e26fd25e..e87198bc1 100644
--- a/qt-mobile/gpslocation.h
+++ b/qt-mobile/gpslocation.h
@@ -14,6 +14,7 @@ public:
private:
QGeoPositionInfo lastPos;
+ void status(QString msg);
signals:
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp
index dd038c6e2..e0c621542 100644
--- a/qt-mobile/qmlmanager.cpp
+++ b/qt-mobile/qmlmanager.cpp
@@ -9,7 +9,7 @@
#include "qthelper.h"
#include "qt-gui.h"
-static void showMessage(const char *errorString)
+void qmlUiShowMessage(const char *errorString)
{
if (qqWindowObject && !qqWindowObject->setProperty("messageText", QVariant(errorString)))
qDebug() << "couldn't set property messageText to" << errorString;
@@ -55,11 +55,11 @@ void QMLManager::savePreferences()
void QMLManager::loadDives()
{
- showMessage("Loading dives...");
+ qmlUiShowMessage("Loading dives...");
appendTextToLog("Loading dives...");
QString url;
if (getCloudURL(url)) {
- showMessage(get_error_string());
+ qmlUiShowMessage(get_error_string());
appendTextToLog(get_error_string());
return;
}
@@ -69,12 +69,12 @@ void QMLManager::loadDives()
int error = parse_file(fileNamePrt.data());
if (!error) {
report_error("filename is now %s", fileNamePrt.data());
- showMessage(get_error_string());
+ qmlUiShowMessage(get_error_string());
appendTextToLog(get_error_string());
set_filename(fileNamePrt.data(), true);
appendTextToLog(fileNamePrt.data());
} else {
- showMessage(get_error_string());
+ qmlUiShowMessage(get_error_string());
appendTextToLog(get_error_string());
}
process_dives(false, false);
@@ -116,21 +116,21 @@ void QMLManager::commitChanges(QString diveId, QString suit, QString buddy, QStr
void QMLManager::saveChanges()
{
- showMessage("Saving dives.");
+ qmlUiShowMessage("Saving dives.");
QString fileName;
if (getCloudURL(fileName)) {
- showMessage(get_error_string());
+ qmlUiShowMessage(get_error_string());
appendTextToLog(get_error_string());
return;
}
if (save_dives(fileName.toUtf8().data())) {
- showMessage(get_error_string());
+ qmlUiShowMessage(get_error_string());
appendTextToLog(get_error_string());
return;
}
- showMessage("Dives saved.");
+ qmlUiShowMessage("Dives saved.");
appendTextToLog("Dive saved.");
set_filename(fileName.toUtf8().data(), true);
mark_divelist_changed(false);
@@ -138,7 +138,7 @@ void QMLManager::saveChanges()
void QMLManager::addDive()
{
- showMessage("Adding new dive.");
+ qmlUiShowMessage("Adding new dive.");
appendTextToLog("Adding new dive.");
DiveListModel::instance()->startAddDive();
}
diff --git a/qt-mobile/qmlmanager.h b/qt-mobile/qmlmanager.h
index d1431980d..705e57cf3 100644
--- a/qt-mobile/qmlmanager.h
+++ b/qt-mobile/qmlmanager.h
@@ -4,6 +4,8 @@
#include <QObject>
#include <QString>
+void qmlUiShowMessage(const char *errorString);
+
class QMLManager : public QObject
{
Q_OBJECT