Libksieve

vacationmailactionwidget.h
1/*
2 SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "ksieveui_private_export.h"
10#include "vacation/vacationutils.h"
11#include <QWidget>
12class QStackedWidget;
13namespace KSieveCore
14{
15class SieveImapAccountSettings;
16}
17namespace KSieveUi
18{
19class AbstractMoveImapFolderWidget;
20class AbstractSelectEmailLineEdit;
21class KSIEVEUI_TESTS_EXPORT VacationMailActionWidget : public QWidget
22{
23 Q_OBJECT
24public:
25 explicit VacationMailActionWidget(QWidget *parent = nullptr);
26 ~VacationMailActionWidget() override;
27
28 void setSieveImapAccountSettings(const KSieveCore::SieveImapAccountSettings &account);
29 void mailActionChanged(KSieveCore::VacationUtils::MailAction action);
30
31 [[nodiscard]] QString mailActionRecipient(bool &valid) const;
32 void setMailAction(KSieveCore::VacationUtils::MailAction action, const QString &recipient);
33
34Q_SIGNALS:
35 void wasChanged();
36
37private:
38 void selectMailActionWidget(KSieveCore::VacationUtils::MailAction action);
39 void setText(const QString &recipient);
40
41 QStackedWidget *mStackedWidget = nullptr;
42 AbstractMoveImapFolderWidget *mMoveImapFolderWidget = nullptr;
43 AbstractSelectEmailLineEdit *mSelectEmailLineEdit = nullptr;
44 QWidget *mMailActionRecipient = nullptr;
45};
46}
The SieveImapAccountSettings class.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:17:19 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.