File indexing completed on 2025-02-16 04:56:08
0001 /* 0002 SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-only 0005 */ 0006 0007 #pragma once 0008 0009 #include "ksieveui_export.h" 0010 #include <QObject> 0011 #include <memory> 0012 class QWidget; 0013 namespace KSieveCore 0014 { 0015 class SieveImapPasswordProvider; 0016 } 0017 namespace KSieveUi 0018 { 0019 class VacationManagerPrivate; 0020 /** 0021 * @brief The VacationManager class 0022 * @author Laurent Montel <montel@kde.org> 0023 */ 0024 class KSIEVEUI_EXPORT VacationManager : public QObject 0025 { 0026 Q_OBJECT 0027 public: 0028 explicit VacationManager(KSieveCore::SieveImapPasswordProvider *passwordProvider, QWidget *parent); 0029 ~VacationManager() override; 0030 0031 void checkVacation(); 0032 0033 public Q_SLOTS: 0034 void slotEditVacation(const QString &serverName); 0035 0036 Q_SIGNALS: 0037 void updateVacationScriptStatus(bool active, const QString &serverName); 0038 0039 private: 0040 KSIEVEUI_NO_EXPORT void slotDialogCanceled(); 0041 KSIEVEUI_NO_EXPORT void slotDialogOk(); 0042 KSIEVEUI_NO_EXPORT void slotUpdateVacationScriptStatus(bool active, const QString &serverName); 0043 0044 private: 0045 Q_DISABLE_COPY(VacationManager) 0046 std::unique_ptr<VacationManagerPrivate> const d; 0047 }; 0048 }