diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2010-04-09 09:39:22 +0200 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2010-04-09 09:39:22 +0200 |
commit | 457c053bfbf57a4e7d1e6cfe360d8980a56d4408 (patch) | |
tree | 3cd7bfecd00f84a359af928b517aaeeb9b4fdfa3 | |
parent | ced70808bf1f5f27489d323be259e98bbec27403 (diff) |
Extend the LocationUi interface to allow querying and setting data.
LocationUi::locationData returns the current data and
LocationUi::setLocation works like setDisplayedLocation but also
triggers the locationChanged signal.
Reviewed-by: owolff
-rw-r--r-- | library/components/locationui.cpp | 23 | ||||
-rw-r--r-- | library/components/locationui.h | 3 |
2 files changed, 20 insertions, 6 deletions
diff --git a/library/components/locationui.cpp b/library/components/locationui.cpp index a5f3ef9..5a17cbb 100644 --- a/library/components/locationui.cpp +++ b/library/components/locationui.cpp @@ -101,11 +101,27 @@ LocationScriptInterface *LocationUi::scriptInterface() const return mScriptInterface; } +LocationUi::LocationData LocationUi::locationData() const +{ + LocationData location; + location.latitude = mScriptInterface->latitude(); + location.longitude = mScriptInterface->longitude(); + location.altitude = mScriptInterface->altitude(); + location.timestamp = mScriptInterface->timestamp(); + return location; +} + void LocationUi::updateLocationTime() { mTimeEdit->setDateTime(QDateTime::currentDateTime()); } +void LocationUi::setLocation(const LocationData &location) +{ + setDisplayedLocation(location); + emit locationChanged(location); +} + void LocationUi::setDisplayedLocation(const LocationData &location) { mLatitudeEdit->setText(QString::number(location.latitude, 'f', 8)); @@ -116,12 +132,7 @@ void LocationUi::setDisplayedLocation(const LocationData &location) void LocationUi::emitLocationChange() const { - LocationData location; - location.latitude = mScriptInterface->latitude(); - location.longitude = mScriptInterface->longitude(); - location.altitude = mScriptInterface->altitude(); - location.timestamp = mScriptInterface->timestamp(); - emit locationChanged(location); + emit locationChanged(locationData()); } LocationScriptInterface::LocationScriptInterface(LocationUi *ui) diff --git a/library/components/locationui.h b/library/components/locationui.h index 0a30429..06a00d0 100644 --- a/library/components/locationui.h +++ b/library/components/locationui.h @@ -57,7 +57,10 @@ public: LocationScriptInterface *scriptInterface() const; + LocationData locationData() const; + public slots: + void setLocation(const LocationUi::LocationData &location); void setDisplayedLocation(const LocationUi::LocationData &location); signals: |