File indexing completed on 2025-02-16 04:56:08
0001 /* 0002 SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "ksieveui_private_export.h" 0010 #include "vacation/vacationutils.h" 0011 #include <QWidget> 0012 class QStackedWidget; 0013 namespace KSieveCore 0014 { 0015 class SieveImapAccountSettings; 0016 } 0017 namespace KSieveUi 0018 { 0019 class AbstractMoveImapFolderWidget; 0020 class AbstractSelectEmailLineEdit; 0021 class KSIEVEUI_TESTS_EXPORT VacationMailActionWidget : public QWidget 0022 { 0023 Q_OBJECT 0024 public: 0025 explicit VacationMailActionWidget(QWidget *parent = nullptr); 0026 ~VacationMailActionWidget() override; 0027 0028 void setSieveImapAccountSettings(const KSieveCore::SieveImapAccountSettings &account); 0029 void mailActionChanged(KSieveCore::VacationUtils::MailAction action); 0030 0031 [[nodiscard]] QString mailActionRecipient(bool &valid) const; 0032 void setMailAction(KSieveCore::VacationUtils::MailAction action, const QString &recipient); 0033 0034 Q_SIGNALS: 0035 void wasChanged(); 0036 0037 private: 0038 void selectMailActionWidget(KSieveCore::VacationUtils::MailAction action); 0039 void setText(const QString &recipient); 0040 0041 QStackedWidget *mStackedWidget = nullptr; 0042 AbstractMoveImapFolderWidget *mMoveImapFolderWidget = nullptr; 0043 AbstractSelectEmailLineEdit *mSelectEmailLineEdit = nullptr; 0044 QWidget *mMailActionRecipient = nullptr; 0045 }; 0046 }