#include <QPainter>
#include <QRect>
#include <QGraphicsSceneMouseEvent>
+#include <QIcon>
#include "friendlocationitem.h"
#include "mapcommon.h"
{
qDebug() << __PRETTY_FUNCTION__;
- QPixmap pixmap(":/res/images/friend_group.png");
- setPixmap(pixmap);
+ m_image = QPixmap(":/res/images/friend_group.png");
+ QIcon icon;
+ icon.addPixmap(m_image);
+ m_highlightImage = icon.pixmap(m_image.size(), QIcon::Selected, QIcon::On);
+ setPixmap(m_image);
- setOffset(-pixmap.width()/2, -pixmap.height()/2);
+ setOffset(-m_image.width()/2, -m_image.height()/2);
setZValue(FRIEND_LOCATION_ICON_Z_LEVEL);
joinFriend(item);
{
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)) {
+ if (m_clickEvent) {
+ 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;
+ setPixmap(m_image);
+ m_clickEvent = false;
+ }
}
}
m_mousePressPosition = event->pos().toPoint();
m_clickEvent = true;
+ setPixmap(m_highlightImage);
}
void FriendGroupItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
qDebug() << __PRETTY_FUNCTION__;
if (m_clickEvent) {
-
+ setPixmap(m_image);
QList<QString> userIDs;
foreach (FriendLocationItem *item, m_friends)
QList<FriendLocationItem *> m_friends; ///< List of joined FriendLocationItem items
QPoint m_mousePressPosition; ///< Mouse press position
bool m_clickEvent; ///< Mouse click event flag
+ QPixmap m_image; ///< Normal item image
+ QPixmap m_highlightImage; ///< Highlighted item image
};
#endif // FRIENDGROUPITEM_H
#include <QDebug>
#include <QGraphicsSceneMouseEvent>
+#include <QIcon>
#include "friendlocationitem.h"
#include "mapcommon.h"
m_mousePressPosition = event->pos().toPoint();
m_clickEvent = true;
+ setPixmap(m_highlightImage);
}
void FriendLocationItem::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)) {
+ if (m_clickEvent) {
+ 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;
+ setPixmap(m_image);
+ m_clickEvent = false;
+ }
}
}
Q_UNUSED(event);
if (m_clickEvent) {
+ setPixmap(m_image);
QList<QString> userIDs;
userIDs.append(m_userId);
void FriendLocationItem::setProfileImage(const QPixmap image, const QUrl &url)
{
qDebug() << __PRETTY_FUNCTION__;
- setPixmap(image);
- setOffset(-image.width()/2, -image.height()/2);
+ m_image = image;
+ QIcon icon;
+ icon.addPixmap(image);
+ m_highlightImage = icon.pixmap(image.size(), QIcon::Selected, QIcon::On);
+ setPixmap(m_image);
+ setOffset(-m_image.width()/2, -m_image.height()/2);
m_profileImageUrl = url;
}
#include <QObject>
#include <QUrl>
+#include <QPixmap>
#include "baselocationitem.h"
QUrl m_profileImageUrl; ///< Friends Facebook profile image URL
QPoint m_mousePressPosition; ///< Mouse press position
bool m_clickEvent; ///< Flag to mark click event
+ QPixmap m_image; ///< Normal item image
+ QPixmap m_highlightImage; ///< Highlighted item image
};
#endif // FRIENDLOCATIONITEM_H