00001 /* 00002 Situare - A location system for Facebook 00003 Copyright (C) 2010 Ixonos Plc. Authors: 00004 00005 Ville Tiensuu - ville.tiensuu@ixonos.com 00006 Sami Rämö - sami.ramo@ixonos.com 00007 00008 Situare is free software; you can redistribute it and/or 00009 modify it under the terms of the GNU General Public License 00010 version 2 as published by the Free Software Foundation. 00011 00012 Situare is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with Situare; if not, write to the Free Software 00019 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 00020 USA. 00021 */ 00022 00023 #ifndef FRIENDLOCATIONITEM_H 00024 #define FRIENDLOCATIONITEM_H 00025 00026 00027 #include <QObject> 00028 #include <QUrl> 00029 00030 #include "baselocationitem.h" 00031 00039 class FriendLocationItem : public BaseLocationItem 00040 { 00041 Q_OBJECT 00042 00043 public: 00056 FriendLocationItem(const QString &userId, QObject *parent = 0); 00057 00058 /******************************************************************************* 00059 * MEMBER FUNCTIONS AND SLOTS 00060 ******************************************************************************/ 00061 public: 00067 bool isPartOfGroup() const; 00068 00074 QUrl profileImageUrl() const; 00075 00084 void setProfileImage(const QPixmap image, const QUrl &url); 00085 00091 void setPartOfGroup(bool value); 00092 00098 QString userId() const; 00099 00100 protected: 00109 void mouseMoveEvent(QGraphicsSceneMouseEvent *event); 00110 00116 void mousePressEvent(QGraphicsSceneMouseEvent *event); 00117 00123 void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); 00124 00125 /******************************************************************************* 00126 * SIGNALS 00127 ******************************************************************************/ 00128 signals: 00134 void locationItemClicked(const QList<QString> &userIDs); 00135 00136 /******************************************************************************* 00137 * DATA MEMBERS 00138 ******************************************************************************/ 00139 private: 00140 bool m_partOfGroup; 00141 const QString m_userId; 00142 QUrl m_profileImageUrl; 00143 QPoint m_mousePressPosition; 00144 bool m_clickEvent; 00145 }; 00146 00147 #endif // FRIENDLOCATIONITEM_H