User certificate storage

This commit is contained in:
Jakub Melka
2020-06-28 18:55:09 +02:00
parent 49a2af275f
commit 6fb32613f3
8 changed files with 260 additions and 10 deletions

View File

@ -23,6 +23,8 @@
#include <QDialog>
class QListWidgetItem;
class QNetworkReply;
class QNetworkAccessManager;
namespace Ui
{
@ -47,18 +49,21 @@ public:
/// \param settings Viewer settings
/// \param cmsSettings Color management system settings
/// \param otherSettings Other settings
/// \param certificateStore Certificate store
/// \param actions Actions
/// \param cmsManager CMS manager
/// \param parent Parent widget
explicit PDFViewerSettingsDialog(const PDFViewerSettings::Settings& settings,
const pdf::PDFCMSSettings& cmsSettings,
const OtherSettings& otherSettings,
const pdf::PDFCertificateStore& certificateStore,
QList<QAction*> actions,
pdf::PDFCMSManager* cmsManager,
QWidget* parent);
virtual ~PDFViewerSettingsDialog() override;
virtual void accept() override;
virtual void reject() override;
enum Page : int
{
@ -78,20 +83,32 @@ public:
const PDFViewerSettings::Settings& getSettings() const { return m_settings; }
const pdf::PDFCMSSettings& getCMSSettings() const { return m_cmsSettings; }
const OtherSettings& getOtherSettings() const { return m_otherSettings; }
const pdf::PDFCertificateStore& getCertificateStore() const { return m_certificateStore; }
private slots:
void on_optionsPagesWidget_currentItemChanged(QListWidgetItem* current, QListWidgetItem* previous);
void on_cmsProfileDirectoryButton_clicked();
void on_trustedCertificateStoreDownloadEUTLButton_clicked();
void on_removeCertificateButton_clicked();
private:
void loadData();
void saveData();
void updateTrustedCertificatesTable();
void updateTrustedCertificatesTableActions();
void loadActionShortcutsTable();
bool saveActionShortcutsTable();
void setSpeechEngine(const QString& engine);
/// Returns true, if dialog can be closed. If not, then message is displayed
/// and false is returned.
bool canCloseDialog();
Ui::PDFViewerSettingsDialog* ui;
PDFViewerSettings::Settings m_settings;
pdf::PDFCMSSettings m_cmsSettings;
@ -100,6 +117,9 @@ private:
bool m_isLoadingData;
QStringList m_textToSpeechEngines;
QString m_currentSpeechEngine;
pdf::PDFCertificateStore m_certificateStore;
QNetworkAccessManager* m_networkAccessManager;
QNetworkReply* m_downloadCertificatesFromEUTLReply;
};
} // namespace pdfviewer