Libksieve

sievescriptdebuggertextedit.cpp
1 /*
2  Copyright (C) 2015-2020 Laurent Montel <[email protected]>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 
20 #include "sievescriptdebuggertextedit.h"
21 
22 #include <KLocalizedString>
23 
24 #include <QAction>
25 #include <QMenu>
26 
27 using namespace KSieveUi;
28 
29 SieveScriptDebuggerTextEdit::SieveScriptDebuggerTextEdit(QWidget *parent)
30  : KSieveUi::SieveTextEdit(parent)
31 {
32  setWordWrapMode(QTextOption::WordWrap);
33 }
34 
35 SieveScriptDebuggerTextEdit::~SieveScriptDebuggerTextEdit()
36 {
37 }
38 
39 void SieveScriptDebuggerTextEdit::addExtraMenuEntry(QMenu *menu, QPoint pos)
40 {
41  QAction *separator = new QAction(menu);
42  separator->setSeparator(true);
43  menu->addAction(separator);
44 
45  QAction *addDebugAction = new QAction(i18n("Add debug here"), menu);
46  connect(addDebugAction, &QAction::triggered, this, &SieveScriptDebuggerTextEdit::slotAddDebug);
47  menu->addAction(addDebugAction);
48 
49  KSieveUi::SieveTextEdit::addExtraMenuEntry(menu, pos);
50 }
51 
52 void SieveScriptDebuggerTextEdit::slotAddDebug()
53 {
54  QTextCursor cursor(textCursor());
55  cursor.insertText(QStringLiteral("debug_log \"DEBUG\";\n"));
56  if (!document()->toPlainText().contains(QLatin1String("vnd.dovecot.debug"))) {
57  cursor.movePosition(QTextCursor::Start);
58  cursor.insertText(QStringLiteral("require \"vnd.dovecot.debug\";\n"));
59  }
60 }
void triggered(bool checked)
void setSeparator(bool b)
QAction * addAction(const QString &text)
The SieveTextEdit class.
Definition: sievetextedit.h:33
QString i18n(const char *text, const TYPE &arg...)
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Thu Jul 9 2020 23:07:45 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.