1 /*
2   SPDX-FileCopyrightText: 2013-2021 Laurent Montel <montel@kde.org>
3 
4   SPDX-License-Identifier: GPL-2.0-only
5 */
6 
7 #pragma once
8 
9 #include "ksieveui_export.h"
10 #include <QObject>
11 #include <memory>
12 class QWidget;
13 namespace KSieveUi
14 {
15 class VacationManagerPrivate;
16 class SieveImapPasswordProvider;
17 /**
18  * @brief The VacationManager class
19  * @author Laurent Montel <montel@kde.org>
20  */
21 class KSIEVEUI_EXPORT VacationManager : public QObject
22 {
23     Q_OBJECT
24 public:
25     explicit VacationManager(SieveImapPasswordProvider *passwordProvider, QWidget *parent);
26     ~VacationManager() override;
27 
28     void checkVacation();
29 
30 public Q_SLOTS:
31     void slotEditVacation(const QString &serverName);
32 
33 Q_SIGNALS:
34     void updateVacationScriptStatus(bool active, const QString &serverName);
35 
36 private:
37     void slotDialogCanceled();
38     void slotDialogOk();
39     void slotUpdateVacationScriptStatus(bool active, const QString &serverName);
40 
41 private:
42     Q_DISABLE_COPY(VacationManager)
43     std::unique_ptr<VacationManagerPrivate> const d;
44 };
45 }
46 
47