File indexing completed on 2024-09-22 04:50:02

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 class FilterActionWithTest : public FilterAction
0015 {
0016     Q_OBJECT
0017 public:
0018     /**
0019      * @copydoc FilterAction::FilterAction
0020      */
0021     explicit FilterActionWithTest(const QString &name, const QString &label, QObject *parent = nullptr);
0022 
0023     /**
0024      * @copydoc FilterAction::~FilterAction
0025      */
0026     ~FilterActionWithTest() override;
0027 
0028     /**
0029      * @copydoc FilterAction::isEmpty
0030      */
0031     [[nodiscard]] bool isEmpty() const override;
0032 
0033     /**
0034      * @copydoc FilterAction::createParamWidget
0035      */
0036     [[nodiscard]] QWidget *createParamWidget(QWidget *parent) const override;
0037 
0038     /**
0039      * @copydoc FilterAction::applyParamWidgetValue
0040      */
0041     void applyParamWidgetValue(QWidget *paramWidget) override;
0042 
0043     /**
0044      * @copydoc FilterAction::setParamWidgetValue
0045      */
0046     void setParamWidgetValue(QWidget *paramWidget) const override;
0047 
0048     /**
0049      * @copydoc FilterAction::clearParamWidget
0050      */
0051     void clearParamWidget(QWidget *paramWidget) const override;
0052 
0053     /**
0054      * @copydoc FilterAction::argsFromString
0055      */
0056     void argsFromString(const QString &argsStr) override;
0057 
0058     /**
0059      * @copydoc FilterAction::argsAsString
0060      */
0061     [[nodiscard]] QString argsAsString() const override;
0062 
0063     /**
0064      * @copydoc FilterAction::displayString
0065      */
0066     [[nodiscard]] QString displayString() const override;
0067 
0068 protected:
0069     QString mParameter;
0070 };
0071 }