#ifndef FRIENDLISTPANEL_H
#define FRIENDLISTPANEL_H
-#include <QHash>
-#include <QWidget>
+#include "panelbase.h"
class QLabel;
class QLineEdit;
class QPushButton;
class FriendListItemDelegate;
-class GeoCoordinate;
class FriendListView;
+class GeoCoordinate;
+class ImageButton;
class User;
/**
* @author Jussi Laitinen - jussi.laitinen (at) ixonos.com
* @author Sami Rämö - sami.ramo (at) ixonos.com
*/
-class FriendListPanel : public QWidget
+class FriendListPanel : public PanelBase
{
Q_OBJECT
void filterTextChanged(const QString &text);
/**
+ * @brief Requests selected friend's contact dialog.
+ */
+ void requestSelectedFriendContactDialog();
+
+ /**
* @brief Routes to selected friend.
*
* Emits routeToFriend if friend is selected from list.
void routeToSelectedFriend();
/**
- * @brief Requests selected friend's contact dialog.
- */
- void requestSelectedFriendContactDialog();
-
- /**
* @brief Sets route button disabled.
*
* Disabled if there isn't any list item selected.
*/
- void setSelectionButtonsDisabled();
+ void setRouteButtonDisabled();
/**
* @brief Slot to show friends in list.
void findFriend(const GeoCoordinate &coordinates);
/**
- * @brief Signal for routing to friend.
- *
- * @param coordinates friend's geo coordinates
- */
- void routeToFriend(const GeoCoordinate &coordinates);
-
- /**
* @brief Requests contact dialog.
*
* @param facebookId contact's facebookId
void requestContactDialog(const QString &facebookId);
/**
- * @brief Signal for requesting a panel to be opened
- *
- * @param widget Pointer to the widget that emitted the signal
- */
- void showPanelRequested(QWidget *widget);
+ * @brief Signal for routing to friend.
+ *
+ * @param coordinates friend's geo coordinates
+ */
+ void routeToFriend(const GeoCoordinate &coordinates);
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/
private:
- bool m_mainWindowIsTopmost; ///< Is the MainWindow the topmost one
- bool m_somePanelIsOpen; ///< Is any panel tab open
+ bool m_mainWindowIsTopmost; ///< Is the MainWindow the topmost one
+ bool m_somePanelIsOpen; ///< Is any panel tab open
- QLabel *m_friendListLabel; ///< Friend list label
+ QLabel *m_headerLabel; ///< Show how many friends are selected
- QLineEdit *m_filterField; ///< Text field for the filter text
+ QLineEdit *m_filterField; ///< Text field for the filter text
- QPushButton *m_clearFilterButton; ///< Button to clear list filtering
- QPushButton *m_filterClearButton; ///< Button for clearing the filtering
- QPushButton *m_routeButton; ///< Button to route to friend
- QPushButton *m_showContactButton; ///< Button to show contact dialog
+ QPushButton *m_clearTextFilteringButton; ///< Button for clearing the text filtering
- QWidget *m_friendListHeaderWidget; ///< Friend list header widget
+ QWidget *m_headerWidget; ///< Friend list header widget
- FriendListView *m_friendListView; ///< Friend list view
+ FriendListView *m_friendListView; ///< Friend list view
+ ImageButton *m_clearGroupFilteringButton; ///< Button for clearing friend group filtering
+ ImageButton *m_showContactButton; ///< Button for showing contact dialog
+ ImageButton *m_routeButton; ///< Button for routing to selected friend
};
#endif // FRIENDLISTPANEL_H