summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2010-04-09 09:39:22 +0200
committerChristian Kamm <christian.d.kamm@nokia.com>2010-04-09 09:39:22 +0200
commit457c053bfbf57a4e7d1e6cfe360d8980a56d4408 (patch)
tree3cd7bfecd00f84a359af928b517aaeeb9b4fdfa3
parentced70808bf1f5f27489d323be259e98bbec27403 (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.cpp23
-rw-r--r--library/components/locationui.h3
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: