Libksieve

sievescriptdebuggerfrontendwidget.h
1/*
2 SPDX-FileCopyrightText: 2015-2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "ksieveui_private_export.h"
10#include <QWidget>
11
12namespace TextCustomEditor
13{
14class PlainTextEditorWidget;
15}
16class KUrlRequester;
17class QProcess;
18class QLineEdit;
19class QSplitter;
20namespace KSieveUi
21{
22class SieveTextEditWidget;
23class SieveScriptDebuggerWarning;
24class KSIEVEUI_TESTS_EXPORT SieveScriptDebuggerFrontEndWidget : public QWidget
25{
26 Q_OBJECT
27public:
28 explicit SieveScriptDebuggerFrontEndWidget(QWidget *parent = nullptr);
29 ~SieveScriptDebuggerFrontEndWidget() override;
30
31 [[nodiscard]] QString script() const;
32 void setScript(const QString &script);
33 [[nodiscard]] bool canAccept() const;
34
35 [[nodiscard]] QList<int> splitterSizes() const;
36 void setSplitterSizes(const QList<int> &sizes);
37
38Q_SIGNALS:
39 void scriptTextChanged();
40 void debugScriptButtonClicked();
41 void debugButtonEnabled(bool state);
42
43private Q_SLOTS:
44 void slotDebugScript();
45 void slotEmailChanged(const QString &text);
46 void slotReadStandardOutput();
47 void slotReadErrorOutput();
48 void slotDebugFinished();
49 void slotScriptTextChanged();
50
51private:
52 void updateDebugButton();
53 KSieveUi::SieveTextEditWidget *mSieveTextEditWidget = nullptr;
54 KSieveUi::SieveScriptDebuggerWarning *mSieveScriptDebuggerWarning = nullptr;
55 TextCustomEditor::PlainTextEditorWidget *mSieveTestResult = nullptr;
56 KUrlRequester *mEmailPath = nullptr;
57 QProcess *mProcess = nullptr;
58 QLineEdit *mExtension = nullptr;
59 QSplitter *mSplitter = nullptr;
60};
61}
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 16:57:10 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.