8#include "ksieveui_private_export.h"
9#include <KSieveCore/VacationUtils>
25namespace TextCustomEditor
37using AddrSpecList = QList<AddrSpec>;
51class VacationMailActionWidget;
52class VacationMailLineEdit;
53class KSIEVEUI_TESTS_EXPORT VacationEditWidget :
public QWidget
57 explicit VacationEditWidget(QWidget *parent =
nullptr);
58 ~VacationEditWidget()
override;
60 void enableDomainAndSendForSpam(
bool enable =
true);
61 void enableDates(
bool enable =
true);
63 [[nodiscard]]
bool activateVacation()
const;
64 void setActivateVacation(
bool activate);
66 [[nodiscard]]
bool domainCheck()
const;
67 void setDomainCheck(
bool check);
69 [[nodiscard]] QString messageText()
const;
70 void setMessageText(
const QString &text);
72 [[nodiscard]]
int notificationInterval()
const;
73 void setNotificationInterval(
int days);
75 [[nodiscard]] KMime::Types::AddrSpecList mailAliases(
bool &ok)
const;
76 void setMailAliases(
const KMime::Types::AddrSpecList &aliases);
77 void setMailAliases(
const QString &aliases);
79 [[nodiscard]] QString domainName()
const;
80 void setDomainName(
const QString &domain);
82 [[nodiscard]] QString subject()
const;
83 void setSubject(
const QString &subject);
85 [[nodiscard]]
bool sendForSpam()
const;
86 void setSendForSpam(
bool enable);
88 [[nodiscard]] QDate startDate()
const;
89 void setStartDate(QDate startDate);
91 [[nodiscard]] QTime startTime()
const;
92 void setStartTime(QTime startTime);
94 [[nodiscard]] QDate endDate()
const;
95 void setEndDate(QDate endDate);
97 [[nodiscard]] QTime endTime()
const;
98 void setEndTime(QTime endTime);
100 [[nodiscard]] KSieveCore::VacationUtils::MailAction mailAction()
const;
101 [[nodiscard]] QString mailActionRecipient(
bool &valid)
const;
102 void setMailAction(KSieveCore::VacationUtils::MailAction action,
const QString &recipient);
103 void setSieveImapAccountSettings(
const KSieveCore::SieveImapAccountSettings &account);
107 [[nodiscard]]
bool changed()
const;
108 void setChanged(
bool changed);
111 void slotIntervalSpinChanged(
int value);
112 void mailActionChanged(
int index);
115 void setWasChanged();
118 QCheckBox *mActiveCheck =
nullptr;
119 QSpinBox *mIntervalSpin =
nullptr;
120 VacationMailLineEdit *mMailAliasesEdit =
nullptr;
121 TextCustomEditor::PlainTextEditorWidget *mTextEdit =
nullptr;
122 QCheckBox *mSpamCheck =
nullptr;
123 QCheckBox *mDomainCheck =
nullptr;
124 QLineEdit *mDomainEdit =
nullptr;
125 PimCommon::SpellCheckLineEdit *mSubject =
nullptr;
126 QComboBox *mMailAction =
nullptr;
127 VacationMailActionWidget *mMailActionRecipient =
nullptr;
128 KDateComboBox *mStartDate =
nullptr;
129 KTimeComboBox *mStartTime =
nullptr;
130 QCheckBox *mStartTimeActive =
nullptr;
131 QLabel *mStartDateLabel =
nullptr;
132 KDateComboBox *mEndDate =
nullptr;
133 KTimeComboBox *mEndTime =
nullptr;
134 QCheckBox *mEndTimeActive =
nullptr;
135 QLabel *mEndDateLabel =
nullptr;
136 bool mChanged =
false;
The SieveImapAccountSettings class.