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"