File indexing completed on 2024-05-12 05:25:39

0001 /*
0002    SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "sieveeditorutil.h"
0010 #include <QListWidget>
0011 
0012 class ServerSieveListWidgetItem : public QListWidgetItem
0013 {
0014 public:
0015     explicit ServerSieveListWidgetItem(QListWidget *parent = nullptr);
0016     ~ServerSieveListWidgetItem() override;
0017 
0018     [[nodiscard]] SieveEditorUtil::SieveServerConfig serverConfig() const;
0019     void setServerConfig(const SieveEditorUtil::SieveServerConfig &conf);
0020 
0021 private:
0022     SieveEditorUtil::SieveServerConfig mServerConfig;
0023 };
0024 
0025 class ServerSieveListWidget : public QListWidget
0026 {
0027     Q_OBJECT
0028 public:
0029     explicit ServerSieveListWidget(QWidget *parent = nullptr);
0030     ~ServerSieveListWidget() override;
0031 
0032     void readConfig();
0033     void writeConfig();
0034     void addServerConfig();
0035     void deleteServerConfig(QListWidgetItem *item);
0036 
0037 public Q_SLOTS:
0038     void modifyServerConfig();
0039 
0040 private:
0041     void slotReadServerSieveConfigDone(const QList<SieveEditorUtil::SieveServerConfig> &lstConfig);
0042     void deletePasswords();
0043     QStringList mNeedToRemovePasswordInWallet;
0044 };