Polishing
[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 /**
33 * @brief List View class. Used for displaying List of friends
34 *
35 * @class ListViewScreen mainwindow.h "src/ui/mainwindow.h"
36 */
37 class ListViewScreen : public QWidget
38 {
39 Q_OBJECT
40 public:
41     /**
42     * @brief Constructor
43     *
44     * @param parent Parent
45     */
46     ListViewScreen(QWidget *parent = 0);
47     /**
48     * @brief Destructor
49     *
50     */
51     ~ListViewScreen();
52
53 /*******************************************************************************
54  * MEMBER FUNCTIONS AND SLOTS
55  ******************************************************************************/
56 public slots:
57     /**
58     * @brief Slot to open Location update dialog
59     */
60     void updateMessage();
61
62 /*******************************************************************************
63  * DATA MEMBERS
64  ******************************************************************************/
65 private:
66     QVBoxLayout *m_vbox;    ///< Holds the graphics view
67     InfoTab *m_personalInfo;    ///< Personal info tab
68     Pixmap *m_leftSideBar;
69     Pixmap *m_slidingLeftSideBar;
70     Pixmap *m_personalInfoBackGround;
71     Pixmap *m_arrowLeft;
72     Pixmap *m_arrowRight;
73     QGraphicsProxyWidget *m_widgetProxy; ///< Embeds InfoTab to graphics view
74     QAbstractTransition *m_trans1;    ///< Animation transition from hidden state to visible
75     QAbstractTransition *m_trans2;    ///< Animation transition from visible to hidden
76     QPropertyAnimation *m_anim1;    ///< Animation for infotab from hidden to visible
77     QPropertyAnimation *m_anim2;    ///< Animation for arrowbutton from hidden to visible
78     QPropertyAnimation *m_anim3;    ///< Animation for infotab from visible to hidden
79     QPropertyAnimation *m_anim4;    ///< Animation for arrowbutton from visible to hidden
80     QPropertyAnimation *m_anim5;    ///< Animation
81     QPropertyAnimation *m_anim6;    ///< Animation for arrowbutton from visible to hidden
82     QPropertyAnimation *m_anim7;
83     QPropertyAnimation *m_anim8;
84     QPropertyAnimation *m_anim9;
85     QPropertyAnimation *m_anim10;
86     QPropertyAnimation *m_anim11;
87     QPropertyAnimation *m_anim12;
88     QPropertyAnimation *m_anim13;
89     QPropertyAnimation *m_anim14;
90     UpdateLocationDialog *m_locationDialog; ///< Message dialog
91 };
92
93 #endif // LISTVIEWTAB_H