From cb57d1df6804ab3739f96ba1881ffc8110e3caa9 Mon Sep 17 00:00:00 2001 From: harlekin Date: Mon, 11 Mar 2002 15:01:41 +0000 Subject: clickable labels by ardo --- (limited to 'core/pim') diff --git a/core/pim/today/clickablelabel.cpp b/core/pim/today/clickablelabel.cpp new file mode 100644 index 0000000..6912c34 --- a/dev/null +++ b/core/pim/today/clickablelabel.cpp @@ -0,0 +1,31 @@ +#include "clickablelabel.h" + +ClickableLabel::ClickableLabel(QWidget* parent = 0, + const char* name = 0, + WFlags fl = 0) : + QLabel(parent,name,fl) +{ + setFrameShape(NoFrame); + setFrameShadow(Sunken); +} + +void ClickableLabel::mousePressEvent( QMouseEvent *e ) { + setFrameShape(Panel); + repaint(); +} + +void ClickableLabel::mouseReleaseEvent( QMouseEvent *e ) { + setFrameShape(NoFrame); + repaint(); + if (rect().contains(e->pos())) { + emit clicked(); + } +} + +void ClickableLabel::mouseMoveEvent( QMouseEvent *e ) { + if (rect().contains(e->pos())) { + setFrameShape(Panel); + } else { + setFrameShape(NoFrame); + } +} diff --git a/core/pim/today/clickablelabel.h b/core/pim/today/clickablelabel.h new file mode 100644 index 0000000..b6d33ad --- a/dev/null +++ b/core/pim/today/clickablelabel.h @@ -0,0 +1,20 @@ +#ifndef CLICKABLELABEL +#define CLICKABLELABEL + +#include + +class ClickableLabel: public QLabel +{ + Q_OBJECT +public: + ClickableLabel(QWidget* parent = 0, const char* name = 0, + WFlags fl = 0); + protected: + void mousePressEvent( QMouseEvent *e ); + void mouseReleaseEvent( QMouseEvent *e ); + void mouseMoveEvent( QMouseEvent *e ); + signals: + void clicked(); +}; + +#endif -- cgit v0.9.0.2