File indexing completed on 2024-09-22 04:50:00
0001 /* 0002 * SPDX-FileCopyrightText: 1996-1998 Stefan Taferner <taferner@kde.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 * 0006 */ 0007 0008 #pragma once 0009 0010 #include "filteractionwithstringlist.h" 0011 0012 #include <QRegularExpression> 0013 0014 namespace MailCommon 0015 { 0016 //============================================================================= 0017 // FilterActionRewriteHeader - rewrite header 0018 // Rewrite a header using a regexp. 0019 //============================================================================= 0020 class FilterActionRewriteHeader : public FilterActionWithStringList 0021 { 0022 Q_OBJECT 0023 public: 0024 explicit FilterActionRewriteHeader(QObject *parent = nullptr); 0025 [[nodiscard]] ReturnCode process(ItemContext &context, bool applyOnOutbound) const override; 0026 [[nodiscard]] SearchRule::RequiredPart requiredPart() const override; 0027 [[nodiscard]] QWidget *createParamWidget(QWidget *parent) const override; 0028 void setParamWidgetValue(QWidget *paramWidget) const override; 0029 void applyParamWidgetValue(QWidget *paramWidget) override; 0030 void clearParamWidget(QWidget *paramWidget) const override; 0031 0032 [[nodiscard]] QString argsAsString() const override; 0033 void argsFromString(const QString &argsStr) override; 0034 0035 [[nodiscard]] QString displayString() const override; 0036 0037 static FilterAction *newAction(); 0038 0039 [[nodiscard]] bool isEmpty() const override; 0040 [[nodiscard]] QString informationAboutNotValidAction() const override; 0041 0042 private: 0043 QRegularExpression mRegex; 0044 QString mReplacementString; 0045 }; 0046 }