File indexing completed on 2025-03-09 04:47:04

0001 /*
0002    SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <KSieveCore/SieveImapAccountSettings>
0010 #include <KSieveUi/AbstractMoveImapFolderWidget>
0011 #include <QPointer>
0012 class QWidget;
0013 class QToolButton;
0014 class SelectImapLineEdit;
0015 class SelectImapFolderDialog;
0016 class SelectImapWidget : public KSieveUi::AbstractMoveImapFolderWidget
0017 {
0018     Q_OBJECT
0019 public:
0020     explicit SelectImapWidget(QWidget *parent = nullptr, const QList<QVariant> & = QList<QVariant>());
0021     ~SelectImapWidget() override;
0022 
0023     void setText(const QString &str) override;
0024     [[nodiscard]] QString text() const override;
0025 
0026     void setSieveImapAccountSettings(const KSieveCore::SieveImapAccountSettings &account) override;
0027 
0028 private:
0029     void slotOpenSelectImapFolder();
0030     SelectImapFolderDialog *selectFolderDialog();
0031     KSieveCore::SieveImapAccountSettings mAccount;
0032     QPointer<SelectImapFolderDialog> mSelectImapFolderDialog;
0033     QToolButton *const mToolButton;
0034     SelectImapLineEdit *const mLineEdit;
0035 };