MailCommon::FilterAction

Search for usage in LXR

MailCommon::FilterAction Class Referenceabstract

#include <filteraction.h>

Inheritance diagram for MailCommon::FilterAction:

Public Types

enum  ReturnCode { ErrorNeedComplete = 0x1 , GoOn = 0x2 , ErrorButGoOn = 0x4 , CriticalError = 0x8 }
 
- Public Types inherited from QObject
typedef  QObjectList
 

Signals

void filterActionModified ()
 

Public Member Functions

 FilterAction (const QString &name, const QString &label, QObject *parent=nullptr)
 
 ~FilterAction () override
 
virtual void applyParamWidgetValue (QWidget *paramWidget)
 
virtual QString argsAsString () const =0
 
virtual QString argsAsStringReal () const
 
virtual void argsFromString (const QString &argsStr)=0
 
virtual bool argsFromStringInteractive (const QString &argsStr, const QString &filterName)
 
virtual void clearParamWidget (QWidget *paramWidget) const
 
virtual QWidgetcreateParamWidget (QWidget *parent) const
 
virtual QString displayString () const =0
 
virtual bool folderRemoved (const Akonadi::Collection &aFolder, const Akonadi::Collection &aNewFolder)
 
virtual QString informationAboutNotValidAction () const
 
virtual bool isEmpty () const
 
QString label () const
 
QString name () const
 
virtual ReturnCode process (ItemContext &context, bool applyOnOutbound) const =0
 
virtual SearchRule::RequiredPart requiredPart () const =0
 
virtual void setParamWidgetValue (QWidget *paramWidget) const
 
virtual QString sieveCode () const
 
virtual QStringList sieveRequires () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
QBindable< QStringbindableObjectName ()
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo () const const
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType)
 
QThreadthread () const const
 

Static Public Member Functions

static FilterActionnewAction ()
 
static void sendMDN (const Akonadi::Item &item, KMime::MDN::DispositionType d, const QList< KMime::MDN::DispositionModifier > &m=QList< KMime::MDN::DispositionModifier >())
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Detailed Description

Abstract base class for mail filter actions.

Abstract base class for mail filter actions. All it can do is hold a name (ie. type-string). There are several sub-classes that inherit form this and are capable of providing parameter handling (import/export as string, a widget to allow editing, etc.)

Author
Marc Mutz mutz@.nosp@m.kde..nosp@m.org, based on work by Stefan Taferner tafer.nosp@m.ner@.nosp@m.kde.o.nosp@m.rg.
See also
Filter FilterMgr

Definition at line 38 of file filteraction.h.

Member Enumeration Documentation

◆ ReturnCode

Describes the possible return codes of filter processing:

Enumerator
ErrorNeedComplete 

Could not process because a complete message is needed.

GoOn 

Go on with applying filter actions.

ErrorButGoOn 

A non-critical error occurred.

CriticalError 

(e.g.

an invalid address in the 'forward' action), but processing should continue. A critical error occurred during processing (e.g. "disk full").

Definition at line 45 of file filteraction.h.

Constructor & Destructor Documentation

◆ FilterAction()

FilterAction::FilterAction ( const QString & name,
const QString & label,
QObject * parent = nullptr )

Creates a new filter action.

The action is initialized with an identifier name and an i18n'd label.

Definition at line 26 of file filteraction.cpp.

◆ ~FilterAction()

FilterAction::~FilterAction ( )
overridedefault

Destroys the filter action.

Member Function Documentation

◆ applyParamWidgetValue()

void FilterAction::applyParamWidgetValue ( QWidget * paramWidget)
virtual

The filter action shall set it's parameter from the widget's contents.

It is allowed that the value is read by the action before this function is called.

Reimplemented in MailCommon::FilterActionWithAddress, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, and MailCommon::FilterActionWithStringList.

Definition at line 67 of file filteraction.cpp.

◆ argsAsString()

virtual QString MailCommon::FilterAction::argsAsString ( ) const
nodiscardpure virtual

Return extra arguments as string.

Must not contain newlines.

Implemented in MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithNone, MailCommon::FilterActionWithString, and MailCommon::FilterActionWithUOID.

◆ argsAsStringReal()

QString FilterAction::argsAsStringReal ( ) const
nodiscardvirtual

Definition at line 86 of file filteraction.cpp.

◆ argsFromString()

virtual void MailCommon::FilterAction::argsFromString ( const QString & argsStr)
pure virtual

◆ argsFromStringInteractive()

bool FilterAction::argsFromStringInteractive ( const QString & argsStr,
const QString & filterName )
nodiscardvirtual

