• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

mailcommon

  • MailCommon
  • FilterAction
Public Types | Signals | Public Member Functions | Static Public Member Functions | List of all members
MailCommon::FilterAction Class Referenceabstract

#include <filteraction.h>

Inheritance diagram for MailCommon::FilterAction:
Inheritance graph
[legend]

Public Types

enum  ReturnCode { ErrorNeedComplete = 0x1, GoOn = 0x2, ErrorButGoOn = 0x4, CriticalError = 0x8 }
 

Signals

void filterActionModified ()
 

Public Member Functions

 FilterAction (const QString &name, const QString &label, QObject *parent=0)
 
virtual ~FilterAction ()
 
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 QWidget * createParamWidget (QWidget *parent) const
 
virtual QString displayString () const =0
 
virtual bool folderRemoved (const Akonadi::Collection &aFolder, const Akonadi::Collection &aNewFolder)
 
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
 

Static Public Member Functions

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

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 52 of file filteraction.h.

Member Enumeration Documentation

enum MailCommon::FilterAction::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

Definition at line 60 of file filteraction.h.

Constructor & Destructor Documentation

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

Creates a new filter action.

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

Definition at line 36 of file filteraction.cpp.

FilterAction::~FilterAction ( )
virtual

Destroys the filter action.

Definition at line 41 of file filteraction.cpp.

Member Function Documentation

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::FilterActionWithUrl, MailCommon::FilterActionWithStringList, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, MailCommon::FilterActionWithAddress, MailCommon::FilterActionWithTest, MailCommon::FilterActionAddTag, MailCommon::FilterActionWithCommand, MailCommon::FilterActionAddToAddressBook, MailCommon::FilterActionSetTransport, MailCommon::FilterActionRewriteHeader, MailCommon::FilterActionSetIdentity, MailCommon::FilterActionForward, and MailCommon::FilterActionAddHeader.

Definition at line 70 of file filteraction.cpp.

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

Return extra arguments as string.

Must not contain newlines.

Implemented in MailCommon::FilterActionWithUrl, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, MailCommon::FilterActionWithTest, MailCommon::FilterActionSetTransport, MailCommon::FilterActionWithUOID, MailCommon::FilterActionWithNone, MailCommon::FilterActionAddToAddressBook, MailCommon::FilterActionRewriteHeader, MailCommon::FilterActionAddHeader, MailCommon::FilterActionAddTag, MailCommon::FilterActionForward, MailCommon::FilterActionSendFakeDisposition, and MailCommon::FilterActionStatus.

QString FilterAction::argsAsStringReal ( ) const
virtual

Reimplemented in MailCommon::FilterActionWithFolder.

Definition at line 89 of file filteraction.cpp.

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

Read extra arguments from given string.

Implemented in MailCommon::FilterActionWithUrl, MailCommon::FilterActionWithStringList, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, MailCommon::FilterActionWithTest, MailCommon::FilterActionSetTransport, MailCommon::FilterActionWithUOID, MailCommon::FilterActionWithNone, MailCommon::FilterActionAddToAddressBook, MailCommon::FilterActionRewriteHeader, MailCommon::FilterActionAddHeader, MailCommon::FilterActionAddTag, MailCommon::FilterActionForward, MailCommon::FilterActionSendFakeDisposition, and MailCommon::FilterActionStatus.

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

Read extra arguments from given string.

Return true if we need to update config file

Reimplemented in MailCommon::FilterActionWithFolder, MailCommon::FilterActionSetTransport, MailCommon::FilterActionAddTag, MailCommon::FilterActionForward, MailCommon::FilterActionPlaySound, and MailCommon::FilterActionSetIdentity.

Definition at line 82 of file filteraction.cpp.

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

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

Reimplemented in MailCommon::FilterActionWithUrl, MailCommon::FilterActionWithStringList, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, MailCommon::FilterActionWithAddress, MailCommon::FilterActionWithTest, MailCommon::FilterActionWithCommand, MailCommon::FilterActionSetTransport, MailCommon::FilterActionAddTag, MailCommon::FilterActionAddToAddressBook, MailCommon::FilterActionSetIdentity, MailCommon::FilterActionRewriteHeader, MailCommon::FilterActionForward, and MailCommon::FilterActionAddHeader.

Definition at line 78 of file filteraction.cpp.

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

Creates a widget for setting the filter action parameter.

Also sets the value of the widget.

Reimplemented in MailCommon::FilterActionWithUrl, MailCommon::FilterActionWithStringList, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, MailCommon::FilterActionWithAddress, MailCommon::FilterActionWithTest, MailCommon::FilterActionAddTag, MailCommon::FilterActionAddToAddressBook, MailCommon::FilterActionWithCommand, MailCommon::FilterActionSetIdentity, MailCommon::FilterActionRewriteHeader, MailCommon::FilterActionForward, MailCommon::FilterActionSetTransport, MailCommon::FilterActionDelete, MailCommon::FilterActionRemoveHeader, and MailCommon::FilterActionAddHeader.

Definition at line 65 of file filteraction.cpp.

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

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

in the filter log.

