1 /* 2 SPDX-FileCopyrightText: 2015-2021 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 <QDialog> 11 12 class QPushButton; 13 namespace KSieveUi 14 { 15 class SieveScriptDebuggerWidget; 16 class KSIEVEUI_TESTS_EXPORT SieveScriptDebuggerDialog : public QDialog 17 { 18 Q_OBJECT 19 public: 20 explicit SieveScriptDebuggerDialog(QWidget *parent = nullptr); 21 ~SieveScriptDebuggerDialog() override; 22 23 void setScript(const QString &script); 24 Q_REQUIRED_RESULT QString script() const; 25 26 private: 27 void slotScriptTextChanged(); 28 void slotAccepted(); 29 void writeConfig(); 30 void readConfig(); 31 void debugButtonEnableStateChanged(bool state); 32 void updateButtons(); 33 QString mOriginScript; 34 SieveScriptDebuggerWidget *mSieveScriptDebuggerWidget = nullptr; 35 QPushButton *mOkButton = nullptr; 36 QPushButton *mDebugScriptButton = nullptr; 37 }; 38 } 39 40