1 /* vi: set sw=4 ts=4:
2 *
3 * Copyright (C) 2001 - 2007 Christian Hohnstaedt.
4 *
5 * All rights reserved.
6 */
7
8 #include "clicklabel.h"
9
10 #include <QToolTip>
11 #include <QPalette>
12 #include <QColor>
13
mouseDoubleClickEvent(QMouseEvent * e)14 void DoubleClickLabel::mouseDoubleClickEvent(QMouseEvent * e)
15 {
16 QWidget::mouseDoubleClickEvent(e);
17 if (clicktext.isEmpty())
18 emit doubleClicked(text());
19 else
20 emit doubleClicked(clicktext);
21 }
22
setClickText(QString s)23 void DoubleClickLabel::setClickText(QString s)
24 {
25 clicktext = s;
26 }
27
ClickLabel(QWidget * parent)28 ClickLabel::ClickLabel(QWidget *parent)
29 :DoubleClickLabel(parent)
30 {
31 QFont fnt( font() );
32 fnt.setBold(true);
33 setFont( fnt );
34 setFrameShape( QLabel::Panel );
35 setFrameShadow( QLabel::Sunken );
36 setAlignment( Qt::AlignCenter );
37 setToolTip( tr("Double click for details") );
38
39 setAutoFillBackground(true);
40 QPalette pal = palette();
41 QColor col = QColor(0xff, 0xff, 0xff);
42 pal.setColor(QPalette::Normal, QPalette::Window, col );
43 pal.setColor(QPalette::Inactive, QPalette::Window, col );
44 setPalette( pal );
45 setTextFormat(Qt::PlainText);
46 }
47
setColor(const QColor & col)48 void ClickLabel::setColor(const QColor &col)
49 {
50 QPalette pal = palette();
51 pal.setColor(QPalette::Normal, QPalette::WindowText, col );
52 pal.setColor(QPalette::Inactive, QPalette::WindowText, col );
53 setPalette( pal );
54 }
55
setRed()56 void ClickLabel::setRed()
57 {
58 setColor( QColor( 192, 32, 32) );
59 }
60
setGreen()61 void ClickLabel::setGreen()
62 {
63 setColor( QColor( 32, 192, 32) );
64 }
65
disableToolTip()66 void ClickLabel::disableToolTip()
67 {
68 setToolTip(QString());
69 }
70
CopyLabel(QWidget * parent)71 CopyLabel::CopyLabel(QWidget *parent)
72 :DoubleClickLabel(parent)
73 {
74 setFrameStyle(QFrame::StyledPanel);
75 setTextFormat(Qt::PlainText);
76
77 #if QT_VERSION >= 0x040200
78 setTextInteractionFlags(
79 Qt::TextSelectableByMouse |
80 Qt::TextSelectableByKeyboard
81 );
82 #endif
83 }
84
85