diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d5b093018..258426eee 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,241 +1,239 @@ # target_include_directories does not handle empty include paths include_directories(${GPGME_INCLUDES}) add_definitions(-DTRANSLATION_DOMAIN=\"libkleopatra\") #add_definitions( -DQT_NO_CAST_FROM_ASCII ) #add_definitions( -DQT_NO_CAST_TO_ASCII ) kde_enable_exceptions() add_definitions( -DGPGMEPP_ERR_SOURCE_DEFAULT=13 ) # 13 is GPG_ERR_SOURCE_KLEO, even if gpg-error's too old to know about add_subdirectory( pics ) if (BUILD_TESTING) add_subdirectory( tests ) endif() ########### next target ############### set(libkleo_core_SRCS kleo/checksumdefinition.cpp kleo/debug.cpp kleo/defaultkeyfilter.cpp kleo/defaultkeygenerationjob.cpp kleo/dn.cpp kleo/enum.cpp kleo/kconfigbasedkeyfilter.cpp kleo/keyfiltermanager.cpp kleo/keygroup.cpp kleo/keyresolver.cpp kleo/keyresolvercore.cpp kleo/kleoexception.cpp kleo/oidmap.cpp models/keycache.cpp models/keylistmodel.cpp models/keylistmodelinterface.cpp models/keylistsortfilterproxymodel.cpp models/keyrearrangecolumnsproxymodel.cpp models/subkeylistmodel.cpp models/useridlistmodel.cpp utils/filesystemwatcher.cpp utils/formatting.cpp utils/classify.cpp utils/gnupg.cpp utils/gnupg-registry.c utils/hex.cpp utils/compat.cpp utils/cryptoconfig.cpp utils/test.cpp ) ecm_qt_declare_logging_category(libkleo_core_SRCS HEADER libkleo_debug.h IDENTIFIER LIBKLEO_LOG CATEGORY_NAME org.kde.pim.libkleo DESCRIPTION "libkleo (kleo_core)" EXPORT LIBKLEO ) set(libkleo_ui_common_SRCS ui/dnattributeorderconfigwidget.cpp ui/kdhorizontalline.cpp ui/filenamerequester.cpp ui/messagebox.cpp ui/cryptoconfigmodule.cpp - ui/cryptoconfigdialog.cpp ui/directoryserviceswidget.cpp ui/progressbar.cpp ui/progressdialog.cpp ui/auditlogviewer.cpp ) ecm_qt_declare_logging_category(libkleo_ui_common_SRCS HEADER kleo_ui_debug.h IDENTIFIER KLEO_UI_LOG CATEGORY_NAME org.kde.pim.kleo_ui DESCRIPTION "libkleo (kleo_ui)" OLD_CATEGORY_NAMES log_kleo_ui EXPORT LIBKLEO ) set(libkleo_ui_SRCS # make this a separate lib. ui/keylistview.cpp ui/keyselectiondialog.cpp ui/keyrequester.cpp ui/keyapprovaldialog.cpp ui/newkeyapprovaldialog.cpp ui/keyselectioncombo.cpp ) ki18n_wrap_ui(libkleo_ui_common_SRCS ui/directoryserviceswidget.ui ) set(kleo_LIB_SRCS ${libkleo_core_SRCS} ${libkleo_ui_SRCS} ${libkleo_ui_common_SRCS}) set(kleo_LIB_LIBS PUBLIC QGpgme Gpgmepp PRIVATE Qt::Widgets KF5::I18n KF5::Completion KF5::ConfigCore KF5::CoreAddons KF5::WidgetsAddons KF5::ItemModels KF5::Codecs) if (KF5PimTextEdit_FOUND) add_definitions(-DHAVE_PIMTEXTEDIT) set(kleo_LIB_LIBS ${kleo_LIB_LIBS} PRIVATE KF5::PimTextEdit) endif() add_library(KF5Libkleo ${kleo_LIB_SRCS}) if (COMPILE_WITH_UNITY_CMAKE_SUPPORT) set_target_properties(KF5Libkleo PROPERTIES UNITY_BUILD ON) endif() generate_export_header(KF5Libkleo BASE_NAME kleo) add_library(KF5::Libkleo ALIAS KF5Libkleo) if(WIN32) target_link_libraries(KF5Libkleo ${kleo_LIB_LIBS} ${GPGME_VANILLA_LIBRARIES} ) else() target_link_libraries(KF5Libkleo ${kleo_LIB_LIBS} ) endif() set_target_properties(KF5Libkleo PROPERTIES VERSION ${LIBKLEO_VERSION} SOVERSION ${LIBKLEO_SOVERSION} EXPORT_NAME Libkleo ) install(TARGETS KF5Libkleo EXPORT KF5LibkleoTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ) target_include_directories(KF5Libkleo PUBLIC "$") target_include_directories(KF5Libkleo INTERFACE "$") ecm_generate_headers(libkleo_CamelCase_HEADERS HEADER_NAMES ChecksumDefinition Debug DefaultKeyFilter DefaultKeyGenerationJob Dn Enum KConfigBasedKeyFilter KeyFilter KeyFilterManager KeyGroup KeyResolver KeyResolverCore KleoException OidMap Predicates Stl_Util REQUIRED_HEADERS libkleo_HEADERS PREFIX Libkleo RELATIVE kleo ) ecm_generate_headers(libkleo_CamelCase_models_HEADERS HEADER_NAMES KeyCache KeyList KeyListModel KeyListModelInterface KeyListSortFilterProxyModel KeyRearrangeColumnsProxyModel SubkeyListModel UserIDListModel REQUIRED_HEADERS libkleo_models_HEADERS PREFIX Libkleo RELATIVE models ) ecm_generate_headers(libkleo_CamelCase_utils_HEADERS HEADER_NAMES Algorithm Classify CryptoConfig FileSystemWatcher Formatting GnuPG Compat Test REQUIRED_HEADERS libkleo_utils_HEADERS PREFIX Libkleo RELATIVE utils ) ecm_generate_headers(libkleo_CamelCase_ui_HEADERS HEADER_NAMES - CryptoConfigDialog CryptoConfigModule DNAttributeOrderConfigWidget DirectoryServicesWidget FileNameRequester KDHorizontalLine KeyApprovalDialog NewKeyApprovalDialog KeyRequester KeySelectionCombo KeySelectionDialog MessageBox ProgressDialog REQUIRED_HEADERS libkleo_ui_HEADERS PREFIX Libkleo RELATIVE ui ) ecm_generate_pri_file(BASE_NAME Libkleo LIB_NAME KF5Libkleo DEPS "QGpgme" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/Libkleo ) install(FILES ${libkleo_CamelCase_HEADERS} ${libkleo_CamelCase_models_HEADERS} ${libkleo_CamelCase_ui_HEADERS} ${libkleo_CamelCase_utils_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/Libkleo COMPONENT Devel ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kleo_export.h ${libkleo_HEADERS} ${libkleo_models_HEADERS} ${libkleo_ui_HEADERS} ${libkleo_utils_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/libkleo COMPONENT Devel ) install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) if ( WIN32 ) install ( FILES libkleopatrarc-win32.desktop DESTINATION ${KDE_INSTALL_CONFDIR} RENAME libkleopatrarc ) else () install ( FILES libkleopatrarc.desktop DESTINATION ${KDE_INSTALL_CONFDIR} RENAME libkleopatrarc ) endif () diff --git a/src/ui/cryptoconfigdialog.cpp b/src/ui/cryptoconfigdialog.cpp deleted file mode 100644 index 8ecfb30d4..000000000 --- a/src/ui/cryptoconfigdialog.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - cryptoconfigdialog.h - - This file is part of kgpgcertmanager - SPDX-FileCopyrightText: 2004 Klarälvdalens Datakonsult AB - - SPDX-License-Identifier: GPL-2.0-or-later -*/ - -#include "cryptoconfigdialog.h" -#include "cryptoconfigmodule.h" -#include -#include -#include -#include -#include -#include - -Kleo::CryptoConfigDialog::CryptoConfigDialog(QGpgME::CryptoConfig *config, QWidget *parent) - : QDialog(parent) -{ - setWindowTitle(i18nc("@title:window", "Configure GnuPG Backend")); - auto mainLayout = new QVBoxLayout(this); - mButtonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::RestoreDefaults | QDialogButtonBox::Apply, this); - QPushButton *okButton = mButtonBox->button(QDialogButtonBox::Ok); - okButton->setShortcut(Qt::CTRL | Qt::Key_Return); - auto user1Button = new QPushButton(this); - mButtonBox->addButton(user1Button, QDialogButtonBox::ActionRole); - connect(mButtonBox, &QDialogButtonBox::accepted, this, &CryptoConfigDialog::accept); - connect(mButtonBox, &QDialogButtonBox::rejected, this, &CryptoConfigDialog::reject); - okButton->setDefault(true); - setModal(true); - KGuiItem::assign(user1Button, KGuiItem(i18n("&Reset"))); - - mMainWidget = new CryptoConfigModule(config, this); - mainLayout->addWidget(mMainWidget); - mainLayout->addWidget(mButtonBox); - - connect(mMainWidget, &CryptoConfigModule::changed, this, &CryptoConfigDialog::slotChanged); - mButtonBox->button(QDialogButtonBox::Apply)->setEnabled(false); - if (mMainWidget->hasError()) { - mButtonBox->button(QDialogButtonBox::RestoreDefaults)->setVisible(false); - user1Button->setVisible(false); - mButtonBox->button(QDialogButtonBox::Apply)->setVisible(false); - okButton->setVisible(false); - } - - // Automatically assign accelerators - KAcceleratorManager::manage(this); - connect(user1Button, &QPushButton::clicked, this, &CryptoConfigDialog::slotUser1); - connect(mButtonBox->button(QDialogButtonBox::Cancel), &QPushButton::clicked, this, &CryptoConfigDialog::slotCancel); - connect(okButton, &QPushButton::clicked, this, &CryptoConfigDialog::slotOk); - connect(mButtonBox->button(QDialogButtonBox::RestoreDefaults), &QPushButton::clicked, this, &CryptoConfigDialog::slotDefault); - connect(mButtonBox->button(QDialogButtonBox::Apply), &QPushButton::clicked, this, &CryptoConfigDialog::slotApply); -} - -void Kleo::CryptoConfigDialog::slotOk() -{ - slotApply(); - accept(); -} - -void Kleo::CryptoConfigDialog::slotCancel() -{ - mMainWidget->cancel(); - reject(); -} - -void Kleo::CryptoConfigDialog::slotDefault() -{ - mMainWidget->defaults(); - slotChanged(); -} - -void Kleo::CryptoConfigDialog::slotApply() -{ - mMainWidget->save(); - mButtonBox->button(QDialogButtonBox::Apply)->setEnabled(false); -} - -void Kleo::CryptoConfigDialog::slotUser1() // reset -{ - mMainWidget->reset(); - mButtonBox->button(QDialogButtonBox::Apply)->setEnabled(false); -} - -void Kleo::CryptoConfigDialog::slotChanged() -{ - mButtonBox->button(QDialogButtonBox::Apply)->setEnabled(true); -} - diff --git a/src/ui/cryptoconfigdialog.h b/src/ui/cryptoconfigdialog.h deleted file mode 100644 index ab9ac5e1f..000000000 --- a/src/ui/cryptoconfigdialog.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - cryptoconfigdialog.h - - This file is part of kgpgcertmanager - SPDX-FileCopyrightText: 2004 Klarälvdalens Datakonsult AB - - SPDX-License-Identifier: GPL-2.0-or-later -*/ - -#pragma once - -#include "kleo_export.h" -#include -class QDialogButtonBox; - -namespace QGpgME -{ -class CryptoConfig; -} // namespace QGpgME - -namespace Kleo -{ - -class CryptoConfigModule; - -/** - * Simple QDialog wrapper around CryptoConfigModule - */ -class KLEO_EXPORT CryptoConfigDialog : public QDialog -{ - Q_OBJECT -public: - explicit CryptoConfigDialog(QGpgME::CryptoConfig *config, QWidget *parent = nullptr); - -protected Q_SLOTS: - void slotOk(); - void slotCancel(); - void slotDefault(); - void slotApply(); - void slotUser1(); // reset - -public Q_SLOTS: - void slotChanged(); - -private: - CryptoConfigModule *mMainWidget = nullptr; - QDialogButtonBox *mButtonBox = nullptr; -}; - -} - -