Mailcommon

filteractionaddtoaddressbook.h
1 /*
2  * SPDX-FileCopyrightText: 1996-1998 Stefan Taferner <[email protected]>
3  *
4  * SPDX-License-Identifier: GPL-2.0-or-later
5  *
6  */
7 
8 #pragma once
9 
10 #include "filteractionwithstringlist.h"
11 
12 namespace MailCommon
13 {
14 //=============================================================================
15 // FilterActionAddToAddressBook
16 // - add email address from header to address book
17 //=============================================================================
18 class FilterActionAddToAddressBook : public FilterActionWithStringList
19 {
20  Q_OBJECT
21 public:
22  explicit FilterActionAddToAddressBook(QObject *parent = nullptr);
23  Q_REQUIRED_RESULT ReturnCode process(ItemContext &context, bool applyOnOutbound) const override;
24  static FilterAction *newAction();
25 
26  Q_REQUIRED_RESULT SearchRule::RequiredPart requiredPart() const override;
27 
28  Q_REQUIRED_RESULT bool isEmpty() const override;
29 
30  Q_REQUIRED_RESULT QWidget *createParamWidget(QWidget *parent) const override;
31  void setParamWidgetValue(QWidget *paramWidget) const override;
32  void applyParamWidgetValue(QWidget *paramWidget) override;
33  void clearParamWidget(QWidget *paramWidget) const override;
34 
35  Q_REQUIRED_RESULT QString argsAsString() const override;
36  void argsFromString(const QString &argsStr) override;
37 
38  Q_REQUIRED_RESULT QString informationAboutNotValidAction() const override;
39 
40 private:
41  enum HeaderType { FromHeader, ToHeader, CcHeader, BccHeader, UnknownHeader };
42 
43  const QString mFromStr, mToStr, mCCStr, mBCCStr;
44  HeaderType mHeaderType;
45  Akonadi::Collection::Id mCollectionId;
46  QString mCategory;
47 };
48 }
Q_OBJECTQ_OBJECT
RequiredPart
Possible required parts.
Definition: searchrule.h:68
ReturnCode
Describes the possible return codes of filter processing:
Definition: filteraction.h:45
FilterAction(const QString &name, const QString &label, QObject *parent=nullptr)
Creates a new filter action.
The filter dialog.
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sat Oct 1 2022 04:00:52 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.