Added ListView::listItemSelectionChanged signal. Added deselection of
authorJussi Laitinen <jupe@l3l7588.ixonos.local>
Thu, 19 Aug 2010 09:08:50 +0000 (12:08 +0300)
committerJussi Laitinen <jupe@l3l7588.ixonos.local>
Thu, 19 Aug 2010 09:08:50 +0000 (12:08 +0300)
ListItems when item is hidden.

src/ui/friendlistpanel.cpp
src/ui/listview.cpp
src/ui/listview.h
src/ui/routingpanel.cpp

index efa5a0b..b94329e 100644 (file)
@@ -97,7 +97,7 @@ FriendListPanel::FriendListPanel(QWidget *parent)
     connect(m_routeButton, SIGNAL(clicked()),
             this, SLOT(routeToSelectedFriend()));
 
-    connect(m_friendListView, SIGNAL(clicked(QModelIndex)),
+    connect(m_friendListView, SIGNAL(listItemSelectionChanged()),
             this, SLOT(setRouteButtonDisabled()));
 
     /// @todo remove old filterLayout when new panel are merged
index bf01d5c..34d090c 100644 (file)
@@ -117,10 +117,12 @@ void ListView::filter(const QList<QString> &itemIDs)
 
     foreach (ListItem *item, m_listItems) {
         if (itemIDs.contains(m_listItems.key(item)))
-            setItemHidden(item, false);
+            item->setHidden(false);
         else
-            setItemHidden(item, true);
+            item->setHidden(true);
     }
+
+    emit listItemSelectionChanged();
 }
 
 void ListView::filter(const QString &pattern)
@@ -130,21 +132,27 @@ void ListView::filter(const QString &pattern)
     if (m_filteredItemIDs.isEmpty()) {
         foreach (ListItem *item, m_listItems) {
             if (item->title().contains(pattern, Qt::CaseInsensitive))
-                setItemHidden(item, false);
-            else
-                setItemHidden(item, true);
+                item->setHidden(false);
+            else {
+                item->setSelected(false);
+                item->setHidden(true);
+            }
         }
     } else {
         foreach (QString key, m_filteredItemIDs) {
             ListItem *item = m_listItems.value(key);
             if (item) {
                 if (item->title().contains(pattern, Qt::CaseInsensitive))
-                    setItemHidden(item, false);
-                else
-                    setItemHidden(item, true);
+                    item->setHidden(false);
+                else {
+                    item->setSelected(false);
+                    item->setHidden(true);
+                }
             }
         }
     }
+
+    emit listItemSelectionChanged();
 }
 
 ListItem *ListView::takeListItemFromView(const QString &itemID)
@@ -170,6 +178,8 @@ bool ListView::listItemClicked(ListItem *item)
     }
     m_previousItem = item;
 
+    emit listItemSelectionChanged();
+
     return item->isSelected();
 }
 
index 52cddfc..821c608 100644 (file)
@@ -184,6 +184,9 @@ private slots:
     */
     void listItemClicked(QListWidgetItem *item);
 
+signals:
+    void listItemSelectionChanged();
+
 /*******************************************************************************
  * DATA MEMBERS
  ******************************************************************************/
index d94370f..49b611e 100644 (file)
@@ -67,7 +67,7 @@ RoutingPanel::RoutingPanel(QWidget *parent)
             this,
             SIGNAL(locationItemClicked(const GeoCoordinate&, const GeoCoordinate&)));
 
-    connect(m_locationListView, SIGNAL(clicked(QModelIndex)),
+    connect(m_locationListView, SIGNAL(listItemSelectionChanged()),
             this, SLOT(setRouteButtonDisabled()));
 
     connect(m_routeWaypointListView, SIGNAL(routeWaypointItemClicked(GeoCoordinate)),