2 Situare - A location system for Facebook
3 Copyright (C) 2010 Ixonos Plc. Authors:
5 Kaj Wallin - kaj.wallin@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 #ifndef FRIENDLISTPANEL_H
23 #define FRIENDLISTPANEL_H
32 * @brief Class for sliding friends list panel
34 * @author Kaj Wallin - kaj.wallin (at) ixonos.com
35 * @class FriendListPanel friendlistpanel.h "ui/friendlistpanel.h"
37 class FriendListPanel : public QWidget
43 * @brief Default constructor
47 FriendListPanel(QWidget *parent = 0);
49 /*******************************************************************************
50 * MEMBER FUNCTIONS AND SLOTS
51 ******************************************************************************/
54 * @brief Slot to refresh friends list
58 void friendInfoReceived(QList<User *> &friendList);
61 * @brief Slot to redraw the panel after window resize event
63 * @param width Width of the window after resize
64 * @param height Height of the window after resize
66 void reDrawFriendsPanel(int width, int height);
70 * @brief Slot to clear friend list filter.
72 void clearFriendListFilter();
75 * @brief Slot to show friends in list.
77 * Shows only friends that are on userIDs list.
78 * @param userIDs list of user ID's
80 void showFriendsInList(const QList<QString> &userIDs);
82 /*******************************************************************************
84 ******************************************************************************/
87 * @brief Signal for friend finding.
89 * @param coordinates longitude and latitude values
91 void findFriend(const QPointF &coordinates);
93 /*******************************************************************************
95 ******************************************************************************/
97 FriendListView *m_friendListView; ///< Friend list view
98 PanelSliderBar *m_friendsPanelSlidingBar; ///< Widget for sidebar tab item
99 QPushButton *m_clearFilterButton; ///< Button to clear list filtering
100 QState *m_friendsPanelStateClosed; ///< State of the closed panel
101 QStateMachine *m_friendsPanelStateMachine; ///< State machine for sliding the panel
102 QState *m_friendsPanelStateOpened; ///< State of the opened panel
103 QSignalTransition *m_friendsPanelTransitionClose; ///< Transition signal for closing the panel
104 QSignalTransition *m_friendsPanelTransitionOpen; ///< Transition signal for opening the panel
105 QVBoxLayout *m_friendsPanelVBox; ///< Vertical layout inside the panel
106 QWidget *m_panelBase; ///< Widget for panel base
109 #endif // FRIENDLISTPANEL_H