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());
}