kmail

KMFilterAction Class Reference

Abstract base class for KMail's filter actions. More...

#include <kmfilteraction.h>

Inheritance diagram for KMFilterAction:

List of all members.


Public Types

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

Public Member Functions

virtual void applyParamWidgetValue (QWidget *paramWidget)
virtual const QString argsAsString () const =0
virtual void argsFromString (const QString argsStr)=0
virtual void clearParamWidget (QWidget *paramWidget) const
virtual QWidgetcreateParamWidget (QWidget *parent) const
virtual const QString displayString () const =0
virtual bool folderRemoved (KMFolder *aFolder, KMFolder *aNewFolder)
virtual bool isEmpty () const
 KMFilterAction (const char *aName, const QString aLabel)
const QString label () const
const QString name () const
virtual ReturnCode process (KMMessage *msg) const =0
virtual void processAsync (KMMessage *msg) const
virtual bool requiresBody (KMMsgBase *msgBase) const
virtual void setParamWidgetValue (QWidget *paramWidget) const
virtual ~KMFilterAction ()

Static Public Member Functions

static KMFilterActionnewAction ()
static void sendMDN (KMMessage *msg, KMime::MDN::DispositionType d, const QValueList< KMime::MDN::DispositionModifier > &m=QValueList< KMime::MDN::DispositionModifier >())
static int tempOpenFolder (KMFolder *aFolder)

Detailed Description

Abstract base class for KMail's 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.)

Abstract base class for KMail's filter actions.

Author:
Marc Mutz <Marc@Mutz.com>, based on work by Stefan Taferner <taferner@kde.org>.
See also:
KMFilter KMFilterMgr

Definition at line 55 of file kmfilteraction.h.


Member Enumeration Documentation

Possible return codes of process:.

  • ErrorNeedComplete: Could not process because a complete message is needed.
  • GoOn: Go on with applying filter actions.
  • ErrorButGoOn: There was a non-critical error (e.g. an invalid address in the 'forward' action), but the processing should continue.
  • CriticalError: A critical error has occurred during processing (e.g. "disk full").
Enumerator:
ErrorNeedComplete 
GoOn 
ErrorButGoOn 
CriticalError 

Definition at line 73 of file kmfilteraction.h.


Constructor & Destructor Documentation

KMFilterAction::KMFilterAction ( const char *  aName,
const QString  aLabel 
)

Initialize filter action with (english) name aName and (internationalized) label aLabel.

Definition at line 60 of file kmfilteraction.cpp.

KMFilterAction::~KMFilterAction (  )  [virtual]

Definition at line 66 of file kmfilteraction.cpp.


Member Function Documentation

void KMFilterAction::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 KMFilterActionWithString, KMFilterActionWithStringList, KMFilterActionWithFolder, KMFilterActionWithAddress, KMFilterActionWithUrl, KMFilterActionWithCommand, and KMFilterActionWithTest.

Definition at line 93 of file kmfilteraction.cpp.

virtual const QString KMFilterAction::argsAsString (  )  const [pure virtual]

Return extra arguments as string.

Must not contain newlines.

Implemented in KMFilterActionWithNone, KMFilterActionWithString, KMFilterActionWithUOID, KMFilterActionWithFolder, KMFilterActionWithUrl, and KMFilterActionWithTest.

virtual void KMFilterAction::argsFromString ( const QString  argsStr  )  [pure virtual]

void KMFilterAction::clearParamWidget ( QWidget paramWidget  )  const [virtual]

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

Reimplemented in KMFilterActionWithString, KMFilterActionWithStringList, KMFilterActionWithFolder, KMFilterActionWithAddress, KMFilterActionWithUrl, KMFilterActionWithCommand, and KMFilterActionWithTest.

Definition at line 101 of file kmfilteraction.cpp.

QWidget * KMFilterAction::createParamWidget ( QWidget parent  )  const [virtual]

Creates a widget for setting the filter action parameter.

Also sets the value of the widget.

Reimplemented in KMFilterActionWithString, KMFilterActionWithStringList, KMFilterActionWithFolder, KMFilterActionWithAddress, KMFilterActionWithUrl, KMFilterActionWithCommand, and KMFilterActionWithTest.

Definition at line 88 of file kmfilteraction.cpp.

virtual const QString KMFilterAction::displayString (  )  const [pure virtual]

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

in the filter log.

Implemented in KMFilterActionWithNone, KMFilterActionWithString, KMFilterActionWithUOID, KMFilterActionWithFolder, KMFilterActionWithUrl, and KMFilterActionWithTest.

bool KMFilterAction::folderRemoved ( KMFolder aFolder,
KMFolder 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 KMFilterActionWithFolder.

Definition at line 105 of file kmfilteraction.cpp.

virtual bool KMFilterAction::isEmpty (  )  const [inline, 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 KMFilterActionWithString, KMFilterActionWithUOID, KMFilterActionWithFolder, KMFilterActionWithUrl, and KMFilterActionWithTest.

Definition at line 110 of file kmfilteraction.h.

const QString KMFilterAction::label (  )  const [inline]

Returns nationalized label, ie.

the one which is presented in the filter dialog.

Definition at line 82 of file kmfilteraction.h.

const QString KMFilterAction::name (  )  const [inline]

Returns english name, ie.

the one under which it is known in the config.

Definition at line 86 of file kmfilteraction.h.

KMFilterAction * KMFilterAction::newAction ( void   )  [static]

Static function that creates a filter action of this type.

Definition at line 83 of file kmfilteraction.cpp.

virtual ReturnCode KMFilterAction::process ( KMMessage msg  )  const [pure virtual]

Execute action on given message.

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.

void KMFilterAction::processAsync ( KMMessage msg  )  const [virtual]

Execute an action on given message asynchronously.

Emits a result signal on completion.

Definition at line 70 of file kmfilteraction.cpp.

bool KMFilterAction::requiresBody ( KMMsgBase msgBase  )  const [virtual]

Determines if the action depends on the body of the message.

Definition at line 78 of file kmfilteraction.cpp.

void KMFilterAction::sendMDN ( KMMessage msg,
KMime::MDN::DispositionType  d,
const QValueList< KMime::MDN::DispositionModifier > &  m = QValueList<KMime::MDN::DispositionModifier>() 
) [static]

Automates the sending of MDNs from filter actions.

Definition at line 115 of file kmfilteraction.cpp.

void KMFilterAction::setParamWidgetValue ( QWidget paramWidget  )  const [virtual]

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

Reimplemented in KMFilterActionWithString, KMFilterActionWithStringList, KMFilterActionWithFolder, KMFilterActionWithAddress, KMFilterActionWithUrl, KMFilterActionWithCommand, and KMFilterActionWithTest.

Definition at line 97 of file kmfilteraction.cpp.

int KMFilterAction::tempOpenFolder ( KMFolder aFolder  )  [static]

Temporarily open folder.

Will be closed by the next KMFilterMgr::cleanup() call.

Definition at line 110 of file kmfilteraction.cpp.


The documentation for this class was generated from the following files: