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 "filteractionwithstringlist.h"
11
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 FilterActionAddTag : public FilterAction
23{
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 void fillComboBox();
51 mutable QMap<QUrl, QString> mList;
52 QString mParameter;
53 mutable QPointer<QComboBox> mComboBox;
54};
55}
FilterAction(const QString &name, const QString &label, QObject *parent=nullptr)
Creates a new filter action.
ReturnCode
Describes the possible return codes of filter processing:
RequiredPart
Possible required parts.
Definition searchrule.h:68
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.