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);
68 /*******************************************************************************
70 ******************************************************************************/
73 * @brief Signal for friend finding.
75 * @param coordinates longitude and latitude values
77 void findFriend(const QPointF &coordinates);
79 /*******************************************************************************
81 ******************************************************************************/
83 FriendListView *m_friendListView; ///< Friend list view
84 QVBoxLayout *m_friendsPanelVBox; ///< Vertical layout inside the panel
85 PanelSliderBar *m_friendsPanelSlidingBar; ///< Widget for sidebar tab item
87 QStateMachine *m_friendsPanelStateMachine; ///< State machine for sliding the panel
88 QState *m_friendsPanelStateClosed; ///< State of the closed panel
89 QState *m_friendsPanelStateOpened; ///< State of the opened panel
90 QSignalTransition *m_friendsPanelTransitionClose; ///< Transition signal for closing the panel
91 QSignalTransition *m_friendsPanelTransitionOpen; ///< Transition signal for opening the panel
94 #endif // FRIENDLISTPANEL_H