From b07b3209fbeeee98b8d9c824cb790b50a8f98450 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Thu, 26 Nov 2020 17:59:34 +0100 Subject: [PATCH] Move the cert code inside CertificateTools Makes more sense --- generators/poppler/certificatetools.cpp | 24 ++++++++++++++-- generators/poppler/certificatetools.h | 3 ++ generators/poppler/conf/certsettingswidget.ui | 2 +- generators/poppler/generator_pdf.cpp | 28 ++----------------- 4 files changed, 27 insertions(+), 30 deletions(-) diff --git a/generators/poppler/certificatetools.cpp b/generators/poppler/certificatetools.cpp index 0156e4610..6357eceaf 100644 --- a/generators/poppler/certificatetools.cpp +++ b/generators/poppler/certificatetools.cpp @@ -10,7 +10,8 @@ #include "certificatetools.h" #include "certsettings.h" -#include +#include +#include #include @@ -23,12 +24,27 @@ CertificateTools::CertificateTools(QWidget *parent) : QWidget(parent) { - QHBoxLayout *hBoxLayout = new QHBoxLayout(this); + m_certsw.setupUi(this); + + KUrlRequester *pDlg = new KUrlRequester(); + pDlg->setObjectName(QStringLiteral("kcfg_DBCertificatePath")); + pDlg->setMode(KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly); + pDlg->setEnabled(false); + m_certsw.formLayout->setWidget(1, QFormLayout::FieldRole, pDlg); + + connect(m_certsw.customRadioButton, &QRadioButton::toggled, pDlg, &KUrlRequester::setEnabled); + + if (!CertificateSettings::useDefaultDB()) { + m_certsw.customRadioButton->setChecked(true); + m_certsw.defaultLabel->setVisible(false); + } + m_tree = new QTreeWidget(this); - hBoxLayout->addWidget(m_tree); m_tree->setHeaderLabels({i18nc("Name of the person to whom the cerficate was issued", "Issued to"), i18n("E-mail"), i18nc("Certificate expiration date", "Expiration date")}); m_tree->setRootIsDecorated(false); + m_certsw.certificatesPlaceholder->addWidget(m_tree); + connect(CertificateSettings::self(), &CertificateSettings::useDefaultDBChanged, this, &CertificateTools::warnRestartNeeded); connect(CertificateSettings::self(), &CertificateSettings::dBCertificatePathChanged, this, [this] { if (!CertificateSettings::useDefaultDB()) { @@ -47,6 +63,8 @@ bool CertificateTools::event(QEvent *e) new QTreeWidgetItem(m_tree, {cert.subjectInfo(Poppler::CertificateInfo::EntityInfoKey::CommonName), cert.subjectInfo(Poppler::CertificateInfo::EntityInfoKey::EmailAddress), cert.validityEnd().toString("yyyy-MM-dd")}); } + m_certsw.defaultLabel->setText(Poppler::getNSSDir()); + m_tree->resizeColumnToContents(1); m_tree->resizeColumnToContents(0); } diff --git a/generators/poppler/certificatetools.h b/generators/poppler/certificatetools.h index 1223085d3..3610e912c 100644 --- a/generators/poppler/certificatetools.h +++ b/generators/poppler/certificatetools.h @@ -12,6 +12,8 @@ #include +#include "ui_certsettingswidget.h" + class QTreeWidget; class CertificateTools : public QWidget @@ -28,6 +30,7 @@ private: QTreeWidget *m_tree; bool m_certificatesAsked = false; bool m_warnedAboutRestart = false; + Ui_DlgSignaturesBase m_certsw; }; #endif diff --git a/generators/poppler/conf/certsettingswidget.ui b/generators/poppler/conf/certsettingswidget.ui index c7a74ddd0..5b1fd8960 100644 --- a/generators/poppler/conf/certsettingswidget.ui +++ b/generators/poppler/conf/certsettingswidget.ui @@ -49,7 +49,7 @@ - TextLabel + diff --git a/generators/poppler/generator_pdf.cpp b/generators/poppler/generator_pdf.cpp index cfa735b7c..6f43a6cb1 100644 --- a/generators/poppler/generator_pdf.cpp +++ b/generators/poppler/generator_pdf.cpp @@ -39,8 +39,6 @@ #include #include #include -#include -#include #include #include @@ -59,7 +57,6 @@ #include "certificatetools.h" #include "certsettings.h" -#include "ui_certsettingswidget.h" #include @@ -1498,29 +1495,8 @@ void PDFGenerator::addPages(KConfigDialog *dlg) dlg->addPage(w, PDFSettings::self(), i18n("PDF"), QStringLiteral("application-pdf"), i18n("PDF Backend Configuration")); #ifdef HAVE_POPPLER_SIGNING - Ui_DlgSignaturesBase certsw; - QWidget *w2 = new QWidget(dlg); - certsw.setupUi(w2); - - CertificateTools *certTools = new CertificateTools(certsw.certificatesGroup); - certsw.certificatesPlaceholder->addWidget(certTools); - - KUrlRequester *pDlg = new KUrlRequester(); - pDlg->setObjectName(QStringLiteral("kcfg_DBCertificatePath")); - pDlg->setMode(KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly); - pDlg->setEnabled(false); - certsw.formLayout->setWidget(1, QFormLayout::FieldRole, pDlg); - - connect(certsw.customRadioButton, &QRadioButton::toggled, pDlg, &KUrlRequester::setEnabled); - - if (CertificateSettings::useDefaultDB()) { - certsw.defaultLabel->setText(Poppler::getNSSDir()); - } else { - certsw.customRadioButton->setChecked(true); - certsw.defaultLabel->setVisible(false); - } - - dlg->addPage(w2, CertificateSettings::self(), i18n("Certificates"), QStringLiteral("application-pkcs7-signature"), i18n("Digital Signature Certificates")); + CertificateTools *certTools = new CertificateTools(dlg); + dlg->addPage(certTools, CertificateSettings::self(), i18n("Certificates"), QStringLiteral("application-pkcs7-signature"), i18n("Digital Signature Certificates")); #endif }