mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2025-06-05 21:59:17 +02:00
Issue #55: Refactoring of certificates
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "pdfwidgetutils.h"
|
||||
#include "pdfsecurityhandler.h"
|
||||
#include "pdfcertificatemanager.h"
|
||||
#include "pdfcertificatelisthelper.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
|
||||
@@ -84,6 +85,8 @@ PDFEncryptionSettingsDialog::PDFEncryptionSettingsDialog(QByteArray documentId,
|
||||
m_checkBoxToPermission[ui->permAssembleCheckBox] = pdf::PDFSecurityHandler::Permission::Assemble;
|
||||
m_checkBoxToPermission[ui->permPrintHighResolutionCheckBox] = pdf::PDFSecurityHandler::Permission::PrintHighResolution;
|
||||
|
||||
pdf::PDFCertificateListHelper::initComboBox(ui->certificateComboBox);
|
||||
|
||||
updateCertificates();
|
||||
updateUi();
|
||||
updatePasswordScore();
|
||||
@@ -194,17 +197,8 @@ void PDFEncryptionSettingsDialog::updateUi()
|
||||
|
||||
void PDFEncryptionSettingsDialog::updateCertificates()
|
||||
{
|
||||
QFileInfoList certificates = pdf::PDFCertificateManager::getCertificates();
|
||||
|
||||
QVariant currentCertificate = ui->certificateComboBox->currentData();
|
||||
|
||||
ui->certificateComboBox->clear();
|
||||
for (const QFileInfo& certificateItem : certificates)
|
||||
{
|
||||
ui->certificateComboBox->addItem(certificateItem.fileName(), certificateItem.absoluteFilePath());
|
||||
}
|
||||
|
||||
ui->certificateComboBox->setCurrentIndex(ui->certificateComboBox->findData(currentCertificate));
|
||||
m_certificates = pdf::PDFCertificateManager::getCertificates();
|
||||
pdf::PDFCertificateListHelper::fillComboBox(ui->certificateComboBox, m_certificates);
|
||||
}
|
||||
|
||||
void PDFEncryptionSettingsDialog::updatePasswordScore()
|
||||
@@ -237,7 +231,12 @@ void PDFEncryptionSettingsDialog::accept()
|
||||
settings.userPassword = ui->userPasswordEdit->text();
|
||||
settings.ownerPassword = ui->ownerPasswordEdit->text();
|
||||
settings.permissions = 0;
|
||||
settings.certificateFileName = ui->certificateComboBox->currentData().toString();
|
||||
|
||||
const int currentCertificateIndex = ui->certificateComboBox->currentIndex();
|
||||
if (currentCertificateIndex >= 0 && currentCertificateIndex < m_certificates.size())
|
||||
{
|
||||
settings.certificate = m_certificates.at(currentCertificateIndex);
|
||||
}
|
||||
|
||||
for (auto item : m_checkBoxToPermission)
|
||||
{
|
||||
|
@@ -20,6 +20,7 @@
|
||||
|
||||
#include "pdfviewerglobal.h"
|
||||
#include "pdfsecurityhandler.h"
|
||||
#include "pdfcertificatestore.h"
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
@@ -61,6 +62,7 @@ private:
|
||||
PDFEncryptionStrengthHintWidget* m_userPasswordStrengthHintWidget;
|
||||
PDFEncryptionStrengthHintWidget* m_ownerPasswordStrengthHintWidget;
|
||||
PDFEncryptionStrengthHintWidget* m_algorithmHintWidget;
|
||||
pdf::PDFCertificateEntries m_certificates;
|
||||
};
|
||||
|
||||
} // namespace pdfviewer
|
||||
|
@@ -767,7 +767,7 @@ void PDFSidebarWidget::onSignatureCustomContextMenuRequested(const QPoint& pos)
|
||||
{
|
||||
if (QMessageBox::question(this, tr("Add to Trusted Certificate Store"), tr("Are you sure want to add '%1' to the trusted certificate store?").arg(info.getName(pdf::PDFCertificateInfo::CommonName))) == QMessageBox::Yes)
|
||||
{
|
||||
if (!m_certificateStore->add(pdf::PDFCertificateStore::EntryType::User, info))
|
||||
if (!m_certificateStore->add(pdf::PDFCertificateEntry::EntryType::User, info))
|
||||
{
|
||||
QMessageBox::critical(this, tr("Trusted Certificate Store Error"), tr("Failed to add certificate to the trusted certificate store."));
|
||||
}
|
||||
|
@@ -675,7 +675,7 @@ void PDFViewerSettingsDialog::updateTrustedCertificatesTable()
|
||||
ui->trustedCertificateStoreTableWidget->setUpdatesEnabled(false);
|
||||
ui->trustedCertificateStoreTableWidget->clear();
|
||||
|
||||
const pdf::PDFCertificateStore::CertificateEntries& certificates = m_certificateStore.getCertificates();
|
||||
const pdf::PDFCertificateEntries& certificates = m_certificateStore.getCertificates();
|
||||
ui->trustedCertificateStoreTableWidget->setRowCount(int(certificates.size()));
|
||||
ui->trustedCertificateStoreTableWidget->setColumnCount(5);
|
||||
ui->trustedCertificateStoreTableWidget->verticalHeader()->setVisible(true);
|
||||
@@ -688,15 +688,11 @@ void PDFViewerSettingsDialog::updateTrustedCertificatesTable()
|
||||
QString type;
|
||||
switch (certificates[i].type)
|
||||
{
|
||||
case pdf::PDFCertificateStore::EntryType::User:
|
||||
case pdf::PDFCertificateEntry::EntryType::User:
|
||||
type = tr("User");
|
||||
break;
|
||||
|
||||
case pdf::PDFCertificateStore::EntryType::EUTL:
|
||||
type = tr("EUTL");
|
||||
break;
|
||||
|
||||
case pdf::PDFCertificateStore::EntryType::System:
|
||||
case pdf::PDFCertificateEntry::EntryType::System:
|
||||
type = tr("System");
|
||||
break;
|
||||
|
||||
@@ -920,8 +916,8 @@ void PDFViewerSettingsDialog::on_removeCertificateButton_clicked()
|
||||
rows.insert(index.row());
|
||||
}
|
||||
|
||||
pdf::PDFCertificateStore::CertificateEntries newEntries;
|
||||
const pdf::PDFCertificateStore::CertificateEntries& certificates = m_certificateStore.getCertificates();
|
||||
pdf::PDFCertificateEntries newEntries;
|
||||
const pdf::PDFCertificateEntries& certificates = m_certificateStore.getCertificates();
|
||||
for (int i = 0; i < int(certificates.size()); ++i)
|
||||
{
|
||||
if (!rows.count(i))
|
||||
|
Reference in New Issue
Block a user