Added routing feature to friend and location list.
[situare] / src / ui / listview.cpp
index c070361..e2dfbee 100644 (file)
@@ -31,6 +31,7 @@ ListView::ListView(QWidget *parent)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
+    setSelectionMode(QAbstractItemView::SingleSelection);
     setAutoFillBackground(false);
     viewport()->setAutoFillBackground(false);
 
@@ -131,24 +132,30 @@ ListItem *ListView::takeListItemFromView(const QString &itemID)
     return item;
 }
 
-void ListView::listItemClicked(QListWidgetItem *item)
+void ListView::listItemClicked(ListItem *item)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    ListItem *currentItem = dynamic_cast<ListItem*>(item);
-
-    if (currentItem) {
-        if (m_previousItem == currentItem) {
-            currentItem->toggleSelection();
+    if (m_previousItem == item) {
+        item->toggleSelection();
 
-        } else {
-            if (m_previousItem)
-                m_previousItem->setSelected(false);
+    } else {
+        if (m_previousItem)
+            m_previousItem->setSelected(false);
 
-            currentItem->setSelected(true);
-        }
-        m_previousItem = currentItem;
+        item->setSelected(true);
     }
+    m_previousItem = item;
+}
+
+void ListView::listItemClicked(QListWidgetItem *item)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    ListItem *currentItem = dynamic_cast<ListItem*>(item);
+
+    if (currentItem)
+        listItemClicked(currentItem);
 }
 
 ListItem *ListView::listItem(const QString &itemID)
@@ -178,6 +185,20 @@ ListItem *ListView::listItemAt(int index)
     return item;
 }
 
+ListItem *ListView::selectedItem()
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    return m_previousItem;
+}
+
+void ListView::setSelectedItem(ListItem *item)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    listItemClicked(item);
+}
+
 ListView::~ListView()
 {
     qDebug() << __PRETTY_FUNCTION__;