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 };