File indexing completed on 2025-01-19 04:46:46

0001 /*
0002    SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 #pragma once
0007 
0008 #include <Akonadi/AbstractEmailAddressSelectionDialog>
0009 namespace Akonadi
0010 {
0011 class RecipientsPickerWidget;
0012 }
0013 
0014 namespace PimCommon
0015 {
0016 class LdapSearchDialog;
0017 }
0018 
0019 class EmailAddressSelectionLdapDialog : public Akonadi::AbstractEmailAddressSelectionDialog
0020 {
0021     Q_OBJECT
0022 public:
0023     explicit EmailAddressSelectionLdapDialog(QWidget *parent = nullptr, const QList<QVariant> & = {});
0024     ~EmailAddressSelectionLdapDialog() override;
0025 
0026     [[nodiscard]] Akonadi::EmailAddressSelection::List selectedAddresses() const override;
0027     [[nodiscard]] Akonadi::EmailAddressSelectionWidget *view() const override;
0028 
0029 private:
0030     void writeConfig();
0031     void readConfig();
0032     void slotSearchLDAP();
0033     void ldapSearchResult();
0034     Akonadi::RecipientsPickerWidget *const mView;
0035     PimCommon::LdapSearchDialog *mLdapSearchDialog = nullptr;
0036 };