author | hakan <hakan> | 2002-03-26 19:05:31 (UTC) |
---|---|---|
committer | hakan <hakan> | 2002-03-26 19:05:31 (UTC) |
commit | 78211642003f70797a5faa1767a5ab2f5f83606f (patch) (side-by-side diff) | |
tree | 703df6b1f8a98dbd00066ab3c21419b7f97e41b4 /core/pim/datebook/clickablelabel.cpp | |
parent | dbbbe1c0600422e4bd2d6a6aba271476f457ed97 (diff) | |
download | opie-78211642003f70797a5faa1767a5ab2f5f83606f.zip opie-78211642003f70797a5faa1767a5ab2f5f83606f.tar.gz opie-78211642003f70797a5faa1767a5ab2f5f83606f.tar.bz2 |
Added shortcut buttons to set the start time
Diffstat (limited to 'core/pim/datebook/clickablelabel.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/pim/datebook/clickablelabel.cpp | 71 |
1 files changed, 64 insertions, 7 deletions
diff --git a/core/pim/datebook/clickablelabel.cpp b/core/pim/datebook/clickablelabel.cpp index 6912c34..1dd0d15 100644 --- a/core/pim/datebook/clickablelabel.cpp +++ b/core/pim/datebook/clickablelabel.cpp @@ -1,3 +1,4 @@ #include "clickablelabel.h" +#include <stdio.h> ClickableLabel::ClickableLabel(QWidget* parent = 0, @@ -6,17 +7,36 @@ ClickableLabel::ClickableLabel(QWidget* parent = 0, QLabel(parent,name,fl) { - setFrameShape(NoFrame); + textInverted=false; + isToggle=false; + isDown=false; + showState(false); setFrameShadow(Sunken); } +void ClickableLabel::setToggleButton(bool t) { + isToggle=t; +} + void ClickableLabel::mousePressEvent( QMouseEvent *e ) { - setFrameShape(Panel); - repaint(); + if (isToggle && isDown) { + showState(false); + } else { + showState(true); + } } void ClickableLabel::mouseReleaseEvent( QMouseEvent *e ) { - setFrameShape(NoFrame); - repaint(); + if (rect().contains(e->pos()) && isToggle) isDown=!isDown; + + if (isToggle && isDown) { + showState(true); + } else { + showState(false); + } + if (rect().contains(e->pos())) { + if (isToggle) { + emit toggled(isDown); + } emit clicked(); } @@ -25,7 +45,44 @@ void ClickableLabel::mouseReleaseEvent( QMouseEvent *e ) { void ClickableLabel::mouseMoveEvent( QMouseEvent *e ) { if (rect().contains(e->pos())) { - setFrameShape(Panel); + if (isToggle && isDown) { + showState(false); } else { - setFrameShape(NoFrame); + showState(true); } + } else { + if (isToggle && isDown) { + showState(true); + } else { + showState(false); + } + } +} + +void ClickableLabel::showState(bool on) { + if (on) { + //setFrameShape(Panel); + setInverted(true); + setBackgroundMode(PaletteHighlight); + } else { + //setFrameShape(NoFrame); + setInverted(false); + setBackgroundMode(PaletteBackground); + } + repaint(); +} + +void ClickableLabel::setInverted(bool on) { + if ( (!textInverted && on) || (textInverted && !on) ) { + QPalette pal=palette(); + QColor col=pal.color(QPalette::Normal, QColorGroup::Foreground); + col.setRgb(255-col.red(),255-col.green(),255-col.blue()); + pal.setColor(QPalette::Normal, QColorGroup::Foreground, col); + setPalette(pal); + textInverted=!textInverted; + } +} + +void ClickableLabel::setOn(bool on) { + isDown=on; + showState(isDown); } |