From ff4924f650361695587e750fc4c3713107b94cfa Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Thu, 27 Jul 2017 23:46:54 +0300 Subject: mapwidgethelper: change centerOnDiveSite() Call setSelectedUuid() from C++ also center on coodinates instead on a MapLocation, as there is no point to pass the MapLocation object back to QML. Signed-off-by: Lubomir I. Ivanov --- mobile-widgets/qml/MapWidget.qml | 5 ++--- mobile-widgets/qmlmapwidgethelper.cpp | 8 ++++++-- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'mobile-widgets') diff --git a/mobile-widgets/qml/MapWidget.qml b/mobile-widgets/qml/MapWidget.qml index 128423285..685bc0dc6 100644 --- a/mobile-widgets/qml/MapWidget.qml +++ b/mobile-widgets/qml/MapWidget.qml @@ -153,9 +153,8 @@ Item { mapAnimationZoomOut.restart() } - function centerOnMapLocation(mapLocation) { - mapHelper.model.setSelectedUuid(mapLocation.uuid, false) - animateMapZoomIn(mapLocation.coordinate) + function centerOnCoordinate(coord) { + animateMapZoomIn(coord) } function deselectMapLocation() { diff --git a/mobile-widgets/qmlmapwidgethelper.cpp b/mobile-widgets/qmlmapwidgethelper.cpp index f0855e52d..7a17feaa0 100644 --- a/mobile-widgets/qmlmapwidgethelper.cpp +++ b/mobile-widgets/qmlmapwidgethelper.cpp @@ -22,11 +22,15 @@ MapWidgetHelper::MapWidgetHelper(QObject *parent) : QObject(parent) void MapWidgetHelper::centerOnDiveSite(struct dive_site *ds) { if (!dive_site_has_gps_location(ds)) { + m_mapLocationModel->setSelectedUuid(ds ? ds->uuid : 0, false); QMetaObject::invokeMethod(m_map, "deselectMapLocation"); return; } - MapLocation *location = m_mapLocationModel->getMapLocationForUuid(ds->uuid); - QMetaObject::invokeMethod(m_map, "centerOnMapLocation", Q_ARG(QVariant, QVariant::fromValue(location))); + m_mapLocationModel->setSelectedUuid(ds->uuid, false); + const qreal latitude = ds->latitude.udeg * 0.000001; + const qreal longitude = ds->longitude.udeg * 0.000001; + QGeoCoordinate dsCoord(latitude, longitude); + QMetaObject::invokeMethod(m_map, "centerOnCoordinate", Q_ARG(QVariant, QVariant::fromValue(dsCoord))); } void MapWidgetHelper::reloadMapLocations() -- cgit v1.2.3-70-g09d2