kmail Library API Documentation

KMFilterAction Class Reference

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

#include <kmfilteraction.h>

Inheritance diagram for KMFilterAction:

KMFilterActionWithFolder KMFilterActionWithNone KMFilterActionWithString KMFilterActionWithUOID KMFilterActionWithUrl KMFilterActionWithAddress KMFilterActionWithStringList List of all members.

Public Types

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

Public Methods

 KMFilterAction (const char *aName, const QString aLabel)
virtual ~KMFilterAction ()
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 bool isEmpty () const
virtual QWidgetcreateParamWidget (QWidget *parent) const
virtual void applyParamWidgetValue (QWidget *paramWidget)
virtual void setParamWidgetValue (QWidget *paramWidget) const
virtual void clearParamWidget (QWidget *paramWidget) const
virtual void argsFromString (const QString argsStr)=0
virtual const QString argsAsString () const=0
virtual bool folderRemoved (KMFolder *aFolder, KMFolder *aNewFolder)

Static Public Methods

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

Detailed Description

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

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

Definition at line 42 of file kmfilteraction.h.


Member Enumeration Documentation

enum KMFilterAction::ReturnCode
 

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").

Definition at line 60 of file kmfilteraction.h.

Referenced by processAsync().


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 51 of file kmfilteraction.cpp.


Member Function Documentation

const QString KMFilterAction::label   const [inline]
 

Returns nationalized label, ie.

the one which is presented in the filter dialog.

Definition at line 69 of file kmfilteraction.h.

Referenced by KMFilterActionDict::insert(), and KMFilterActionWidget::setAction().

const QString KMFilterAction::name void    const [inline]
 

Returns english name, ie.

the one under which it is known in the config.

Definition at line 73 of file kmfilteraction.h.

Referenced by KMFilterActionDict::insert().

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.

Referenced by processAsync().

void KMFilterAction::processAsync KMMessage *    msg const [virtual]
 

Execute an action on given message asynchronously.

Emits a result signal on completion.

Definition at line 61 of file kmfilteraction.cpp.

References process(), and ReturnCode.

bool KMFilterAction::requiresBody KMMsgBase *    msgBase const [virtual]
 

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

Definition at line 69 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, and KMFilterActionWithUrl.

Definition at line 97 of file kmfilteraction.h.

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, and KMFilterActionWithUrl.

Definition at line 79 of file kmfilteraction.cpp.

Referenced by KMFilterActionWidget::KMFilterActionWidget().

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, and KMFilterActionWithUrl.

Definition at line 84 of file kmfilteraction.cpp.

Referenced by KMFilterActionWidget::action().

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, and KMFilterActionWithUrl.

Definition at line 88 of file kmfilteraction.cpp.

Referenced by KMFilterActionWidget::setAction().

void KMFilterAction::clearParamWidget QWidget   paramWidget const [virtual]
 

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

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

Definition at line 92 of file kmfilteraction.cpp.

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

Read extra arguments from given string.

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

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

Return extra arguments as string.

Must not contain newlines.

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

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 96 of file kmfilteraction.cpp.

KMFilterAction * KMFilterAction::newAction   [static]
 

Static function that creates a filter action of this type.

Definition at line 74 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 101 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 106 of file kmfilteraction.cpp.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kmail Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat May 1 11:37:36 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003