Merge branch 'master' into contact_dialog
[situare] / src / ui / friendlistpanel.h
index dfa270a..71aeeab 100644 (file)
 #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;
 
 /**
@@ -47,7 +47,7 @@ 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
 
@@ -162,6 +162,11 @@ private slots:
     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.
@@ -169,16 +174,11 @@ private slots:
     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.
@@ -209,13 +209,6 @@ signals:
     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
@@ -223,31 +216,31 @@ signals:
     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