2 Situare - A location system for Facebook
3 Copyright (C) 2010 Ixonos Plc. Authors:
5 Jussi Laitinen - jussi.laitinen@ixonos.com
7 Situare is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 version 2 as published by the Free Software Foundation.
11 Situare is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with Situare; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
22 #include <QVBoxLayout>
26 #include "friendlistview.h"
27 #include "friendlistitem.h"
28 #include "../user/user.h"
30 FriendListView::FriendListView(QWidget *parent)
33 qDebug() << __PRETTY_FUNCTION__;
35 m_friendListLayout = new QVBoxLayout(this);
36 m_friendListLayout->setMargin(0);
37 m_friendListLayout->setSpacing(0);
38 m_friendListLayout->setStretch(0, 0);
39 m_friendListLayout->setSizeConstraint(QLayout::SetFixedSize);
41 this->setLayout(m_friendListLayout);
44 void FriendListView::addWidget(const QString &key, QWidget *widget)
46 qDebug() << __PRETTY_FUNCTION__;
48 if (!m_widgets.contains(key)) {
49 m_friendListLayout->addWidget(widget);
50 m_widgets.insert(key, widget);
54 void FriendListView::clearUnused(const QStringList &userIDs)
56 qDebug() << __PRETTY_FUNCTION__;
58 foreach (QString key, m_widgets.keys()) {
59 if (!userIDs.contains(key)) {
60 QWidget *widget = m_widgets.value(key);
63 m_friendListLayout->removeWidget(widget);
64 disconnect(widget, 0, 0, 0);
71 void FriendListView::filter(const QList<QString> &userIDs)
73 foreach (QWidget *widget, m_widgets)
76 foreach (QString userID, userIDs) {
77 QWidget *widget = m_widgets.value(userID);
83 void FriendListView::clearFilter()
85 foreach (QWidget *widget, m_widgets)
89 bool FriendListView::contains(const QString &userID)
91 return m_widgets.contains(userID);
94 FriendListItem *FriendListView::widget(const QString &userID)
96 return static_cast<FriendListItem*>(m_widgets.value(userID));