Mailcommon

filteractionaddtag.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"
12#include <QPointer>
13
14class QComboBox;
15
16namespace MailCommon
17{
18//=============================================================================
19// FilterActionAddTag - append tag to message
20// Appends a tag to messages
21//=============================================================================
22class MAILCOMMON_TESTS_EXPORT FilterActionAddTag : public FilterAction
23{
24 Q_OBJECT
25public:
26 explicit FilterActionAddTag(QObject *parent = nullptr);
27 ReturnCode process(ItemContext &context, bool applyOnOutbound) const override;
28 SearchRule::RequiredPart requiredPart() const override;
29
30 static FilterAction *newAction();
31
32 [[nodiscard]] bool isEmpty() const override;
33
34 void argsFromString(const QString &argsStr) override;
35 [[nodiscard]] QString argsAsString() const override;
36 [[nodiscard]] QString displayString() const override;
37 [[nodiscard]] bool argsFromStringInteractive(const QString &argsStr, const QString &filterName) override;
38
39 [[nodiscard]] QWidget *createParamWidget(QWidget *parent) const override;
40 void applyParamWidgetValue(QWidget *paramWidget) override;
41 void setParamWidgetValue(QWidget *paramWidget) const override;
42 void clearParamWidget(QWidget *paramWidget) const override;
43
44 [[nodiscard]] QString informationAboutNotValidAction() const override;
45
46private:
47 void slotTagListingFinished();
48
49private:
50 MAILCOMMON_NO_EXPORT void fillComboBox();
51 mutable QMap<QUrl, QString> mList;
52 QString mParameter;
53 mutable QPointer<QComboBox> mComboBox;
54};
55}
Abstract base class for mail filter actions.
The filter dialog.
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Mar 21 2025 12:03:24 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.