qDebug() << __PRETTY_FUNCTION__;
}
-void FriendListView::listItemClicked(ListItem *item)
+bool FriendListView::listItemClicked(ListItem *item)
{
qDebug() << __PRETTY_FUNCTION__;
- ListView::listItemClicked(item);
+ bool selected = ListView::listItemClicked(item);
FriendListItem *friendListItem = dynamic_cast<FriendListItem*>(item);
- if (friendListItem)
+ if (friendListItem && selected)
emit friendItemClicked(friendListItem->coordinates());
}
*
* @param item ListItem
*/
- void listItemClicked(ListItem *item);
+ bool listItemClicked(ListItem *item);
/******************************************************************************
* SIGNALS
return item;
}
-void ListView::listItemClicked(ListItem *item)
+bool ListView::listItemClicked(ListItem *item)
{
qDebug() << __PRETTY_FUNCTION__;
+ bool selected = false;
+
if (m_previousItem == item) {
- item->toggleSelection();
+ selected = item->toggleSelection();
} else {
if (m_previousItem)
m_previousItem->setSelected(false);
item->setSelected(true);
+ selected = true;
}
m_previousItem = item;
+
+ return selected;
}
void ListView::listItemClicked(QListWidgetItem *item)
ListItem *ListView::selectedItem()
{
qDebug() << __PRETTY_FUNCTION__;
+
QList<QListWidgetItem *> selectedListItems = selectedItems();
if (!selectedListItems.isEmpty())
*
* Toggles items selection state and emits listItemClicked signal.
*/
- virtual void listItemClicked(ListItem *item);
+ virtual bool listItemClicked(ListItem *item);
private slots:
/**
*/
void listItemClicked(QListWidgetItem *item);
-
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/
qDebug() << __PRETTY_FUNCTION__;
}
-void LocationListView::listItemClicked(ListItem *item)
+bool LocationListView::listItemClicked(ListItem *item)
{
qDebug() << __PRETTY_FUNCTION__;
- ListView::listItemClicked(item);
+ bool selected = ListView::listItemClicked(item);
LocationListItem *locationItem = dynamic_cast<LocationListItem*>(item);
- if (locationItem) {
+ if (locationItem && selected) {
GeoCoordinate swBound;
GeoCoordinate neBound;
locationItem->bounds(swBound, neBound);
*
* @param item ListItem
*/
- void listItemClicked(ListItem *item);
+ bool listItemClicked(ListItem *item);
signals:
/**
qDebug() << __PRETTY_FUNCTION__;
}
-void RouteWaypointListView::listItemClicked(ListItem *item)
+bool RouteWaypointListView::listItemClicked(ListItem *item)
{
qDebug() << __PRETTY_FUNCTION__;
- ListView::listItemClicked(item);
+ bool selected = ListView::listItemClicked(item);
RouteWaypointListItem *routeWaypointItem = dynamic_cast<RouteWaypointListItem*>(item);
- if (routeWaypointItem)
+ if (routeWaypointItem && selected)
emit routeWaypointItemClicked(routeWaypointItem->coordinates());
}
*
* @param item ListItem
*/
- void listItemClicked(ListItem *item);
+ bool listItemClicked(ListItem *item);
/******************************************************************************
* SIGNALS