[Marble-commits] KDE/kdeedu/marble/src/lib/routing
Dennis Nienhüser
earthwings at gentoo.org
Fri Apr 16 21:59:16 CEST 2010
SVN commit 1115543 by nienhueser:
Update the route when points are removed by the user. Fix route summary not being updated correctly on route changes in the map.
CCMAIL: arnd.baecker at web.de
M +3 -3 RoutingManager.cpp
M +7 -3 RoutingWidget.cpp
--- trunk/KDE/kdeedu/marble/src/lib/routing/RoutingManager.cpp #1115542:1115543
@@ -76,9 +76,9 @@
void RoutingManager::updateRoute()
{
- if (d->m_route) {
- emit stateChanged(Downloading, d->m_route);
- d->m_routingProvider->retrieveDirections(d->m_route);
+ if ( d->m_route && d->m_route->size() > 1 ) {
+ emit stateChanged( Downloading, d->m_route );
+ d->m_routingProvider->retrieveDirections( d->m_route );
}
}
--- trunk/KDE/kdeedu/marble/src/lib/routing/RoutingWidget.cpp #1115542:1115543
@@ -326,6 +326,7 @@
int index = d->m_inputWidgets.indexOf(widget);
if (index >=0 ) {
d->m_routeSkeleton->remove(index);
+ d->m_routingManager->updateRoute();
d->m_inputWidgets.removeAll(widget);
d->m_ui.routingLayout->removeWidget(widget);
widget->deleteLater();
@@ -337,8 +338,7 @@
{
Q_UNUSED(route);
- if (d->m_zoomRouteAfterDownload && state == RoutingManager::Retrieved) {
- d->m_zoomRouteAfterDownload = false;
+ if ( state == RoutingManager::Retrieved ) {
// Parts of the route may lie outside the route trip points
GeoDataLineString bbox;
for (int i=0; i<d->m_routingManager->routingModel()->rowCount(); ++i) {
@@ -350,13 +350,17 @@
}
if (bbox.size()>1) {
- d->m_widget->centerOn(GeoDataLatLonBox::fromLineString(bbox));
QString label = tr("Estimated travel time: %1 (%2 km)");
qreal distance = d->m_routingManager->routingModel()->totalDistance();
QTime time = d->m_routingManager->routingModel()->totalTime();
QString timeString = time.toString(Qt::DefaultLocaleShortDate);
d->m_ui.descriptionLabel->setText(label.arg(timeString).arg(distance, 0, 'f', 1));
d->m_ui.descriptionLabel->setVisible(true);
+
+ if (d->m_zoomRouteAfterDownload) {
+ d->m_zoomRouteAfterDownload = false;
+ d->m_widget->centerOn(GeoDataLatLonBox::fromLineString(bbox));
+ }
}
}
More information about the Marble-commits
mailing list