diff options
author | Lubomir I. Ivanov <neolit123@gmail.com> | 2017-07-17 23:13:31 +0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-07-28 07:31:11 -0700 |
commit | 476670cb8da0b0e4823e95a3eecdae40e7402811 (patch) | |
tree | f49eccaf4d13ee204c5a5bb0bb0b4a11eb2b3be6 | |
parent | de90480b462891d1b03f8c40c9a42a7bf29d6d35 (diff) | |
download | subsurface-476670cb8da0b0e4823e95a3eecdae40e7402811.tar.gz |
mapwidgethelper: pass a QGeoCoordinate to the QML map
Rename the QML function "centerOnCoordinates" to "centerOnCoordinate"
and pass a QGeoCoordinate to it in ::centerOnDiveSite().
This will prevent the creation of a QGeoCoordinate object on the
QML side and instead it will be created in C++.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
-rw-r--r-- | mobile-widgets/qml/MapWidget.qml | 4 | ||||
-rw-r--r-- | mobile-widgets/qmlmapwidgethelper.cpp | 6 |
2 files changed, 4 insertions, 6 deletions
diff --git a/mobile-widgets/qml/MapWidget.qml b/mobile-widgets/qml/MapWidget.qml index 5fe941792..ce057d63e 100644 --- a/mobile-widgets/qml/MapWidget.qml +++ b/mobile-widgets/qml/MapWidget.qml @@ -60,8 +60,8 @@ Item { } } - function centerOnCoordinates(latitude, longitude) { - map.newCenter = QtPositioning.coordinate(latitude, longitude); + function centerOnCoordinate(coordinate) { + map.newCenter = coordinate; map.zoomLevel = 2; mapAnimation.restart(); } diff --git a/mobile-widgets/qmlmapwidgethelper.cpp b/mobile-widgets/qmlmapwidgethelper.cpp index faa0c5f84..7fceccdfa 100644 --- a/mobile-widgets/qmlmapwidgethelper.cpp +++ b/mobile-widgets/qmlmapwidgethelper.cpp @@ -18,10 +18,8 @@ void MapWidgetHelper::centerOnDiveSite(struct dive_site *ds) qreal longitude = ds->longitude.udeg / 1000000.0;
qreal latitude = ds->latitude.udeg / 1000000.0;
-
- QMetaObject::invokeMethod(m_map, "centerOnCoordinates",
- Q_ARG(QVariant, latitude),
- Q_ARG(QVariant, longitude));
+ QVariant coord = QVariant::fromValue(QGeoCoordinate(latitude, longitude));
+ QMetaObject::invokeMethod(m_map, "centerOnCoordinate", Q_ARG(QVariant, coord));
}
void MapWidgetHelper::reloadMapLocations()
|