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