Moved UpdateLocationDialog to be managed by MainWindow.
[situare] / src / ui / userinfopanel.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         Katri Kaikkonen - katri.kaikkonen@ixonos.com
7         Pekka Nissinen - pekka.nissinen@ixonos.com
8
9     Situare is free software; you can redistribute it and/or
10     modify it under the terms of the GNU General Public License
11     version 2 as published by the Free Software Foundation.
12
13     Situare is distributed in the hope that it will be useful,
14     but WITHOUT ANY WARRANTY; without even the implied warranty of
15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16     GNU General Public License for more details.
17
18     You should have received a copy of the GNU General Public License
19     along with Situare; if not, write to the Free Software
20     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
21     USA.
22  */
23
24 #ifndef USERPANEL_H
25 #define USERPANEL_H
26
27 #include "panelbase.h"
28 #include "user/user.h"
29
30 class UserInfo;
31
32 /**
33  * @brief Class for sliding user information panel
34  *
35  * @author Kaj Wallin - kaj.wallin (at) ixonos.com
36  * @author Katri Kaikkonen - katri.kaikkonen (at) ixonos.com
37  * @author Pekka Nissinen - pekka.nissinen (at) ixonos.com
38  */
39 class UserInfoPanel : public PanelBase
40 {
41     Q_OBJECT
42
43 public:
44     /**
45      * @brief Default constructor
46      *
47      * @param parent
48      */
49     UserInfoPanel(QWidget *parent = 0);
50
51 /*******************************************************************************
52  * MEMBER FUNCTIONS AND SLOTS
53  ******************************************************************************/
54 public slots:
55     /**
56      * @brief show / hide user information
57      *
58      * @param show true if userinfo should be shown
59      */
60     void showUserInfo(bool show);
61
62     /**
63      * @brief Slot to capture returning user data from situareService
64      *
65      * @param user
66      */
67     void userDataReceived(User *user);
68
69 /*******************************************************************************
70  * SIGNALS
71  ******************************************************************************/
72 signals:
73     /**
74      * @brief Signal for collapse user info
75      */
76     void collapse();
77
78     /**
79      * @brief Signal for finding user.
80      *
81      * @param coordinates user geo coordinates
82      */
83     void findUser(const GeoCoordinate &coordinates);
84
85     /**
86      * @brief Signal for refreshing user data.
87      */
88     void refreshUserData();
89
90     /**
91       * @brief Notify that update location message button was clicked
92       */
93     void updateLocationMessageButtonClicked();
94
95 /*******************************************************************************
96  * DATA MEMBERS
97  ******************************************************************************/
98 private:
99     UserInfo *m_userInfo; ///< Instance of the user info view
100 };
101 #endif // USERPANEL_H