Merge branch 'distance_scale'
[situare] / src / map / friendgroupitem.cpp
index 69a5248..e7acab4 100644 (file)
@@ -31,6 +31,7 @@
 #include "common.h"
 
 FriendGroupItem::FriendGroupItem(FriendLocationItem *item)
+    : m_clickEvent(false)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
@@ -105,19 +106,32 @@ void FriendGroupItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *o
                       Qt::AlignCenter, QString::number(m_friends.count()));
 }
 
+void FriendGroupItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    if ((abs(m_mousePressPosition.y() - event->pos().toPoint().y()) > FRIEND_ITEM_PRESS_HEIGHT) ||
+        (abs(m_mousePressPosition.x() - event->pos().toPoint().x()) > FRIEND_ITEM_PRESS_WIDTH)) {
+
+        m_clickEvent = false;
+    }
+}
+
 void FriendGroupItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    m_mousePressPosition = event->screenPos();
+    m_mousePressPosition = event->pos().toPoint();
+    m_clickEvent = true;
 }
 
 void FriendGroupItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
 {
+    Q_UNUSED(event);
+
     qDebug() << __PRETTY_FUNCTION__;
 
-    if ((abs(m_mousePressPosition.y() - event->screenPos().y()) <= FRIEND_ITEM_PRESS_HEIGHT) &&
-        (abs(m_mousePressPosition.x() - event->screenPos().x()) <= FRIEND_ITEM_PRESS_WIDTH)) {
+    if (m_clickEvent) {
 
         QList<QString> userIDs;