KDE PIM / Developers / API Docs / kmail

KMSearchPattern Class Reference

This class is an abstraction of a search over messages.An abstraction of a search over messages. More...

#include <kmsearchpattern.h>

Inherits QPtrList.

List of all members.

Public Types

Public Member Functions


Detailed Description

This class is an abstraction of a search over messages.An abstraction of a search over messages.

It is intended to be used inside a

See also:
KFilter (which adds

KFilterAction's), as well as in

KMSearch. It can read and write itself into a

KConfig group and there is a constructor, mainly used by

KMFilter to initialize from a preset KConfig-Group.

From a class hierarchy point of view, it is a
See also:
QPtrList of

KMSearchRule's that adds the boolean operators (see

Operator) 'and' and 'or' that connect the rules logically, and has a name under which it could be stored in the config file.

As a
See also:
QPtrList with autoDelete enabled, it assumes that it is the central repository for the rules it contains. So if you want to reuse a rule in another pattern, make a deep copy of that rule.
Author:
Marc Mutz <Marc@Mutz.com>


Member Enumeration Documentation

enum KMSearchPattern::Operator
 

Boolean operators that connect the return values of the individual rules.

A pattern with OpAnd will match iff all it's rules match, whereas a pattern with OpOr will match iff any of it's rules matches.


Constructor & Destructor Documentation

KMSearchPattern::KMSearchPattern const KConfig *  config = 0  ) 
 

Constructor that initializes from a given.

See also:
KConfig group, if given. This feature is mainly (solely?) used in

KMFilter, as we don't allow to store search patterns in the config (yet). If config is 0, provides a pattern with minimal, but sufficient initialization. Unmodified, such a pattern will fail to match any

KMMessage. You can query for such an empty rule by using

isEmpty, which is inherited from

QPtrList.

KMSearchPattern::~KMSearchPattern  ) 
 

Destructor.

Deletes all stored rules!


Member Function Documentation

bool KMSearchPattern::matches const KMMessage *  msg,
bool  ignoreBody = false
const
 

The central function of this class.

Tries to match the set of rules against a

See also:
KMMessage. It's virtual to allow derived classes with added rules to reimplement it, yet reimplemented methods should and (&&) the result of this function with their own result or else most functionality is lacking, or has to be reimplemented, since the rules are private to this class.
Returns:
TRUE if the match was successful, FALSE otherwise.

bool KMSearchPattern::requiresBody  )  const
 

Returns true if the pattern only depends the DwString that backs a message.

void KMSearchPattern::purify  ) 
 

Removes all empty rules from the list.

You should call this method whenever the user had had control of the rules outside of this class. (e.g. after editing it with

See also:
KMSearchPatternEdit).

void KMSearchPattern::readConfig const KConfig *  config  ) 
 

Reads a search pattern from a.

See also:
KConfig. The group has to be preset. If it does not find a valid saerch pattern in the preset group, initializes the pattern as if it were constructed using the default constructor.
For backwards compatibility with previous versions of KMail, it checks for old-style filter rules (e.g. using OpIgnore) in config und converts them to the new format on
See also:
writeConfig.
Derived classes reimplementing readConfig() should also call this method, or else the rules will not be loaded.

void KMSearchPattern::writeConfig KConfig *  config  )  const
 

Writes itself into config.

The group has to be preset. Tries to delete old-style keys by overwriting them with QString::null.

Derived classes reimplementing writeConfig() should also call this method, or else the rules will not be stored.

QString KMSearchPattern::name  )  const [inline]
 

Get the name of the search pattern.

void KMSearchPattern::setName const QString &  newName  )  [inline]
 

Set the name of the search pattern.

See also:
KMFilter uses this to store it's own name, too.

KMSearchPattern::Operator KMSearchPattern::op  )  const [inline]
 

Get the filter operator.

void KMSearchPattern::setOp KMSearchPattern::Operator  aOp  )  [inline]
 

Set the filter operator.

QString KMSearchPattern::asString  )  const
 

Returns the pattern as string.

For debugging.

const KMSearchPattern & KMSearchPattern::operator= const KMSearchPattern aPattern  ) 
 

Overloaded assignment operator.

Makes a deep copy.


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