summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/imports/location/qdeclarativeroutemapitem.cpp7
-rw-r--r--src/imports/location/qdeclarativeroutemapitem_p.h3
2 files changed, 10 insertions, 0 deletions
diff --git a/src/imports/location/qdeclarativeroutemapitem.cpp b/src/imports/location/qdeclarativeroutemapitem.cpp
index 78485cc0..19930cc3 100644
--- a/src/imports/location/qdeclarativeroutemapitem.cpp
+++ b/src/imports/location/qdeclarativeroutemapitem.cpp
@@ -119,12 +119,19 @@ void QDeclarativeRouteMapItem::setRoute(QDeclarativeGeoRoute *route)
route_ = route;
+ connect(route_, SIGNAL(pathChanged()), this, SLOT(updateRoutePath()));
+
if (route_)
setPathFromGeoList(route_->routePath());
emit routeChanged(route_);
}
+void QDeclarativeRouteMapItem::updateRoutePath()
+{
+ setPathFromGeoList(route_->routePath());
+}
+
/*!
\internal void QDeclarativeRouteMapItem::setPath(const QJSValue &value)
diff --git a/src/imports/location/qdeclarativeroutemapitem_p.h b/src/imports/location/qdeclarativeroutemapitem_p.h
index 9bb3a443..3acac3cc 100644
--- a/src/imports/location/qdeclarativeroutemapitem_p.h
+++ b/src/imports/location/qdeclarativeroutemapitem_p.h
@@ -74,6 +74,9 @@ public:
Q_SIGNALS:
void routeChanged(const QDeclarativeGeoRoute *route);
+private slots:
+ void updateRoutePath();
+
protected:
void setPath(const QJSValue &value) Q_DECL_OVERRIDE;