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 #include "sieveeditorscriptmanagerwidget.h"
0008 #include "sieveeditormanagesievewidget.h"
0009 
0010 #include <QHBoxLayout>
0011 #include <QTreeWidget>
0012 
0013 SieveEditorScriptManagerWidget::SieveEditorScriptManagerWidget(QWidget *parent)
0014     : QWidget(parent)
0015 {
0016     auto hbox = new QHBoxLayout(this);
0017     hbox->setContentsMargins({});
0018     mTreeView = new SieveEditorManageSieveWidget(this);
0019     connect(mTreeView, &SieveEditorManageSieveWidget::newScript, this, &SieveEditorScriptManagerWidget::slotNewScript);
0020     connect(mTreeView, &SieveEditorManageSieveWidget::editScript, this, &SieveEditorScriptManagerWidget::slotEditScript);
0021     connect(mTreeView, &SieveEditorManageSieveWidget::updateButtons, this, &SieveEditorScriptManagerWidget::slotUpdateButtons);
0022     connect(mTreeView, &SieveEditorManageSieveWidget::scriptDeleted, this, &SieveEditorScriptManagerWidget::scriptDeleted);
0023     connect(mTreeView, &SieveEditorManageSieveWidget::serverSieveFound, this, &SieveEditorScriptManagerWidget::serverSieveFound);
0024     connect(mTreeView, &SieveEditorManageSieveWidget::scriptRenamed, this, &SieveEditorScriptManagerWidget::scriptRenamed);
0025     hbox->addWidget(mTreeView);
0026 }
0027 
0028 SieveEditorScriptManagerWidget::~SieveEditorScriptManagerWidget() = default;
0029 
0030 void SieveEditorScriptManagerWidget::slotUpdateButtons(QTreeWidgetItem *item)
0031 {
0032     Q_UNUSED(item)
0033     bool newScriptAction;
0034     bool editScriptAction;
0035     bool deleteScriptAction;
0036     bool desactivateScriptAction;
0037     mTreeView->enableDisableActions(newScriptAction, editScriptAction, deleteScriptAction, desactivateScriptAction);
0038     Q_EMIT updateButtons(newScriptAction, editScriptAction, deleteScriptAction, desactivateScriptAction);
0039 }
0040 
0041 void SieveEditorScriptManagerWidget::slotEditScript(const KSieveUi::ManageSieveWidget::ScriptInfo &info)
0042 {
0043     Q_EMIT createScriptPage(info, false);
0044 }
0045 
0046 void SieveEditorScriptManagerWidget::slotNewScript(const KSieveUi::ManageSieveWidget::ScriptInfo &info)
0047 {
0048     Q_EMIT createScriptPage(info, true);
0049 }
0050 
0051 void SieveEditorScriptManagerWidget::slotCreateNewScript()
0052 {
0053     mTreeView->slotNewScript();
0054 }
0055 
0056 void SieveEditorScriptManagerWidget::slotDeleteScript()
0057 {
0058     mTreeView->slotDeleteScript();
0059 }
0060 
0061 void SieveEditorScriptManagerWidget::slotRefreshList()
0062 {
0063     updateServerList();
0064 }
0065 
0066 void SieveEditorScriptManagerWidget::updateServerList()
0067 {
0068     mTreeView->slotRefresh();
0069 }
0070 
0071 void SieveEditorScriptManagerWidget::editScript()
0072 {
0073     mTreeView->slotEditScript();
0074 }
0075 
0076 void SieveEditorScriptManagerWidget::desactivateScript()
0077 {
0078     mTreeView->slotDeactivateScript();
0079 }
0080 
0081 void SieveEditorScriptManagerWidget::refreshList()
0082 {
0083     mTreeView->slotRefresh();
0084 }
0085 
0086 #include "moc_sieveeditorscriptmanagerwidget.cpp"