File indexing completed on 2024-05-12 05:25:41
0001 /* 0002 SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <KSieveUi/ManageSieveWidget> 0010 #include <QUrl> 0011 #include <QWidget> 0012 0013 class SieveEditorManageSieveWidget; 0014 class QTreeWidgetItem; 0015 namespace KSieveUi 0016 { 0017 } 0018 class SieveEditorScriptManagerWidget : public QWidget 0019 { 0020 Q_OBJECT 0021 public: 0022 explicit SieveEditorScriptManagerWidget(QWidget *parent = nullptr); 0023 ~SieveEditorScriptManagerWidget() override; 0024 0025 void updateServerList(); 0026 void editScript(); 0027 void desactivateScript(); 0028 void refreshList(); 0029 0030 Q_SIGNALS: 0031 void createScriptPage(const KSieveUi::ManageSieveWidget::ScriptInfo &info, bool isNewScript); 0032 void updateButtons(bool newScriptAction, bool editScriptAction, bool deleteScriptAction, bool desactivateScriptAction); 0033 void scriptDeleted(const QUrl &url); 0034 void serverSieveFound(bool hasServerSieve); 0035 void scriptRenamed(const QUrl &oldUrl, const QUrl &newUrl); 0036 0037 public Q_SLOTS: 0038 void slotCreateNewScript(); 0039 void slotDeleteScript(); 0040 void slotRefreshList(); 0041 0042 private: 0043 void slotNewScript(const KSieveUi::ManageSieveWidget::ScriptInfo &info); 0044 void slotEditScript(const KSieveUi::ManageSieveWidget::ScriptInfo &info); 0045 void slotUpdateButtons(QTreeWidgetItem *item); 0046 0047 private: 0048 SieveEditorManageSieveWidget *mTreeView = nullptr; 0049 };