diff --git a/src/conf/appearanceconfigpage.h b/src/conf/appearanceconfigpage.h index 39e25296e..7abff68d7 100644 --- a/src/conf/appearanceconfigpage.h +++ b/src/conf/appearanceconfigpage.h @@ -1,44 +1,44 @@ /* -*- mode: c++; c-basic-offset:4 -*- conf/appearanceconfigpage.h This file is part of Kleopatra, the KDE keymanager SPDX-FileCopyrightText: 2004, 2008 Klarälvdalens Datakonsult AB SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once -#include "kcmutils_version.h" +#include #include namespace Kleo { namespace Config { class AppearanceConfigWidget; /** * "Appearance" configuration page for kleopatra's configuration dialog */ class AppearanceConfigurationPage : public KCModule { Q_OBJECT public: #if KCMUTILS_VERSION < QT_VERSION_CHECK(5, 240, 0) explicit AppearanceConfigurationPage(QWidget *parent = nullptr, const QVariantList &args = QVariantList()); #else explicit AppearanceConfigurationPage(QObject *parent, const KPluginMetaData &data = {}, const QVariantList &args = QVariantList()); #endif public Q_SLOTS: void load() override; void save() override; void defaults() override; private: AppearanceConfigWidget *mWidget; }; } } diff --git a/src/conf/cryptooperationsconfigpage.h b/src/conf/cryptooperationsconfigpage.h index dbeafe94a..b6e95da6f 100644 --- a/src/conf/cryptooperationsconfigpage.h +++ b/src/conf/cryptooperationsconfigpage.h @@ -1,44 +1,44 @@ /* -*- mode: c++; c-basic-offset:4 -*- conf/cryptooperationsconfigpage.h This file is part of Kleopatra, the KDE keymanager SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once -#include "kcmutils_version.h" +#include #include namespace Kleo { namespace Config { class CryptoOperationsConfigWidget; /** * "Crypto Operations" configuration page for kleopatra's configuration dialog */ class CryptoOperationsConfigurationPage : public KCModule { Q_OBJECT public: #if KCMUTILS_VERSION < QT_VERSION_CHECK(5, 240, 0) explicit CryptoOperationsConfigurationPage(QWidget *parent = nullptr, const QVariantList &args = QVariantList()); #else explicit CryptoOperationsConfigurationPage(QObject *parent, const KPluginMetaData &data = {}, const QVariantList &args = QVariantList()); #endif public Q_SLOTS: void load() override; void save() override; void defaults() override; private: CryptoOperationsConfigWidget *mWidget; }; } } diff --git a/src/conf/dirservconfigpage.h b/src/conf/dirservconfigpage.h index 492be1694..254da70d4 100644 --- a/src/conf/dirservconfigpage.h +++ b/src/conf/dirservconfigpage.h @@ -1,41 +1,41 @@ /* -*- mode: c++; c-basic-offset:4 -*- conf/dirservconfigpage.h This file is part of Kleopatra, the KDE keymanager SPDX-FileCopyrightText: 2004, 2008 Klarälvdalens Datakonsult AB SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once -#include "kcmutils_version.h" +#include #include #include /** * "Directory Services" configuration page for kleopatra's configuration dialog * The user can configure LDAP servers in this page, to be used for listing/fetching * remote certificates in kleopatra. */ class DirectoryServicesConfigurationPage : public KCModule { Q_OBJECT public: #if KCMUTILS_VERSION < QT_VERSION_CHECK(5, 240, 0) explicit DirectoryServicesConfigurationPage(QWidget *parent = nullptr, const QVariantList &args = QVariantList()); #else explicit DirectoryServicesConfigurationPage(QObject *parent, const KPluginMetaData &data = {}, const QVariantList &args = QVariantList()); #endif ~DirectoryServicesConfigurationPage() override; public Q_SLOTS: void load() override; void save() override; void defaults() override; private: class Private; const std::unique_ptr d; friend class DirectoryServicesConfigurationPage::Private; }; diff --git a/src/conf/gnupgsystemconfigurationpage.h b/src/conf/gnupgsystemconfigurationpage.h index 79de9857f..4ea4e4af2 100644 --- a/src/conf/gnupgsystemconfigurationpage.h +++ b/src/conf/gnupgsystemconfigurationpage.h @@ -1,44 +1,44 @@ /* -*- mode: c++; c-basic-offset:4 -*- conf/gnupgsystemconfigurationpage.h This file is part of Kleopatra, the KDE keymanager SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once -#include "kcmutils_version.h" +#include #include namespace Kleo { class CryptoConfigModule; } namespace Kleo { namespace Config { class GnuPGSystemConfigurationPage : public KCModule { Q_OBJECT public: #if KCMUTILS_VERSION < QT_VERSION_CHECK(5, 240, 0) explicit GnuPGSystemConfigurationPage(QWidget *parent = nullptr, const QVariantList &args = QVariantList()); #else explicit GnuPGSystemConfigurationPage(QObject *parent, const KPluginMetaData &data = {}, const QVariantList &args = QVariantList()); #endif ~GnuPGSystemConfigurationPage() override; public Q_SLOTS: void load() override; void save() override; void defaults() override; private: Kleo::CryptoConfigModule *mWidget; }; } } diff --git a/src/conf/kleopageconfigdialog.cpp b/src/conf/kleopageconfigdialog.cpp index 8798df101..a9d7a8aad 100644 --- a/src/conf/kleopageconfigdialog.cpp +++ b/src/conf/kleopageconfigdialog.cpp @@ -1,252 +1,253 @@ /* kleopageconfigdialog.cpp This file is part of Kleopatra SPDX-FileCopyrightText: 2016 Bundesamt für Sicherheit in der Informationstechnik SPDX-FileContributor: Intevation GmbH SPDX-License-Identifier: GPL-2.0-only It is derived from KCMultidialog which is: SPDX-FileCopyrightText: 2000 Matthias Elter SPDX-FileCopyrightText: 2003 Daniel Molkentin SPDX-FileCopyrightText: 2003, 2006 Matthias Kretz SPDX-FileCopyrightText: 2004 Frans Englich SPDX-FileCopyrightText: 2006 Tobias Koenig SPDX-License-Identifier: LGPL-2.0-or-later */ #include "kleopageconfigdialog.h" -#include "kcmutils_version.h" #include +#include + #include #include #include #include #include #include #include #include #include #include #include "kleopatra_debug.h" KleoPageConfigDialog::KleoPageConfigDialog(QWidget *parent) : KPageDialog(parent) { setModal(false); QDialogButtonBox *buttonBox = new QDialogButtonBox(this); buttonBox->setStandardButtons(QDialogButtonBox::Help | QDialogButtonBox::RestoreDefaults | QDialogButtonBox::Cancel | QDialogButtonBox::Apply | QDialogButtonBox::Ok | QDialogButtonBox::Reset); KGuiItem::assign(buttonBox->button(QDialogButtonBox::Ok), KStandardGuiItem::ok()); KGuiItem::assign(buttonBox->button(QDialogButtonBox::Cancel), KStandardGuiItem::cancel()); KGuiItem::assign(buttonBox->button(QDialogButtonBox::RestoreDefaults), KStandardGuiItem::defaults()); KGuiItem::assign(buttonBox->button(QDialogButtonBox::Apply), KStandardGuiItem::apply()); KGuiItem::assign(buttonBox->button(QDialogButtonBox::Reset), KStandardGuiItem::reset()); KGuiItem::assign(buttonBox->button(QDialogButtonBox::Help), KStandardGuiItem::help()); buttonBox->button(QDialogButtonBox::Reset)->setEnabled(false); buttonBox->button(QDialogButtonBox::Apply)->setEnabled(false); connect(buttonBox->button(QDialogButtonBox::Apply), &QAbstractButton::clicked, this, &KleoPageConfigDialog::slotApplyClicked); connect(buttonBox->button(QDialogButtonBox::Ok), &QAbstractButton::clicked, this, &KleoPageConfigDialog::slotOkClicked); connect(buttonBox->button(QDialogButtonBox::RestoreDefaults), &QAbstractButton::clicked, this, &KleoPageConfigDialog::slotDefaultClicked); connect(buttonBox->button(QDialogButtonBox::Help), &QAbstractButton::clicked, this, &KleoPageConfigDialog::slotHelpClicked); connect(buttonBox->button(QDialogButtonBox::Reset), &QAbstractButton::clicked, this, &KleoPageConfigDialog::slotUser1Clicked); setButtonBox(buttonBox); connect(this, &KPageDialog::currentPageChanged, this, &KleoPageConfigDialog::slotCurrentPageChanged); } void KleoPageConfigDialog::slotCurrentPageChanged(KPageWidgetItem *current, KPageWidgetItem *previous) { if (!previous) { return; } blockSignals(true); setCurrentPage(previous); KCModule *previousModule = qobject_cast(previous->widget()); bool canceled = false; if (previousModule && mChangedModules.contains(previousModule)) { const int queryUser = KMessageBox::warningTwoActionsCancel( this, i18n("The settings of the current module have changed.\n" "Do you want to apply the changes or discard them?"), i18n("Apply Settings"), KStandardGuiItem::apply(), KStandardGuiItem::discard(), KStandardGuiItem::cancel()); if (queryUser == KMessageBox::ButtonCode::PrimaryAction) { previousModule->save(); } else if (queryUser == KMessageBox::ButtonCode::SecondaryAction) { previousModule->load(); } canceled = queryUser == KMessageBox::Cancel; } if (!canceled) { mChangedModules.removeAll(previousModule); setCurrentPage(current); } blockSignals(false); clientChanged(); } void KleoPageConfigDialog::apply() { QPushButton *applyButton = buttonBox()->button(QDialogButtonBox::Apply); applyButton->setFocus(); for (KCModule *module : mChangedModules) { module->save(); } mChangedModules.clear(); Q_EMIT configCommitted(); clientChanged(); } void KleoPageConfigDialog::slotDefaultClicked() { const KPageWidgetItem *item = currentPage(); if (!item) { return; } KCModule *module = qobject_cast(item->widget()); if (!module) { return; } module->defaults(); clientChanged(); } void KleoPageConfigDialog::slotUser1Clicked() { const KPageWidgetItem *item = currentPage(); if (!item) { return; } KCModule *module = qobject_cast(item->widget()); if (!module) { return; } module->load(); mChangedModules.removeAll(module); clientChanged(); } void KleoPageConfigDialog::slotApplyClicked() { apply(); } void KleoPageConfigDialog::slotOkClicked() { apply(); accept(); } void KleoPageConfigDialog::slotHelpClicked() { const KPageWidgetItem *item = currentPage(); if (!item) { return; } const QString docPath = mHelpUrls.value(item->name()); QUrl docUrl; #ifdef Q_OS_WIN docUrl = QUrl(QLatin1String("https://docs.kde.org/index.php?branch=stable5&language=") + QLocale().name() + QLatin1String("&application=kleopatra")); #else docUrl = QUrl(QStringLiteral("help:/")).resolved(QUrl(docPath)); // same code as in KHelpClient::invokeHelp #endif if (docUrl.scheme() == QLatin1String("help") || docUrl.scheme() == QLatin1String("man") || docUrl.scheme() == QLatin1String("info")) { // Warning: Don't assume that the program needs to be in PATH. On Windows, it will also be found next to the calling process. QProcess::startDetached(QStringLiteral("khelpcenter"), QStringList() << docUrl.toString()); } else { QDesktopServices::openUrl(docUrl); } } void KleoPageConfigDialog::addModule(const QString &name, const QString &docPath, const QString &icon, KCModule *module) { mModules << module; #if KCMUTILS_VERSION < QT_VERSION_CHECK(5, 240, 0) KPageWidgetItem *item = addPage(module, name); #else KPageWidgetItem *item = addPage(module->widget(), name); #endif item->setIcon(QIcon::fromTheme(icon)); #if KCMUTILS_VERSION < QT_VERSION_CHECK(5, 240, 0) connect(module, SIGNAL(changed(bool)), this, SLOT(moduleChanged(bool))); #else connect(module, &KCModule::needsSaveChanged, this, [this, module]() { moduleChanged(module->needsSave()); }); #endif mHelpUrls.insert(name, docPath); } void KleoPageConfigDialog::moduleChanged(bool state) { KCModule *module = qobject_cast(sender()); qCDebug(KLEOPATRA_LOG) << "Module changed: " << state << " mod " << module; if (mChangedModules.contains(module)) { if (!state) { mChangedModules.removeAll(module); } else { return; } } if (state) { mChangedModules << module; } clientChanged(); } void KleoPageConfigDialog::clientChanged() { const KPageWidgetItem *item = currentPage(); if (!item) { return; } KCModule *module = qobject_cast(item->widget()); if (!module) { return; } qCDebug(KLEOPATRA_LOG) << "Client changed: " << " mod " << module; bool change = mChangedModules.contains(module); QPushButton *resetButton = buttonBox()->button(QDialogButtonBox::Reset); if (resetButton) { resetButton->setEnabled(change); } QPushButton *applyButton = buttonBox()->button(QDialogButtonBox::Apply); if (applyButton) { applyButton->setEnabled(change); } } diff --git a/src/conf/smartcardconfigpage.h b/src/conf/smartcardconfigpage.h index f33be8b1d..aa38f1523 100644 --- a/src/conf/smartcardconfigpage.h +++ b/src/conf/smartcardconfigpage.h @@ -1,43 +1,43 @@ /* -*- mode: c++; c-basic-offset:4 -*- conf/smartcardconfigpage.h This file is part of Kleopatra, the KDE keymanager SPDX-FileCopyrightText: 2022 g10 Code GmbH SPDX-FileContributor: Ingo Klöcker SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once -#include "kcmutils_version.h" +#include #include #include namespace Kleo { namespace Config { class SmartCardConfigurationPage : public KCModule { Q_OBJECT public: #if KCMUTILS_VERSION < QT_VERSION_CHECK(5, 240, 0) explicit SmartCardConfigurationPage(QWidget *parent = nullptr, const QVariantList &args = QVariantList()); #else explicit SmartCardConfigurationPage(QObject *parent, const KPluginMetaData &data = {}, const QVariantList &args = QVariantList()); #endif ~SmartCardConfigurationPage() override; void load() override; void save() override; void defaults() override; private: class Private; std::unique_ptr d; }; } } diff --git a/src/conf/smimevalidationconfigurationpage.h b/src/conf/smimevalidationconfigurationpage.h index 9764cb277..e53ebe857 100644 --- a/src/conf/smimevalidationconfigurationpage.h +++ b/src/conf/smimevalidationconfigurationpage.h @@ -1,39 +1,39 @@ /* -*- mode: c++; c-basic-offset:4 -*- conf/smimevalidationconfigurationpage.h This file is part of Kleopatra, the KDE keymanager SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once -#include "kcmutils_version.h" +#include #include namespace Kleo { namespace Config { class SMimeValidationConfigurationWidget; class SMimeValidationConfigurationPage : public KCModule { Q_OBJECT public: #if KCMUTILS_VERSION < QT_VERSION_CHECK(5, 240, 0) explicit SMimeValidationConfigurationPage(QWidget *parent = nullptr, const QVariantList &args = QVariantList()); #else explicit SMimeValidationConfigurationPage(QObject *parent, const KPluginMetaData &data = {}, const QVariantList &args = QVariantList()); #endif public Q_SLOTS: void load() override; void save() override; void defaults() override; private: SMimeValidationConfigurationWidget *mWidget; }; } }