diff --git a/widget/maskablepixmapwidget.cpp b/widget/maskablepixmapwidget.cpp index 9257416fc..bc47f1154 100644 --- a/widget/maskablepixmapwidget.cpp +++ b/widget/maskablepixmapwidget.cpp @@ -20,11 +20,22 @@ MaskablePixmapWidget::MaskablePixmapWidget(QWidget *parent, QSize size, QString maskName, QColor background) : QWidget(parent) , backgroundColor(background) + , clickable(false) { setFixedSize(size); mask = QPixmap(maskName).scaled(size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); } +void MaskablePixmapWidget::setClickable(bool clickable) +{ + this->clickable = clickable; + + if (clickable) + setCursor(Qt::PointingHandCursor); + else + unsetCursor(); +} + void MaskablePixmapWidget::setPixmap(const QPixmap &pmap) { pixmap = pmap.scaled(width(), height(), Qt::KeepAspectRatio, Qt::SmoothTransformation); @@ -56,5 +67,6 @@ void MaskablePixmapWidget::paintEvent(QPaintEvent *) void MaskablePixmapWidget::mousePressEvent(QMouseEvent*) { - emit clicked(); + if(clickable) + emit clicked(); } diff --git a/widget/maskablepixmapwidget.h b/widget/maskablepixmapwidget.h index 72ae39b42..c4601d227 100644 --- a/widget/maskablepixmapwidget.h +++ b/widget/maskablepixmapwidget.h @@ -25,6 +25,7 @@ class MaskablePixmapWidget : public QWidget public: MaskablePixmapWidget(QWidget *parent, QSize size, QString maskName, QColor background = Qt::white); + void setClickable(bool clickable); void setPixmap(const QPixmap &pmap); QPixmap getPixmap() const; @@ -41,6 +42,7 @@ private: QSize size; QString maskName; QColor backgroundColor; + bool clickable; }; #endif // MASKABLEPIXMAPWIDGET_H