From 9ed5641257e403f7b576f3fc933d6a44894a96b7 Mon Sep 17 00:00:00 2001 From: Davide Bettio Date: Mon, 20 Oct 2008 18:26:25 +0000 Subject: [PATCH] Added click signal to SvgWidget. svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=874074 --- widgets/svgwidget.cpp | 10 ++++++++++ widgets/svgwidget.h | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/widgets/svgwidget.cpp b/widgets/svgwidget.cpp index d2d576721..09600d6cc 100644 --- a/widgets/svgwidget.cpp +++ b/widgets/svgwidget.cpp @@ -20,6 +20,7 @@ #include "svgwidget.h" #include +#include #include "svg.h" @@ -54,6 +55,15 @@ SvgWidget::~SvgWidget() delete d; } +void SvgWidget::mouseReleaseEvent ( QGraphicsSceneMouseEvent * event ) +{ + if (receivers(SIGNAL(clicked(Qt::MouseButton)))){ + emit clicked(event->button()); + }else{ + event->accept(); + } +} + void SvgWidget::setSvg(Svg *svg) { d->svg = svg; diff --git a/widgets/svgwidget.h b/widgets/svgwidget.h index 55e287166..e3ba07f91 100644 --- a/widgets/svgwidget.h +++ b/widgets/svgwidget.h @@ -20,7 +20,6 @@ #ifndef PLASMA_GRAPHICSSVGITEM_H #define PLASMA_GRAPHICSSVGITEM_H -#include #include #include @@ -37,18 +36,26 @@ class PLASMA_EXPORT SvgWidget : public QGraphicsWidget { Q_OBJECT + Q_PROPERTY(Svg *svg READ svg WRITE setSvg) + Q_PROPERTY(QString elementID READ elementID WRITE setElementID) + public: SvgWidget(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); SvgWidget(Svg *svg, const QString & elementID = QString(), QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); virtual ~SvgWidget(); + virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent * event ); + void setSvg(Svg *svg); Svg *svg() const; void setElementID(const QString &elementID); QString elementID() const; + signals: + void clicked(Qt::MouseButton); + protected: void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);