2 Situare - A location system for Facebook
3 Copyright (C) 2010 Ixonos Plc. Authors:
5 Kaj Wallin - kaj.wallin@ixonos.com
6 Katri Kaikkonen - katri.kaikkonen@ixonos.com
7 Pekka Nissinen - pekka.nissinen@ixonos.com
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.
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.
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,
27 #include "panelbase.h"
28 #include "user/user.h"
33 * @brief Class for sliding user information panel
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
39 class UserInfoPanel : public PanelBase
45 * @brief Default constructor
49 UserInfoPanel(QWidget *parent = 0);
51 /*******************************************************************************
52 * MEMBER FUNCTIONS AND SLOTS
53 ******************************************************************************/
56 * @brief Populates popular tags list
58 * @param popularTags list of popular tags
60 void populatePopularTags(QHash<QString, QString> &popularTags);
63 * @brief show / hide user information
65 * @param show true if userinfo should be shown
67 void showUserInfo(bool show);
70 * @brief Slot to capture returning user data from situareService
74 void userDataReceived(User *user);
78 * @brief Sets user's image.
81 * @param image image pixmap
83 void setImage(const QString &id, const QPixmap &image);
85 void showTagsDialog();
88 /*******************************************************************************
90 ******************************************************************************/
93 * @brief Signal for adding tags.
95 * @param tags tags to add
97 void addTags(const QStringList &tags);
100 * @brief Signal for collapse user info
105 * @brief Signal for finding user.
107 * @param coordinates user geo coordinates
109 void findUser(const GeoCoordinate &coordinates);
112 * @brief Signal that used to inform user that his message/location update tp Situare server
114 * This signal is originally sended from UserInfo
116 * @param message message for notification
117 * @param modal true if modal notification otherwice false
119 void notificateUpdateFailing(const QString &message, bool modal);
122 * @brief Signal for refreshing user data.
124 void refreshUserData();
127 * @brief Signal for removing tags.
129 * @param tags tags to add
131 void removeTags(const QStringList &tags);
134 * @brief Signal for requesting popular tags
136 void requestPopularTags();
139 * @brief Signal for requesting reverseGeo from SituareEngine
141 void requestReverseGeo();
144 * @brief Signals, when address data is ready
146 * @param address Street address
148 void reverseGeoReady(const QString &address);
151 * @brief Signal Signal for requestLocationUpdate from SituareEngine via MainWindow class
153 * @param status Status message
154 * @param publish Publish on Facebook
156 void statusUpdate(const QString &status, const bool &publish);
159 * @brief Signals when updateLocationDialog's data must be cleared
161 void clearUpdateLocationDialogData();
164 /*******************************************************************************
166 ******************************************************************************/
168 UserInfo *m_userInfo; ///< Instance of the user info view
170 #endif // USERPANEL_H