From 97ddf36df4656118cae247bdc88a59f9a287fcd0 Mon Sep 17 00:00:00 2001 From: "Aaron J. Seigo" Date: Wed, 24 Oct 2007 06:52:45 +0000 Subject: [PATCH] * emit pressed(true) when pressed * excuse the debuggin, but i need to figure out why events are getting eaten (again) by the icon class svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=728763 --- widgets/icon.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/widgets/icon.cpp b/widgets/icon.cpp index 19732ccdd..2c9b11851 100644 --- a/widgets/icon.cpp +++ b/widgets/icon.cpp @@ -915,18 +915,21 @@ bool Icon::isDown() void Icon::mousePressEvent(QGraphicsSceneMouseEvent *event) { + kDebug(); foreach (IconAction *action, d->cornerActions) { action->event(event->type(), event->pos()); } d->state = Private::PressedState; + emit pressed(true); - QGraphicsItem::mousePressEvent(event); + event->ignore(); update(); } void Icon::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { + kDebug(); bool inside = boundingRect().contains(event->pos()); Private::ButtonState was = d->state; @@ -952,7 +955,7 @@ void Icon::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) d->state = Private::NoState; } - QGraphicsItem::mouseReleaseEvent(event); + event->ignore(); update(); } @@ -964,7 +967,7 @@ void Icon::hoverEnterEvent(QGraphicsSceneHoverEvent *event) } d->state = Private::HoverState; - QGraphicsItem::hoverEnterEvent(event); + Widget::hoverEnterEvent(event); } void Icon::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) @@ -975,7 +978,7 @@ void Icon::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) } d->state = Private::NoState; - QGraphicsItem::hoverLeaveEvent(event); + Widget::hoverLeaveEvent(event); } void Icon::mouseMoveEvent(QGraphicsSceneMouseEvent *event) @@ -984,7 +987,7 @@ void Icon::mouseMoveEvent(QGraphicsSceneMouseEvent *event) d->state = Private::HoverState; } - QGraphicsItem::mouseMoveEvent(event); + Widget::mouseMoveEvent(event); } QSizeF Icon::sizeHint() const