QVBoxLayout *listViewLayout = new QVBoxLayout;
listViewLayout->setContentsMargins(PANEL_MARGIN_LEFT, 0, PANEL_MARGIN_RIGHT, 0);
+ m_routeButton = new QPushButton("Route to location");
+
m_locationListHeaderWidget = new QWidget();
m_locationListHeaderWidget->setLayout(headerLayout);
m_locationListHeaderWidget->setAutoFillBackground(true);
listViewLayout->addWidget(m_locationListView);
+ routingLayout->addWidget(m_routeButton);
routingLayout->addWidget(m_locationListHeaderWidget);
routingLayout->addLayout(listViewLayout);
SIGNAL(locationItemClicked(const GeoCoordinate&, const GeoCoordinate&)),
this,
SIGNAL(locationItemClicked(const GeoCoordinate&, const GeoCoordinate&)));
+
+ connect(m_routeButton, SIGNAL(clicked()),
+ this, SLOT(routeToSelectedLocation()));
}
void RoutingPanel::populateLocationListView(const QList<Location> &locations)
ListItem *item = m_locationListView->listItemAt(FIRST_LOCATION_ITEM_INDEX);
if (item)
- m_locationListView->listItemClicked(item);
+ m_locationListView->setSelectedItem(item);
}
}
+
+void RoutingPanel::routeToSelectedLocation()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ LocationListItem *item = dynamic_cast<LocationListItem *>
+ (m_locationListView->selectedItem());
+
+ if (item)
+ emit routeToLocation(item->coordinates());
+}