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
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 */
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}
Abstract base class for filter actions with a free-form string as parameter.
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.
Abstract base class for mail filter actions.
QString name() const
Returns identifier name, ie.
QString label() const
Returns i18n'd label, ie.
The filter dialog.
Q_OBJECTQ_OBJECT
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:14:00 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.