Added ListView::itemClicked to return item selected state.
[situare] / src / ui / friendlistview.cpp
index 3df3f22..c91d172 100644 (file)
    USA.
 */
 
-#include <QVBoxLayout>
-#include <QDebug>
-#include <QLabel>
+#include "friendlistitem.h"
 
 #include "friendlistview.h"
-#include "friendlistitem.h"
-#include "../user/user.h"
 
 FriendListView::FriendListView(QWidget *parent)
-    : QWidget(parent)
+    : ListView(parent)
 {
     qDebug() << __PRETTY_FUNCTION__;
-
-    m_friendListLayout = new QVBoxLayout(this);
-    m_friendListLayout->setMargin(0);
-    m_friendListLayout->setSpacing(0);
-    m_friendListLayout->setStretch(0, 0);
-    m_friendListLayout->setSizeConstraint(QLayout::SetFixedSize);
-
-    this->setLayout(m_friendListLayout);
 }
 
-void FriendListView::addWidget(const QString &key, QWidget *widget)
+bool FriendListView::listItemClicked(ListItem *item)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    if (!m_widgets.contains(key)) {
-        m_friendListLayout->addWidget(widget);
-        m_widgets.insert(key, widget);
-    }
-}
+    bool selected = ListView::listItemClicked(item);
 
-void FriendListView::clearUnused(const QStringList &userIDs)
-{
-    qDebug() << __PRETTY_FUNCTION__;
-
-    foreach (QString key, m_widgets.keys()) {
-        if (!userIDs.contains(key)) {
-            QWidget *widget = m_widgets.value(key);
+    FriendListItem *friendListItem = dynamic_cast<FriendListItem*>(item);
 
-            if (widget) {
-                m_friendListLayout->removeWidget(widget);
-                disconnect(widget, 0, 0, 0);
-                delete widget;
-            }
-        }
-    }
-}
-
-void FriendListView::filter(const QList<QString> &userIDs)
-{
-    foreach (QWidget *widget, m_widgets)
-        widget->hide();
-
-    foreach (QString userID, userIDs) {
-        QWidget *widget = m_widgets.value(userID);
-        if (widget)
-            widget->show();
-    }
-}
-
-void FriendListView::clearFilter()
-{
-    foreach (QWidget *widget, m_widgets)
-        widget->show();
-}
-
-bool FriendListView::contains(const QString &userID)
-{
-    return m_widgets.contains(userID);
-}
-
-FriendListItem *FriendListView::widget(const QString &userID)
-{
-    return static_cast<FriendListItem*>(m_widgets.value(userID));
+    if (friendListItem && selected)
+        emit friendItemClicked(friendListItem->coordinates());
 }