annotate ui/certificateitemwidget.cpp @ 1288:265583011f24

(issue123) Add possibility to open native certificate dialog This is currently only implemented for windows.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 29 Sep 2014 13:12:58 +0200
parents ad4fc3649ffb
children d2b32c75efcf
rev   line source
582
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 *
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=2)
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY!
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 * See LICENSE.txt for details.
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 */
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 #include "certificateitemwidget.h"
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 #include <QHBoxLayout>
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 #include <QDebug>
701
31c3d2bc9880 (Issue22) Fix painting problems with fixed size in windows style.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 687
diff changeset
12 #include <QStyleFactory>
1106
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
13 #include <QToolButton>
1234
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
14 #include <QSignalBlocker>
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
15
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
16 void CheckLessToolBtn::paintEvent(QPaintEvent * pe) {
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
17
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
18 /* Hack to always paint the button as if it were
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
19 * not checked. */
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
20 bool oldchecked = isChecked();
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
21 QIcon oldIcon = icon();
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
22 QIcon tmpIcon;
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
23 if (isEnabled())
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
24 tmpIcon = QIcon(oldIcon.pixmap(QSize(48, 48), QIcon::Normal, oldchecked ? QIcon::On : QIcon::Off));
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
25 else {
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
26 tmpIcon = QIcon(oldIcon.pixmap(QSize(48, 48), QIcon::Disabled, oldchecked ? QIcon::On : QIcon::Off));
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
27 }
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
28 QSignalBlocker blk(this);
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
29 setChecked(false);
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
30 setIcon(tmpIcon);
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
31 QToolButton::paintEvent(pe);
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
32 setIcon(oldIcon);
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
33 setChecked(oldchecked);
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
34 }
582
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35
687
973a7ce19658 (issue24) Let the string for install / remove be set for each item individually
Andre Heinecke <andre.heinecke@intevation.de>
parents: 685
diff changeset
36 CertificateItemWidget::CertificateItemWidget(QWidget *parent,
973a7ce19658 (issue24) Let the string for install / remove be set for each item individually
Andre Heinecke <andre.heinecke@intevation.de>
parents: 685
diff changeset
37 const Certificate &cert,
973a7ce19658 (issue24) Let the string for install / remove be set for each item individually
Andre Heinecke <andre.heinecke@intevation.de>
parents: 685
diff changeset
38 bool state,
1106
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
39 QToolButton *btn) :
687
973a7ce19658 (issue24) Let the string for install / remove be set for each item individually
Andre Heinecke <andre.heinecke@intevation.de>
parents: 685
diff changeset
40 QWidget(parent),
1106
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
41 mButton(btn)
582
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 {
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 mCertificate = cert;
1109
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
44 mOriginalState = state;
1106
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
45 btn->setCheckable(true);
1234
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
46 /* btn->setStyleSheet("QToolButton:Checked{"
1109
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
47 "border: 1px solid #8f8f91;"
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
48 "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
49 "stop: 0 #f6f7fa, stop: 1 #dadbde);"
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
50 "}"
1234
ad4fc3649ffb (issue146) Always draw certificate item buttons as unchecked
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1109
diff changeset
51 );*/
1109
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
52 setState(state);
582
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 setupGUI();
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 }
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 void CertificateItemWidget::setupGUI()
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 {
743
a467204a35f5 Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 710
diff changeset
58 mLabel = new QLabel;
a467204a35f5 Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 710
diff changeset
59
786
4eff77851e76 Use minimum size for certificates to avoid scaling in small lists.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 780
diff changeset
60 setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
4eff77851e76 Use minimum size for certificates to avoid scaling in small lists.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 780
diff changeset
61
842
bd33c6585cd0 UI improvements (issue18, 60)
Emanuel Schuetze <emanuel@intevation.de>
parents: 839
diff changeset
62 const QString validity = tr("Validity: %1 until %2").arg(
743
a467204a35f5 Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 710
diff changeset
63 QLocale::system().toString(mCertificate.validFrom().date(), QLocale::ShortFormat)).arg(
a467204a35f5 Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 710
diff changeset
64 QLocale::system().toString(mCertificate.validTo().date(), QLocale::ShortFormat));
842
bd33c6585cd0 UI improvements (issue18, 60)
Emanuel Schuetze <emanuel@intevation.de>
parents: 839
diff changeset
65 const QString fpstring = tr("Fingerprint (SHA1): <code>%1</code>").arg(mCertificate.fingerprint());
1288
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
66 #ifdef Q_OS_WIN
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
67 mLabel->setText(QString::fromLatin1("<big><b><a href=showUi>%1</a></b></big><br/>%2<br/>%3<br/>%4").arg
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
68 (mCertificate.subjectCN()).arg(mCertificate.subjectO()).arg(validity).arg
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
69 (fpstring));
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
70 #else
842
bd33c6585cd0 UI improvements (issue18, 60)
Emanuel Schuetze <emanuel@intevation.de>
parents: 839
diff changeset
71 mLabel->setText(QString::fromLatin1("<big><b>%1</b></big><br/>%2<br/>%3<br/>%4").arg
743
a467204a35f5 Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 710
diff changeset
72 (mCertificate.subjectCN()).arg(mCertificate.subjectO()).arg(validity).arg
a467204a35f5 Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 710
diff changeset
73 (fpstring));
1288
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
74 #endif
743
a467204a35f5 Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 710
diff changeset
75 mLabel->setTextFormat(Qt::RichText);
701
31c3d2bc9880 (Issue22) Fix painting problems with fixed size in windows style.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 687
diff changeset
76
842
bd33c6585cd0 UI improvements (issue18, 60)
Emanuel Schuetze <emanuel@intevation.de>
parents: 839
diff changeset
77 mLabel->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
780
9f13c00a2647 Make certificate text selectable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 744
diff changeset
78
9f13c00a2647 Make certificate text selectable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 744
diff changeset
79 mLabel->setTextInteractionFlags(
1288
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
80 Qt::LinksAccessibleByMouse |
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
81 Qt::LinksAccessibleByKeyboard |
780
9f13c00a2647 Make certificate text selectable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 744
diff changeset
82 Qt::TextSelectableByMouse |
9f13c00a2647 Make certificate text selectable
Andre Heinecke <andre.heinecke@intevation.de>
parents: 744
diff changeset
83 Qt::TextSelectableByKeyboard);
1288
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
84 connect(mLabel, SIGNAL(linkActivated(const QString&)), this, SLOT(showCertDlg()));
1106
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
85 mButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
86 connect(mButton, SIGNAL(toggled (bool)),
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
87 this, SLOT(currentStateChanged(bool)));
582
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88
638
9d806f140bd5 Added state and editable flag to certificate list items.
Raimund Renkert <rrenkert@intevation.de>
parents: 627
diff changeset
89 QHBoxLayout *layout = new QHBoxLayout;
1106
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
90 layout->addWidget(mButton);
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
91 mButton->setFixedSize(64, 64);
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
92 mButton->setIconSize(QSize(48, 48));
582
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 layout->addWidget(mLabel);
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 this->setLayout(layout);
88c9bdc74175 New widgets to display certificates in lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 }
627
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
96
1288
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
97 void CertificateItemWidget::showCertDlg()
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
98 {
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
99 /* This is a totally evil cast but legitimate on Windows
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
100 * HANDLES are only 32 bit even on Windows 64 bit */
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
101 qDebug() << "Showing native ui: " << mCertificate.showNativeUI((void*)effectiveWinId());
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
102 return;
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
103 }
265583011f24 (issue123) Add possibility to open native certificate dialog
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1234
diff changeset
104
627
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
105 bool CertificateItemWidget::state()
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
106 {
1106
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
107 if (!mButton->isEnabled()) {
685
248d4f24e618 (Issue 29) Uneditable items are always selected
Andre Heinecke <andre.heinecke@intevation.de>
parents: 659
diff changeset
108 return true;
248d4f24e618 (Issue 29) Uneditable items are always selected
Andre Heinecke <andre.heinecke@intevation.de>
parents: 659
diff changeset
109 }
701
31c3d2bc9880 (Issue22) Fix painting problems with fixed size in windows style.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 687
diff changeset
110
1109
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
111 return !mButton->isChecked();
627
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
112 }
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
113
638
9d806f140bd5 Added state and editable flag to certificate list items.
Raimund Renkert <rrenkert@intevation.de>
parents: 627
diff changeset
114 void CertificateItemWidget::setState(bool state)
9d806f140bd5 Added state and editable flag to certificate list items.
Raimund Renkert <rrenkert@intevation.de>
parents: 627
diff changeset
115 {
1109
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
116 /* The internal state we get here is inverted for Ui reasons the logic
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
117 * is if a certificate is selected for installation the button
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
118 * is disabled (as this is the default) Only those that are
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
119 * unselected have the enabled button. */
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
120 mButton->blockSignals(true); // code did this and not the user
1106
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
121 mButton->setChecked(!state);
1109
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
122 mButton->blockSignals(false);
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
123 if (mButton->isEnabled()) {
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
124 mButton->setToolTip(mButton->property(!state ? "ToolTip_On" :
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
125 "ToolTip_Off").toString());
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
126 }
638
9d806f140bd5 Added state and editable flag to certificate list items.
Raimund Renkert <rrenkert@intevation.de>
parents: 627
diff changeset
127 }
9d806f140bd5 Added state and editable flag to certificate list items.
Raimund Renkert <rrenkert@intevation.de>
parents: 627
diff changeset
128
1108
9bb9932bb819 Revert commit 1101 the inactive manual changes were a bad idea
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1106
diff changeset
129 Certificate CertificateItemWidget::certificate()
627
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
130 {
1108
9bb9932bb819 Revert commit 1101 the inactive manual changes were a bad idea
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1106
diff changeset
131 return mCertificate;
627
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
132 }
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
133
1106
6f7b7d88f048 (issue115) Rework CertificateListWidgets to have a ToolButton instead of a combobox
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1101
diff changeset
134 void CertificateItemWidget::currentStateChanged(bool state)
627
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
135 {
1109
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
136 mButton->setToolTip(mButton->property(state ? "ToolTip_On" :
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
137 "ToolTip_Off").toString());
6594e8e63a25 (issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents: 1108
diff changeset
138 emit stateChanged(state, mCertificate);
627
566ee111e331 Added state to certificate list item and updated certificate list widget.
Raimund Renkert <rrenkert@intevation.de>
parents: 582
diff changeset
139 }

http://wald.intevation.org/projects/trustbridge/