Mercurial > trustbridge
comparison 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 |
comparison
equal
deleted
inserted
replaced
1287:d3d66d43365f | 1288:265583011f24 |
---|---|
61 | 61 |
62 const QString validity = tr("Validity: %1 until %2").arg( | 62 const QString validity = tr("Validity: %1 until %2").arg( |
63 QLocale::system().toString(mCertificate.validFrom().date(), QLocale::ShortFormat)).arg( | 63 QLocale::system().toString(mCertificate.validFrom().date(), QLocale::ShortFormat)).arg( |
64 QLocale::system().toString(mCertificate.validTo().date(), QLocale::ShortFormat)); | 64 QLocale::system().toString(mCertificate.validTo().date(), QLocale::ShortFormat)); |
65 const QString fpstring = tr("Fingerprint (SHA1): <code>%1</code>").arg(mCertificate.fingerprint()); | 65 const QString fpstring = tr("Fingerprint (SHA1): <code>%1</code>").arg(mCertificate.fingerprint()); |
66 #ifdef Q_OS_WIN | |
67 mLabel->setText(QString::fromLatin1("<big><b><a href=showUi>%1</a></b></big><br/>%2<br/>%3<br/>%4").arg | |
68 (mCertificate.subjectCN()).arg(mCertificate.subjectO()).arg(validity).arg | |
69 (fpstring)); | |
70 #else | |
66 mLabel->setText(QString::fromLatin1("<big><b>%1</b></big><br/>%2<br/>%3<br/>%4").arg | 71 mLabel->setText(QString::fromLatin1("<big><b>%1</b></big><br/>%2<br/>%3<br/>%4").arg |
67 (mCertificate.subjectCN()).arg(mCertificate.subjectO()).arg(validity).arg | 72 (mCertificate.subjectCN()).arg(mCertificate.subjectO()).arg(validity).arg |
68 (fpstring)); | 73 (fpstring)); |
74 #endif | |
69 mLabel->setTextFormat(Qt::RichText); | 75 mLabel->setTextFormat(Qt::RichText); |
70 | 76 |
71 mLabel->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); | 77 mLabel->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); |
72 | 78 |
73 mLabel->setTextInteractionFlags( | 79 mLabel->setTextInteractionFlags( |
80 Qt::LinksAccessibleByMouse | | |
81 Qt::LinksAccessibleByKeyboard | | |
74 Qt::TextSelectableByMouse | | 82 Qt::TextSelectableByMouse | |
75 Qt::TextSelectableByKeyboard); | 83 Qt::TextSelectableByKeyboard); |
84 connect(mLabel, SIGNAL(linkActivated(const QString&)), this, SLOT(showCertDlg())); | |
76 mButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); | 85 mButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); |
77 connect(mButton, SIGNAL(toggled (bool)), | 86 connect(mButton, SIGNAL(toggled (bool)), |
78 this, SLOT(currentStateChanged(bool))); | 87 this, SLOT(currentStateChanged(bool))); |
79 | 88 |
80 QHBoxLayout *layout = new QHBoxLayout; | 89 QHBoxLayout *layout = new QHBoxLayout; |
81 layout->addWidget(mButton); | 90 layout->addWidget(mButton); |
82 mButton->setFixedSize(64, 64); | 91 mButton->setFixedSize(64, 64); |
83 mButton->setIconSize(QSize(48, 48)); | 92 mButton->setIconSize(QSize(48, 48)); |
84 layout->addWidget(mLabel); | 93 layout->addWidget(mLabel); |
85 this->setLayout(layout); | 94 this->setLayout(layout); |
95 } | |
96 | |
97 void CertificateItemWidget::showCertDlg() | |
98 { | |
99 /* This is a totally evil cast but legitimate on Windows | |
100 * HANDLES are only 32 bit even on Windows 64 bit */ | |
101 qDebug() << "Showing native ui: " << mCertificate.showNativeUI((void*)effectiveWinId()); | |
102 return; | |
86 } | 103 } |
87 | 104 |
88 bool CertificateItemWidget::state() | 105 bool CertificateItemWidget::state() |
89 { | 106 { |
90 if (!mButton->isEnabled()) { | 107 if (!mButton->isEnabled()) { |