File indexing completed on 2024-05-12 16:06:47

0001 /*
0002     SPDX-FileCopyrightText: 2019 Bubli <Katarina.Behrens@cib.de>
0003     SPDX-FileCopyrightText: 2020 Albert Astals Cid <albert.astals.cid@kdab.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef PDFSETTINGSWIDGET_H
0009 #define PDFSETTINGSWIDGET_H
0010 
0011 #include <QWidget>
0012 
0013 #include "ui_pdfsettingswidget.h"
0014 #include <poppler-form.h>
0015 #include <poppler-version.h>
0016 
0017 #define POPPLER_VERSION_MACRO ((POPPLER_VERSION_MAJOR << 16) | (POPPLER_VERSION_MINOR << 8) | (POPPLER_VERSION_MICRO))
0018 
0019 class QTreeWidget;
0020 
0021 class PDFSettingsWidget : public QWidget
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit PDFSettingsWidget(QWidget *parent = nullptr);
0027     bool event(QEvent *e) override;
0028 #if POPPLER_VERSION_MACRO >= QT_VERSION_CHECK(23, 06, 0)
0029     static std::optional<Poppler::CryptoSignBackend> settingStringToPopplerEnum(QStringView backend);
0030     static QString popplerEnumToSettingString(Poppler::CryptoSignBackend backend);
0031 #endif
0032 
0033 private:
0034     void warnRestartNeeded();
0035 
0036     QTreeWidget *m_tree = nullptr;
0037     bool m_certificatesAsked = false;
0038     bool m_warnedAboutRestart = false;
0039     Ui_PDFSettingsWidgetBase m_pdfsw;
0040 };
0041 
0042 #endif