Mailcommon

filteractionwithstring.h
1/*
2 * SPDX-FileCopyrightText: 1996-1998 Stefan Taferner <taferner@kde.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 *
6 */
7
8#pragma once
9
10#include "filteraction.h"
11#include "mailcommon_private_export.h"
12namespace MailCommon
13{
14/**
15 * @short Abstract base class for filter actions with a free-form string as parameter.
16 *
17 * Abstract base class for mail filter actions that need a
18 * free-form parameter, e.g. 'set transport' or 'set reply to'. Can
19 * create a QLineEdit as parameter widget. A subclass of this
20 * must provide at least implementations for the following methods:
21 *
22 * @li virtual FilterAction::ReturnCodes FilterAction::process
23 * @li static FilterAction::newAction
24 *
25 * @author Marc Mutz <mutz@kde.org>, based upon work by Stefan Taferner <taferner@kde.org>
26 * @see FilterAction Filter
27 */
28class MAILCOMMON_TESTS_EXPORT FilterActionWithString : public FilterAction
29{
31public:
32 /**
33 * @copydoc FilterAction::FilterAction
34 */
35 FilterActionWithString(const QString &name, const QString &label, QObject *parent = nullptr);
36
37 /**
38 * @copydoc FilterAction::isEmpty
39 */
40 [[nodiscard]] bool isEmpty() const override;
41
42 /**
43 * @copydoc FilterAction::createParamWidget
44 */
45 [[nodiscard]] QWidget *createParamWidget(QWidget *parent) const override;
46
47 /**
48 * @copydoc FilterAction::applyParamWidgetValue
49 */
50 void applyParamWidgetValue(QWidget *paramWidget) override;
51
52 /**
53 * @copydoc FilterAction::setParamWidgetValue
54 */
55 void setParamWidgetValue(QWidget *paramWidget) const override;
56
57 /**
58 * @copydoc FilterAction::clearParamWidget
59 */
60 void clearParamWidget(QWidget *paramWidget) const override;
61
62 /**
63 * @copydoc FilterAction::argsFromString
64 */
65 void argsFromString(const QString &argsStr) override;
66
67 /**
68 * @copydoc FilterAction::argsAsString
69 */
70 [[nodiscard]] QString argsAsString() const override;
71
72 /**
73 * @copydoc FilterAction::displayString
74 */
75 [[nodiscard]] QString displayString() const override;
76
77protected:
78 QString mParameter;
79};
80}
QWidget * createParamWidget(QWidget *parent) const override
Creates a widget for setting the filter action parameter.
void setParamWidgetValue(QWidget *paramWidget) const override
The filter action shall set it's widget's contents from it's parameter.
void clearParamWidget(QWidget *paramWidget) const override
The filter action shall clear it's parameter widget's contents.
FilterActionWithString(const QString &name, const QString &label, QObject *parent=nullptr)
Creates a new filter action.
QString argsAsString() const override
Return extra arguments as string.
bool isEmpty() const override
Determines whether this action is valid.
void argsFromString(const QString &argsStr) override
Read extra arguments from given string.
void applyParamWidgetValue(QWidget *paramWidget) override
The filter action shall set it's parameter from the widget's contents.
QString displayString() const override
Returns a translated string describing this filter for visualization purposes, e.g.
FilterAction(const QString &name, const QString &label, QObject *parent=nullptr)
Creates a new filter action.
QString name() const
Returns identifier name, ie.
QString label() const
Returns i18n'd label, ie.
The filter dialog.
QObject(QObject *parent)
Q_OBJECTQ_OBJECT
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 21 2025 11:49:21 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.