1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
/*
SPDX-FileCopyrightText: 2013-2022 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-only
*/
#pragma once
#include "ksieveui/managesievewidget.h"
#include "ksieveui_export.h"
#include <QDialog>
#include <memory>
class QTreeWidgetItem;
namespace KManageSieve
{
class SieveJob;
}
namespace KSieveUi
{
class SieveEditor;
class ManageSieveScriptsDialogPrivate;
class SieveImapPasswordProvider;
/**
* @brief The ManageSieveScriptsDialog class
* @author Laurent Montel <montel@kde.org>
*/
class KSIEVEUI_EXPORT ManageSieveScriptsDialog : public QDialog
{
Q_OBJECT
public:
explicit ManageSieveScriptsDialog(SieveImapPasswordProvider *passwordProvider, QWidget *parent = nullptr);
~ManageSieveScriptsDialog() override;
Q_SIGNALS:
void finished();
protected:
void hideEvent(QHideEvent *) override;
private:
void slotGetResult(KManageSieve::SieveJob *, bool, const QString &, bool);
void slotPutResult(KManageSieve::SieveJob *job, bool);
void slotSieveEditorOkClicked();
void slotSieveEditorCancelClicked();
void slotSieveEditorCheckSyntaxClicked();
void slotUpdateButtons(QTreeWidgetItem *item);
void slotEditScript(const ManageSieveWidget::ScriptInfo &info);
void slotNewScript(const ManageSieveWidget::ScriptInfo &info);
void slotCheckScriptFinished(const QString &errorMsg, bool success);
void updateButtons(QTreeWidgetItem *item);
void disableManagerScriptsDialog(bool disable);
private:
std::unique_ptr<ManageSieveScriptsDialogPrivate> const d;
};
}
|