File indexing completed on 2024-09-22 04:50:01
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 "filteraction.h" 0011 0012 namespace MailCommon 0013 { 0014 //============================================================================= 0015 // FilterActionSetTransport - set transport to... 0016 // Specify mail transport (smtp server) to be used when replying to a message 0017 //============================================================================= 0018 class FilterActionSetTransport : public FilterAction 0019 { 0020 Q_OBJECT 0021 public: 0022 explicit FilterActionSetTransport(QObject *parent = nullptr); 0023 ReturnCode process(ItemContext &context, bool applyOnOutbound) const override; 0024 [[nodiscard]] SearchRule::RequiredPart requiredPart() const override; 0025 static FilterAction *newAction(); 0026 QWidget *createParamWidget(QWidget *parent) const override; 0027 /** 0028 * @copydoc FilterAction::applyParamWidgetValue 0029 */ 0030 void applyParamWidgetValue(QWidget *paramWidget) override; 0031 0032 /** 0033 * @copydoc FilterAction::setParamWidgetValue 0034 */ 0035 void setParamWidgetValue(QWidget *paramWidget) const override; 0036 0037 /** 0038 * @copydoc FilterAction::clearParamWidget 0039 */ 0040 void clearParamWidget(QWidget *paramWidget) const override; 0041 0042 [[nodiscard]] bool argsFromStringInteractive(const QString &argsStr, const QString &filterName) override; 0043 0044 /** 0045 * @copydoc FilterAction::argsFromString 0046 */ 0047 void argsFromString(const QString &argsStr) override; 0048 /** 0049 * @copydoc FilterAction::isEmpty 0050 */ 0051 [[nodiscard]] bool isEmpty() const override; 0052 /** 0053 * @copydoc FilterAction::argsAsString 0054 */ 0055 [[nodiscard]] QString argsAsString() const override; 0056 0057 /** 0058 * @copydoc FilterAction::displayString 0059 */ 0060 [[nodiscard]] QString displayString() const override; 0061 [[nodiscard]] QString informationAboutNotValidAction() const override; 0062 0063 protected: 0064 int mParameter; 0065 mutable QString mTransportName; 0066 }; 0067 }