Read extra arguments from given string.

Return true if we need to update config file

Reimplemented in MailCommon::FilterActionWithFolder.

Definition at line 79 of file filteraction.cpp.

◆ clearParamWidget()

void FilterAction::clearParamWidget ( QWidget * paramWidget) const
virtual

The filter action shall clear it's parameter widget's contents.

Reimplemented in MailCommon::FilterActionWithAddress, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, and MailCommon::FilterActionWithStringList.

Definition at line 75 of file filteraction.cpp.

◆ createParamWidget()

QWidget * FilterAction::createParamWidget ( QWidget * parent) const
nodiscardvirtual

Creates a widget for setting the filter action parameter.

Also sets the value of the widget.

Reimplemented in MailCommon::FilterActionWithAddress, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, and MailCommon::FilterActionWithStringList.

Definition at line 60 of file filteraction.cpp.

◆ displayString()

virtual QString MailCommon::FilterAction::displayString ( ) const
nodiscardpure virtual

Returns a translated string describing this filter for visualization purposes, e.g.

in the filter log.

Implemented in MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithNone, MailCommon::FilterActionWithString, and MailCommon::FilterActionWithUOID.

◆ filterActionModified

void MailCommon::FilterAction::filterActionModified ( )
signal

Called to notify that the current FilterAction has had some value modification.

◆ folderRemoved()

bool FilterAction::folderRemoved ( const Akonadi::Collection & aFolder,
const Akonadi::Collection & aNewFolder )
nodiscardvirtual

Called from the filter when a folder is removed.

Tests if the folder aFolder is used and changes to aNewFolder in this case. Returns true if a change was made.

Reimplemented in MailCommon::FilterActionWithFolder.

Definition at line 91 of file filteraction.cpp.

◆ informationAboutNotValidAction()

QString FilterAction::informationAboutNotValidAction ( ) const
nodiscardvirtual

Definition at line 50 of file filteraction.cpp.

◆ isEmpty()

bool FilterAction::isEmpty ( ) const
nodiscardvirtual

Determines whether this action is valid.

But this is just a quick test. Eg., actions that have a mail address as parameter shouldn't try real address validation, but only check if the string representation is empty.

Reimplemented in MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, and MailCommon::FilterActionWithUOID.

Definition at line 45 of file filteraction.cpp.

◆ label()

QString FilterAction::label ( ) const
nodiscard

Returns i18n'd label, ie.

the one which is presented in the filter dialog.

Definition at line 35 of file filteraction.cpp.

◆ name()

QString FilterAction::name ( ) const
nodiscard

Returns identifier name, ie.

the one under which it is known in the config.

Definition at line 40 of file filteraction.cpp.

◆ newAction()

FilterAction * FilterAction::newAction ( )
static

Static function that creates a filter action of this type.

Definition at line 55 of file filteraction.cpp.

◆ process()

virtual ReturnCode MailCommon::FilterAction::process ( ItemContext & context,
bool applyOnOutbound ) const
nodiscardpure virtual

Execute action on given message (inside the item context).

Returns CriticalError if a critical error has occurred (eg. disk full), ErrorButGoOn if there was a non-critical error (e.g. invalid address in 'forward' action), ErrorNeedComplete if a complete message is required, GoOn if the message shall be processed by further filters and Ok otherwise.

◆ requiredPart()

virtual SearchRule::RequiredPart MailCommon::FilterAction::requiredPart ( ) const
nodiscardpure virtual

Returns the required part from the item that is needed for the action to operate.

See MailCommon::SearchRule::RequiredPart

◆ sendMDN()

void FilterAction::sendMDN ( const Akonadi::Item & item,
KMime::MDN::DispositionType d,
const QList< KMime::MDN::DispositionModifier > & m = QList<KMime::MDN::DispositionModifier>() )
static

Automates the sending of MDNs from filter actions.

Definition at line 96 of file filteraction.cpp.

◆ setParamWidgetValue()

void FilterAction::setParamWidgetValue ( QWidget * paramWidget) const
virtual

The filter action shall set it's widget's contents from it's parameter.

Reimplemented in MailCommon::FilterActionWithAddress, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, and MailCommon::FilterActionWithStringList.

Definition at line 71 of file filteraction.cpp.

◆ sieveCode()

QString FilterAction::sieveCode ( ) const
nodiscardvirtual

Definition at line 131 of file filteraction.cpp.

◆ sieveRequires()

QStringList FilterAction::sieveRequires ( ) const
nodiscardvirtual

Definition at line 126 of file filteraction.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:09:01 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.