1 /*
2 SPDX-FileCopyrightText: 2015-2021 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7 #include "sievescriptdebuggerresulteditor.h"
8 #include <KLocalizedString>
9 #include <KStandardAction>
10 #include <PimCommon/PimUtil>
11 #include <QAction>
12 #include <QMenu>
13
14 using namespace KSieveUi;
15
SieveScriptDebuggerResultEditor(QWidget * parent)16 SieveScriptDebuggerResultEditor::SieveScriptDebuggerResultEditor(QWidget *parent)
17 : KPIMTextEdit::PlainTextEditor(parent)
18 {
19 }
20
~SieveScriptDebuggerResultEditor()21 SieveScriptDebuggerResultEditor::~SieveScriptDebuggerResultEditor()
22 {
23 }
24
addExtraMenuEntry(QMenu * menu,QPoint pos)25 void SieveScriptDebuggerResultEditor::addExtraMenuEntry(QMenu *menu, QPoint pos)
26 {
27 KPIMTextEdit::PlainTextEditor::addExtraMenuEntry(menu, pos);
28 if (isReadOnly() && !document()->isEmpty()) {
29 auto clearAction = new QAction(i18n("Clear"), menu);
30 connect(clearAction, &QAction::triggered, this, &SieveScriptDebuggerResultEditor::slotClear);
31 menu->addAction(clearAction);
32 menu->addSeparator();
33 QAction *saveAsAction = KStandardAction::saveAs(this, &SieveScriptDebuggerResultEditor::slotSaveAs, this);
34 menu->addAction(saveAsAction);
35 }
36 }
37
slotSaveAs()38 void SieveScriptDebuggerResultEditor::slotSaveAs()
39 {
40 const QString filter = i18n("Text Files (*.txt);;All Files (*)");
41 PimCommon::Util::saveTextAs(toPlainText(), filter, this);
42 }
43
slotClear()44 void SieveScriptDebuggerResultEditor::slotClear()
45 {
46 clear();
47 }
48