Libksieve

multiimapvacationdialog.h
1/*
2 SPDX-FileCopyrightText: 2013-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_export.h"
10#include <KSieveCore/Util>
11#include <QDialog>
12#include <memory>
14namespace KSieveCore
15{
16class VacationCreateScriptJob;
17class MultiImapVacationManager;
18}
19namespace KSieveUi
20{
21class MultiImapVacationDialogPrivate;
22/**
23 * @brief The MultiImapVacationDialog class
24 * @author Laurent Montel <montel@kde.org>
25 */
26class KSIEVEUI_EXPORT MultiImapVacationDialog : public QDialog
27{
28 Q_OBJECT
29public:
30 explicit MultiImapVacationDialog(KSieveCore::MultiImapVacationManager *manager, QWidget *parent = nullptr);
31 ~MultiImapVacationDialog() override;
32
33 [[nodiscard]] QList<KSieveCore::VacationCreateScriptJob *> listCreateJob() const;
34
35 void switchToServerNamePage(const QString &serverName);
36 void reject() override;
37Q_SIGNALS:
38 void okClicked();
39 void cancelClicked();
40
41private:
42 KSIEVEUI_NO_EXPORT void slotSearchServerWithVacationSupportFinished(const QMap<QString, KSieveCore::Util::AccountInfo> &info);
43 KSIEVEUI_NO_EXPORT void slotOkClicked();
44 KSIEVEUI_NO_EXPORT void slotDefaultClicked();
45 KSIEVEUI_NO_EXPORT void slotCanceled();
46 KSIEVEUI_NO_EXPORT void createPage(const QString &serverName, const KSieveCore::Util::AccountInfo &info);
47 KSIEVEUI_NO_EXPORT void init();
48 KSIEVEUI_NO_EXPORT void readConfig();
49 KSIEVEUI_NO_EXPORT void writeConfig();
50 KSIEVEUI_NO_EXPORT void initialize();
51 QDialogButtonBox *mButtonBox = nullptr;
52 std::unique_ptr<MultiImapVacationDialogPrivate> const d;
53};
54}
The MultiImapVacationManager class.
The MultiImapVacationDialog class.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:57:10 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.