Added toggleProgressInidicator to engine.cpp.
[situare] / src / ui / listviewscreen.h
1  /*
2     Situare - A location system for Facebook
3     Copyright (C) 2010  Ixonos Plc. Authors:
4
5        Kaj Wallin - kaj.wallin@ixonos.com
6        Jukka Saastamoinen - jukka.saastamoinen@ixonos.com
7
8     Situare is free software; you can redistribute it and/or
9     modify it under the terms of the GNU General Public License
10     version 2 as published by the Free Software Foundation.
11
12     Situare is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16
17     You should have received a copy of the GNU General Public License
18     along with Situare; if not, write to the Free Software
19     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
20     USA.
21  */
22
23
24 #ifndef LISTVIEWTAB_H
25 #define LISTVIEWTAB_H
26
27 #include <QtGui>
28 #include "infotab.h"
29 #include "pixmap.h"
30 #include "updatelocation/updatelocationdialog.h"
31
32 class FriendListView;
33 class User;
34
35 /**
36 * @brief List View class. Used for displaying List of friends
37 *
38 * @class ListViewScreen mainwindow.h "src/ui/mainwindow.h"
39 */
40 class ListViewScreen : public QWidget
41 {
42 Q_OBJECT
43 public:
44     /**
45     * @brief Constructor
46     *
47     * @param parent Parent
48     */
49     ListViewScreen(QWidget *parent = 0);
50     /**
51     * @brief Destructor
52     *
53     */
54     ~ListViewScreen();
55
56 /*******************************************************************************
57  * MEMBER FUNCTIONS AND SLOTS
58  ******************************************************************************/
59 public slots:
60     void userDataReceived(User *user);
61
62     void friendInfoReceived(QList<User *> &friendList);
63
64 signals:
65     /**
66     * @brief Forwarding signal from InfoTab to parent to open update dialog
67     */
68     void launchUpdateDialog();
69     /**
70     * @brief  Forwarding signal from InfoTab to parent to update friends list data
71     */
72     void updateFriendsData();
73
74 /*******************************************************************************
75  * DATA MEMBERS
76  ******************************************************************************/
77 private:
78     InfoTab *m_personalInfo;    ///< Personal info tab
79     QVBoxLayout *m_vbox;    ///< Holds the graphics view
80     Pixmap *m_arrowbutton;    ///< Button which reveals/hides the info tab when pressed
81     Pixmap *m_leftSideBar;
82     Pixmap *m_slidingLeftSideBar;
83     Pixmap *m_personalInfoBackGround;
84     Pixmap *m_arrowLeft;
85     Pixmap *m_arrowRight;
86     QGraphicsProxyWidget *m_widgetProxy; ///< Embeds InfoTab to graphics view
87     QAbstractTransition *m_trans1;    ///< Animation transition from hidden state to visible
88     QAbstractTransition *m_trans2;    ///< Animation transition from visible to hidden
89     QPropertyAnimation *m_anim1;    ///< Animation for infotab from hidden to visible
90     QPropertyAnimation *m_anim2;    ///< Animation for arrowbutton from hidden to visible
91     QPropertyAnimation *m_anim3;    ///< Animation for infotab from visible to hidden
92     QPropertyAnimation *m_anim4;    ///< Animation for arrowbutton from visible to hidden
93     QPropertyAnimation *m_anim5;    ///< Animation
94     QPropertyAnimation *m_anim6;    ///< Animation for arrowbutton from visible to hidden
95     QPropertyAnimation *m_anim7;
96     QPropertyAnimation *m_anim8;
97     QPropertyAnimation *m_anim9;
98     QPropertyAnimation *m_anim10;
99     QPropertyAnimation *m_anim11;
100     QPropertyAnimation *m_anim12;
101     QPropertyAnimation *m_anim13;
102     QPropertyAnimation *m_anim14;
103     UpdateLocationDialog *m_locationDialog; ///< Message dialog
104
105     FriendListView *m_friendListView;   ///< Friend list view
106 };
107
108 #endif // LISTVIEWTAB_H