File indexing completed on 2025-02-16 04:55:57

0001 /*
0002    SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 #pragma once
0007 
0008 #include "autocreatescripts/sieveglobalvariablewidget.h"
0009 #include "sieveaction.h"
0010 namespace KSieveUi
0011 {
0012 class SieveActionSetVariable : public SieveAction
0013 {
0014     Q_OBJECT
0015 public:
0016     explicit SieveActionSetVariable(SieveEditorGraphicalModeWidget *sieveGraphicalModeWidget, QObject *parent = nullptr);
0017     [[nodiscard]] QString code(QWidget *) const override;
0018     [[nodiscard]] QString help() const override;
0019     [[nodiscard]] QStringList needRequires(QWidget *parent) const override;
0020     void setParamWidgetValue(QXmlStreamReader &element, QWidget *parent, QString &error) override;
0021     [[nodiscard]] bool needCheckIfServerHasCapability() const override;
0022     [[nodiscard]] QString serverNeedsCapability() const override;
0023     [[nodiscard]] QWidget *createParamWidget(QWidget *parent) const override;
0024     [[nodiscard]] QUrl href() const override;
0025     void setLocalVariable(QWidget *w, const SieveGlobalVariableActionWidget::VariableElement &var);
0026 
0027 private:
0028     bool mHasRegexCapability = false;
0029 };
0030 }