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