File indexing completed on 2024-11-24 04:39:30

0001 /*
0002     This file is part of Contact Editor.
0003 
0004     SPDX-FileCopyrightText: 2016 eyeOS S.L.U., a Telefonica company, sales@eyeos.com
0005     SPDX-FileCopyrightText: 2016-2020 Laurent Montel <montel.org>
0006 
0007     SPDX-License-Identifier: LGPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 #include <QVariantList>
0013 #include <QWidget>
0014 
0015 namespace KContacts
0016 {
0017 class Addressee;
0018 }
0019 
0020 namespace Akonadi
0021 {
0022 class CustomFieldEditorWidget;
0023 class CustomFieldsListWidget;
0024 class CustomFieldsWidget : public QWidget
0025 {
0026     Q_OBJECT
0027 public:
0028     explicit CustomFieldsWidget(QWidget *parent = nullptr);
0029     ~CustomFieldsWidget() override;
0030     void storeContact(KContacts::Addressee &contact) const;
0031     void loadContact(const KContacts::Addressee &contact);
0032 
0033     void setReadOnly(bool readOnly);
0034     void setLocalCustomFieldDescriptions(const QVariantList &descriptions);
0035     [[nodiscard]] QVariantList localCustomFieldDescriptions() const;
0036 
0037 private:
0038     Akonadi::CustomFieldEditorWidget *mCustomFieldEditorWidget = nullptr;
0039     Akonadi::CustomFieldsListWidget *mCustomFieldsListWidget = nullptr;
0040 };
0041 }