File indexing completed on 2024-06-02 05:21:47

0001 /*
0002    SPDX-FileCopyrightText: 2018 Daniel Vrátil <dvratil@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #include <Akonadi/AgentConfigurationBase>
0008 
0009 #include "accountwidget.h"
0010 #include "settings.h"
0011 
0012 class Pop3Config : public Akonadi::AgentConfigurationBase
0013 {
0014     Q_OBJECT
0015 public:
0016     Pop3Config(const KSharedConfigPtr &config, QWidget *parent, const QVariantList &args)
0017         : Akonadi::AgentConfigurationBase(config, parent, args)
0018         , mSettings(config, Settings::Option::NoOption)
0019         , mWidget(mSettings, identifier(), parent)
0020     {
0021         connect(&mWidget, &AccountWidget::okEnabled, this, &Akonadi::AgentConfigurationBase::enableOkButton);
0022     }
0023 
0024     void load() override
0025     {
0026         Akonadi::AgentConfigurationBase::load();
0027         mWidget.loadSettings();
0028     }
0029 
0030     [[nodiscard]] bool save() const override
0031     {
0032         const_cast<Pop3Config *>(this)->mWidget.saveSettings();
0033         return Akonadi::AgentConfigurationBase::save();
0034     }
0035 
0036     Settings mSettings;
0037     AccountWidget mWidget;
0038 };
0039 
0040 AKONADI_AGENTCONFIG_FACTORY(Pop3ConfigFactory, "pop3config.json", Pop3Config)
0041 
0042 #include "pop3config.moc"