KDE PIM / Developers / API Docs / kmail

KMSearchRule Class Reference

Incoming mail is sent through the list of mail filter rules before it is placed in the associated mail folder (usually "inbox"). This class represents one search pattern rule. More...

#include <kmsearchpattern.h>

Inherited by KMSearchRuleNumerical, KMSearchRuleStatus, and KMSearchRuleString.

List of all members.

Public Types

Public Member Functions

Static Public Member Functions


Detailed Description

Incoming mail is sent through the list of mail filter rules before it is placed in the associated mail folder (usually "inbox"). This class represents one search pattern rule.

This class represents one mail filter rule. It is also used to represent a search rule as used by the search dialog and folders.


Member Enumeration Documentation

enum KMSearchRule::Function
 

Operators for comparison of field and contents.

If you change the order or contents of the enum: do not forget to change funcConfigNames[], sFilterFuncList and matches() in

See also:
KMSearchRule, too. Also, it is assumed that these functions come in pairs of logical opposites (ie. "=" <-> "!=", ">" <-> "<=", etc.).

Member Function Documentation

KMSearchRule * KMSearchRule::createInstance const QCString &  field = 0,
Function  function = FuncContains,
const QString &  contents = QString::null
[static]
 

Create a search rule of a certain type by instantiating the appro- priate subclass depending on the field.

KMSearchRule * KMSearchRule::createInstanceFromConfig const KConfig *  config,
int  aIdx
[static]
 

Initialize the object from a given config file.

The group must be preset. aIdx is an identifier that is used to distinguish rules within a single config group. This function does no validation of the data obtained from the config file. You should call

See also:
isEmpty yourself if you need valid rules.

virtual bool KMSearchRule::matches const KMMessage *  msg  )  const [pure virtual]
 

Tries to match the rule against the given.

See also:
KMMessage.
Returns:
TRUE if the rule matched, FALSE otherwise. Must be implemented by subclasses.

Implemented in KMSearchRuleString, and KMSearchRuleNumerical.

bool KMSearchRule::matches const DwString &  str,
KMMessage &  msg,
const DwBoyerMoore *  headerField = 0,
int  headerLen = -1
const [virtual]
 

Optimized version tries to match the rule against the given.

See also:
DwString.
Returns:
TRUE if the rule matched, FALSE otherwise.

Reimplemented in KMSearchRuleString.

virtual bool KMSearchRule::isEmpty  )  const [pure virtual]
 

Determine whether the rule is worth considering.

It isn't if either the field is not set or the contents is empty.

See also:
KFilter should make sure that it's rule list contains only non-empty rules, as

matches doesn't check this.

Implemented in KMSearchRuleString, and KMSearchRuleNumerical.

virtual bool KMSearchRule::requiresBody  )  const [inline, virtual]
 

Returns true if the rule depends on a complete message, otherwise returns false.

Reimplemented in KMSearchRuleString.

void KMSearchRule::writeConfig KConfig *  config,
int  aIdx
const
 

Save the object into a given config file.

The group must be preset. aIdx is an identifier that is used to distinguish rules within a single config group. This function will happily write itself even when it's not valid, assuming higher layers to Do The Right Thing(TM).

Function KMSearchRule::function  )  const [inline]
 

Return filter function.

This can be any of the operators defined in

See also:
Function.

void KMSearchRule::setFunction Function  aFunction  )  [inline]
 

Set filter function.

QCString KMSearchRule::field  )  const [inline]
 

Return message header field name (without the trailing ':').

There are also six pseudo-headers:

  • <message>: Try to match against the whole message.
  • <body>: Try to match against the body of the message.
  • <any header>: Try to match against any header field.
  • <recipients>: Try to match against both To: and Cc: header fields.
  • <size>: Try to match against size of message (numerical).
  • <age in days>: Try to match against age of message (numerical).
  • <status>: Try to match against status of message (status).

void KMSearchRule::setField const QCString &  field  )  [inline]
 

Set message header field name (make sure there's no trailing colon ':').

QString KMSearchRule::contents  )  const [inline]
 

Return the value.

This can be either a substring to search for in or a regexp pattern to match against the header.

void KMSearchRule::setContents const QString &  aContents  )  [inline]
 

Set the value.

const QString KMSearchRule::asString  )  const
 

Returns the rule as string.

For debugging.


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