mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Location service: make message delivery configurable
Instead of directly using the status output for the QML UI, set up the function used to display messages to the user as part of the constructor. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
d70f85ce35
commit
0b804e5b21
3 changed files with 7 additions and 5 deletions
|
@ -1,5 +1,4 @@
|
|||
#include "qt-mobile/gpslocation.h"
|
||||
#include "qt-mobile/qmlmanager.h"
|
||||
#include "pref.h"
|
||||
#include "dive.h"
|
||||
#include "helpers.h"
|
||||
|
@ -14,8 +13,9 @@
|
|||
#define GPS_FIX_ADD_URL "http://api.subsurface-divelog.org/api/dive/add/"
|
||||
#define GET_WEBSERVICE_UID_URL "https://cloud.subsurface-divelog.org/webuserid/"
|
||||
|
||||
GpsLocation::GpsLocation(QObject *parent)
|
||||
GpsLocation::GpsLocation(void (*showMsgCB)(const char *), QObject *parent)
|
||||
{
|
||||
showMessageCB = showMsgCB;
|
||||
// create a QSettings object that's separate from the main application settings
|
||||
geoSettings = new QSettings(QSettings::NativeFormat, QSettings::UserScope,
|
||||
QString("org.subsurfacedivelog"), QString("subsurfacelocation"), this);
|
||||
|
@ -80,7 +80,8 @@ void GpsLocation::updateTimeout()
|
|||
void GpsLocation::status(QString msg)
|
||||
{
|
||||
qDebug() << msg;
|
||||
qmlUiShowMessage(qPrintable(msg));
|
||||
if (showMessageCB)
|
||||
(*showMessageCB)(qPrintable(msg));
|
||||
}
|
||||
|
||||
QString GpsLocation::getUserid(QString user, QString passwd)
|
||||
|
|
|
@ -13,7 +13,7 @@ class GpsLocation : QObject
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
GpsLocation(QObject *parent);
|
||||
GpsLocation(void (*showMsgCB)(const char *msg), QObject *parent);
|
||||
bool applyLocations();
|
||||
int getGpsNum() const;
|
||||
QString getUserid(QString user, QString passwd);
|
||||
|
@ -25,6 +25,7 @@ private:
|
|||
QSettings *geoSettings;
|
||||
QNetworkReply *reply;
|
||||
QString userAgent;
|
||||
void (*showMessageCB)(const char *msg);
|
||||
|
||||
signals:
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ QMLManager::QMLManager() :
|
|||
m_locationServiceEnabled(false)
|
||||
{
|
||||
// create location manager service
|
||||
locationProvider = new GpsLocation(this);
|
||||
locationProvider = new GpsLocation(&qmlUiShowMessage, this);
|
||||
|
||||
// Initialize cloud credentials.
|
||||
setCloudUserName(prefs.cloud_storage_email);
|
||||
|
|
Loading…
Reference in a new issue