Implemented in MailCommon::FilterActionWithUrl, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, MailCommon::FilterActionWithTest, MailCommon::FilterActionSetTransport, MailCommon::FilterActionWithUOID, MailCommon::FilterActionWithNone, MailCommon::FilterActionRewriteHeader, MailCommon::FilterActionAddHeader, MailCommon::FilterActionAddTag, MailCommon::FilterActionForward, MailCommon::FilterActionSendFakeDisposition, and MailCommon::FilterActionStatus.

void MailCommon::FilterAction::filterActionModified ( )
signal

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

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

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 94 of file filteraction.cpp.

bool FilterAction::isEmpty ( ) const
virtual

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::FilterActionSetTransport, MailCommon::FilterActionWithUrl, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithUOID, MailCommon::FilterActionWithString, MailCommon::FilterActionWithTest, MailCommon::FilterActionAddTag, MailCommon::FilterActionAddToAddressBook, MailCommon::FilterActionSendFakeDisposition, and MailCommon::FilterActionStatus.

Definition at line 55 of file filteraction.cpp.

QString FilterAction::label ( ) const

Returns i18n'd label, ie.

the one which is presented in the filter dialog.

Definition at line 45 of file filteraction.cpp.

QString FilterAction::name ( ) const

Returns identifier name, ie.

the one under which it is known in the config.

Definition at line 50 of file filteraction.cpp.

FilterAction * FilterAction::newAction ( )
static

Static function that creates a filter action of this type.

Definition at line 60 of file filteraction.cpp.

virtual ReturnCode MailCommon::FilterAction::process ( ItemContext &  context,
bool  applyOnOutbound 
) const
pure 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.

Implemented in MailCommon::FilterActionPlaySound, MailCommon::FilterActionCopy, MailCommon::FilterActionRewriteHeader, MailCommon::FilterActionForward, MailCommon::FilterActionPipeThrough, MailCommon::FilterActionAddHeader, MailCommon::FilterActionAddTag, MailCommon::FilterActionAddToAddressBook, MailCommon::FilterActionExec, MailCommon::FilterActionMove, MailCommon::FilterActionRedirect, MailCommon::FilterActionRemoveHeader, MailCommon::FilterActionReplyTo, MailCommon::FilterActionSendFakeDisposition, MailCommon::FilterActionSendReceipt, MailCommon::FilterActionSetIdentity, MailCommon::FilterActionSetTransport, MailCommon::FilterActionDelete, MailCommon::FilterActionSetStatus, MailCommon::FilterActionBeep, and MailCommon::FilterActionUnsetStatus.

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

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

See SearchRule::RequiredPart

Implemented in MailCommon::FilterActionPlaySound, MailCommon::FilterActionAddHeader, MailCommon::FilterActionAddToAddressBook, MailCommon::FilterActionCopy, MailCommon::FilterActionRewriteHeader, MailCommon::FilterActionForward, MailCommon::FilterActionMove, MailCommon::FilterActionPipeThrough, MailCommon::FilterActionAddTag, MailCommon::FilterActionExec, MailCommon::FilterActionRedirect, MailCommon::FilterActionRemoveHeader, MailCommon::FilterActionReplyTo, MailCommon::FilterActionSendFakeDisposition, MailCommon::FilterActionSendReceipt, MailCommon::FilterActionSetIdentity, MailCommon::FilterActionSetTransport, MailCommon::FilterActionDelete, MailCommon::FilterActionSetStatus, MailCommon::FilterActionBeep, MailCommon::FilterActionStatus, and MailCommon::FilterActionUnsetStatus.

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 99 of file filteraction.cpp.

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

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

Reimplemented in MailCommon::FilterActionWithUrl, MailCommon::FilterActionWithStringList, MailCommon::FilterActionWithFolder, MailCommon::FilterActionWithString, MailCommon::FilterActionWithAddress, MailCommon::FilterActionWithTest, MailCommon::FilterActionWithCommand, MailCommon::FilterActionAddTag, MailCommon::FilterActionSetTransport, MailCommon::FilterActionAddToAddressBook, MailCommon::FilterActionSetIdentity, MailCommon::FilterActionForward, MailCommon::FilterActionRewriteHeader, MailCommon::FilterActionRemoveHeader, and MailCommon::FilterActionAddHeader.

Definition at line 74 of file filteraction.cpp.

QString FilterAction::sieveCode ( ) const
virtual

Reimplemented in MailCommon::FilterActionAddHeader, MailCommon::FilterActionCopy, MailCommon::FilterActionRemoveHeader, MailCommon::FilterActionMove, MailCommon::FilterActionDelete, MailCommon::FilterActionRedirect, MailCommon::FilterActionSetStatus, and MailCommon::FilterActionUnsetStatus.

Definition at line 132 of file filteraction.cpp.

QStringList FilterAction::sieveRequires ( ) const
virtual

Reimplemented in MailCommon::FilterActionAddHeader, MailCommon::FilterActionCopy, MailCommon::FilterActionMove, MailCommon::FilterActionRemoveHeader, MailCommon::FilterActionSetStatus, and MailCommon::FilterActionUnsetStatus.

Definition at line 127 of file filteraction.cpp.


The documentation for this class was generated from the following files:
  • filteraction.h
  • filteraction.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:55:15 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

mailcommon

Skip menu "mailcommon"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal