2 Situare - A location system for Facebook
3 Copyright (C) 2010 Ixonos Plc. Authors:
5 Ville Tiensuu - ville.tiensuu@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 FRIENDLOCATIONITEM_H
23 #define FRIENDLOCATIONITEM_H
29 #include "baselocationitem.h"
32 * @brief Class that shows friends location icons on the map
34 * @class FriendLocationItem friendlocationitem.h "map/friendlocationitem.h"
35 * @author Ville Tiensuu.
37 class FriendLocationItem : public BaseLocationItem
44 * @brief Constructor of FriendLocationItem.
45 * Sets position to specified location.
46 * Loads and sets default pixmap that is show on the map.
47 * Sets default Z-value.
48 * Sets offset so that achor of the picture is at the origin. this feature is
49 * needed to center icon on the middle of the location.
50 * Sets item to ignore transformations. this feature is needed to make icon on the map
53 * @param icon Friends Facebook profile picture, friendsLocation Position in QPoinF, parent
54 * @param friendsLocation Location of friend
55 * @param parent Parent
57 FriendLocationItem(const QPixmap &icon, const QPointF &friendsLocation, QObject *parent = 0);
59 /*******************************************************************************
60 * MEMBER FUNCTIONS AND SLOTS
61 ******************************************************************************/
65 * @brief getter for friends profile image URL
67 * @return QUrl friends profile images URL
69 QUrl profileImageUrl() const;
72 * @brief sets profile image URL for friend
74 * @param url frieds profile image URL
76 void setProfileImageUrl(const QUrl &url);
79 * @brief sets name for friend.
81 * @param userId friends user identity
83 void setUserId(const QString &userId);
86 * @brief getter for m_userId
88 * @return QString friends user identity
90 QString userId() const;
95 * @brief method that detects when friend icon is clicked
97 * @param event detects the mouse click (or touch in Maemo)
99 void mousePressEvent(QGraphicsSceneMouseEvent *event);
101 /*******************************************************************************
103 ******************************************************************************/
107 * @brief signal is emitted when friends icon is clicked on the map
109 * @param m_userId friends user identity
111 void iconClicked(QString m_userId);
113 /*******************************************************************************
115 ******************************************************************************/
117 QString m_userId; ///< Friends user ID
118 QUrl m_profileImageUrl; ///< Friends Facebook profile image URL
121 #endif // FRIENDLOCATIONITEM_H