8 class ListView : public QListWidget
12 ListView(QWidget *parent = 0);
16 * @brief Add widget to view and widget list.
19 * @param widget widget to add to list
21 void addListItem(const QString &key, ListItem *item);
24 * @brief Adds widget to view.
26 * @param item FriendListItem
28 void addListItemToView(ListItem *item);
31 * @brief Clear unused widgets from view.
33 * Clears items which are not in user ID's list from the view and widget list.
35 * @param userIDs list of new user ID's.
37 void clearUnused(const QStringList &userIDs);
40 * @brief Clears filtering from list.
42 * Calls show to all widgets.
49 * @brief Checks if view contains widget with userID.
51 * @param userID user's ID
52 * @return true if view contains widget, false otherwise
54 bool contains(const QString &userID);
57 * @brief Sets filter to list.
59 * Hide all widgets that are not in the userIDs list.
61 * @param userIDs user ID's to widgets that are shown
63 void filter(const QList<QString> &userIDs);
66 * @brief Takes widget from view.
68 * Widget is not deleted.
70 * @param userID user's ID
71 * @return FriendListItem
73 ListItem *takeListItemFromView(const QString &userID);
76 * @brief Returns FriendListItem with userID.
78 * @param userID user's ID
79 * @return FriendListItem
81 ListItem *listItem(const QString &userID);
84 void listItemClicked(const QString &id);
85 void listItemClicked(const QPointF &coordinates);
91 void listItemClicked(QListWidgetItem *item);
94 ListItem *previousItem;
95 QHash<QString, ListItem *> m_listItems; ///< List of items in this view. Key = user ID