Mercurial > trustbridge
comparison ui/certificateitemwidget.cpp @ 1234:ad4fc3649ffb
(issue146) Always draw certificate item buttons as unchecked
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 24 Sep 2014 16:25:27 +0200 |
parents | 6594e8e63a25 |
children | 265583011f24 |
comparison
equal
deleted
inserted
replaced
1233:7da9ec20eae4 | 1234:ad4fc3649ffb |
---|---|
9 | 9 |
10 #include <QHBoxLayout> | 10 #include <QHBoxLayout> |
11 #include <QDebug> | 11 #include <QDebug> |
12 #include <QStyleFactory> | 12 #include <QStyleFactory> |
13 #include <QToolButton> | 13 #include <QToolButton> |
14 #include <QSignalBlocker> | |
15 | |
16 void CheckLessToolBtn::paintEvent(QPaintEvent * pe) { | |
17 | |
18 /* Hack to always paint the button as if it were | |
19 * not checked. */ | |
20 bool oldchecked = isChecked(); | |
21 QIcon oldIcon = icon(); | |
22 QIcon tmpIcon; | |
23 if (isEnabled()) | |
24 tmpIcon = QIcon(oldIcon.pixmap(QSize(48, 48), QIcon::Normal, oldchecked ? QIcon::On : QIcon::Off)); | |
25 else { | |
26 tmpIcon = QIcon(oldIcon.pixmap(QSize(48, 48), QIcon::Disabled, oldchecked ? QIcon::On : QIcon::Off)); | |
27 } | |
28 QSignalBlocker blk(this); | |
29 setChecked(false); | |
30 setIcon(tmpIcon); | |
31 QToolButton::paintEvent(pe); | |
32 setIcon(oldIcon); | |
33 setChecked(oldchecked); | |
34 } | |
14 | 35 |
15 CertificateItemWidget::CertificateItemWidget(QWidget *parent, | 36 CertificateItemWidget::CertificateItemWidget(QWidget *parent, |
16 const Certificate &cert, | 37 const Certificate &cert, |
17 bool state, | 38 bool state, |
18 QToolButton *btn) : | 39 QToolButton *btn) : |
20 mButton(btn) | 41 mButton(btn) |
21 { | 42 { |
22 mCertificate = cert; | 43 mCertificate = cert; |
23 mOriginalState = state; | 44 mOriginalState = state; |
24 btn->setCheckable(true); | 45 btn->setCheckable(true); |
25 btn->setStyleSheet("QToolButton:Checked{" | 46 /* btn->setStyleSheet("QToolButton:Checked{" |
26 "border: 1px solid #8f8f91;" | 47 "border: 1px solid #8f8f91;" |
27 "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," | 48 "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," |
28 "stop: 0 #f6f7fa, stop: 1 #dadbde);" | 49 "stop: 0 #f6f7fa, stop: 1 #dadbde);" |
29 "}" | 50 "}" |
30 ); | 51 );*/ |
31 setState(state); | 52 setState(state); |
32 setupGUI(); | 53 setupGUI(); |
33 } | 54 } |
34 | 55 |
35 void CertificateItemWidget::setupGUI() | 56 void CertificateItemWidget::setupGUI() |