File indexing completed on 2025-01-05 04:58:20

0001 /*
0002   SPDX-FileCopyrightText: 2015-2024 Laurent Montel <montel@kde.org>
0003 
0004   SPDX-License-Identifier: LGPL-2.0-or-later
0005 
0006 */
0007 
0008 #pragma once
0009 
0010 #include "pimcommonakonadi_export.h"
0011 
0012 #include <QDialog>
0013 class KConfig;
0014 namespace KLDAPWidgets
0015 {
0016 class LdapClientSearch;
0017 }
0018 namespace PimCommon
0019 {
0020 class CompletionConfigureDialogPrivate;
0021 /**
0022  * @brief The CompletionConfigureDialog class
0023  * @author Laurent Montel <montel@kde.org>
0024  */
0025 class PIMCOMMONAKONADI_EXPORT CompletionConfigureDialog : public QDialog
0026 {
0027     Q_OBJECT
0028 public:
0029     explicit CompletionConfigureDialog(QWidget *parent = nullptr);
0030     ~CompletionConfigureDialog() override;
0031 
0032     void load();
0033     void setEmailBlackList(const QStringList &lst);
0034     void setLdapClientSearch(KLDAPWidgets::LdapClientSearch *ldapSearch);
0035     void setRecentAddresses(const QStringList &lst);
0036     [[nodiscard]] bool recentAddressWasChanged() const;
0037     void storeAddresses(KConfig *config);
0038 
0039 private:
0040     PIMCOMMONAKONADI_NO_EXPORT void slotSaveAndClose();
0041     PIMCOMMONAKONADI_NO_EXPORT void slotSave();
0042     PIMCOMMONAKONADI_NO_EXPORT void readConfig();
0043     PIMCOMMONAKONADI_NO_EXPORT void writeConfig();
0044     std::unique_ptr<CompletionConfigureDialogPrivate> const d;
0045 };
0046 }