diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-11-18 18:56:50 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-11-18 19:15:59 -0800 |
commit | ca5b751610e1928eb1211622035390bd38dd32bf (patch) | |
tree | b9a02d9483f5188f379287f99740bc58a1e30c22 /subsurface-core | |
parent | ff5bd062f67e36a3eb20013e40e4e54822b446bf (diff) | |
download | subsurface-ca5b751610e1928eb1211622035390bd38dd32bf.tar.gz |
Location service: check presence of location source
In theory this should only report a location service if this is a
satellite based service, but sadly geoclue appears to claim that there is
a satellite based service in my Linux VM - so I'm doubtful that this does
what the documentation says it does.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core')
-rw-r--r-- | subsurface-core/gpslocation.cpp | 5 | ||||
-rw-r--r-- | subsurface-core/gpslocation.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/subsurface-core/gpslocation.cpp b/subsurface-core/gpslocation.cpp index 4c2879f7c..2445c604d 100644 --- a/subsurface-core/gpslocation.cpp +++ b/subsurface-core/gpslocation.cpp @@ -31,6 +31,11 @@ GpsLocation::GpsLocation(void (*showMsgCB)(const char *), QObject *parent) userAgent = getUserAgent(); } +bool GpsLocation::hasLocationsSource() +{ + return gpsSource != 0 && (gpsSource->supportedPositioningMethods() & QGeoPositionInfoSource::SatellitePositioningMethods); +} + void GpsLocation::serviceEnable(bool toggle) { if (!gpsSource) { diff --git a/subsurface-core/gpslocation.h b/subsurface-core/gpslocation.h index 55b47f07e..f60b669f7 100644 --- a/subsurface-core/gpslocation.h +++ b/subsurface-core/gpslocation.h @@ -17,6 +17,7 @@ public: bool applyLocations(); int getGpsNum() const; QString getUserid(QString user, QString passwd); + bool hasLocationsSource(); private: QGeoPositionInfo lastPos; |