kmail Library API Documentation

KMail::AntiSpamWizard Class Reference

KMail anti-spam wizard. More...

#include <antispamwizard.h>

Collaboration diagram for KMail::AntiSpamWizard:

Collaboration graph
[legend]
List of all members.

Public Types

enum  WizardMode { AntiSpam, AntiVirus }

Public Member Functions

 AntiSpamWizard (WizardMode mode, QWidget *parent, KMFolderTree *mainFolderTree, KActionCollection *collection)

Protected Slots

void checkProgramsSelections ()
void checkSpamRulesSelections ()
void checkVirusRulesSelections ()
void checkToolAvailability ()
void slotHelpClicked ()

Protected Member Functions

void accept ()
int checkForProgram (QString executable)

Classes

class  ConfigReader
 Instances of this class control reading the configuration of the anti-spam tools from global and user config files as well as the merging of different config versions. More...
class  SpamToolConfig
 Instances of this class store the settings for one tool as read from the config file. More...

Detailed Description

KMail anti-spam wizard.

Author:
Andreas Gungl <a.gungl@gmx.de>
The wizard helps to create filter rules to let KMail operate with external anti-spam tools. The wizard tries to detect the tools, but the user can overide the preselections. Then the user can decide what funtionality shall be supported by the created filter rules. The wizard will append the created filter rules after the last existing rule to keep possible conflicts with existing filter configurations minimal.

Anti-virus support was added by Fred Emmott <fred87@users.sf.net>

The configuration for the tools to get checked and set up is read fro a config file. The structure of the file is as following:

    [General]
    tools=1

    [Spamtool #1]
    Ident=spamassassin
    Version=0
    VisibleName=&Spamassassin
    Executable=spamassassin -V
    URL=http://spamassassin.org
    PipeFilterName=SpamAssassin Check
    PipeCmdDetect=spamassassin -L
    ExecCmdSpam=sa-learn --spam --no-rebuild --single
    ExecCmdHam=sa-learn --ham --no-rebuild --single
    DetectionHeader=X-Spam-Flag
    DetectionPattern=yes
    UseRegExp=0
    SupportsBayes=1
    type=spam
    
The name of the config file is kmail.antispamrc and it's expected in the config dir of KDE.

Definition at line 94 of file antispamwizard.h.


Member Enumeration Documentation

enum KMail::AntiSpamWizard::WizardMode
 

The wizard can be used for setting up anti-spam tools and for setting up anti-virus tools.

Definition at line 102 of file antispamwizard.h.


Constructor & Destructor Documentation

AntiSpamWizard::AntiSpamWizard WizardMode  mode,
QWidget parent,
KMFolderTree *  mainFolderTree,
KActionCollection *  collection
 

Constructor that needs to initialize from the main folder tree of KMail.

&param mode The mode the wizard should run in.

Parameters:
parent The parent widget for the wizard.
mainFolderTree The main folder tree from which the folders are copied to allow the selection of a spam folder in a tree within one of the wizard pages.
collection In this collection there the wizard will search for the filter menu actions which get created for classification rules (to add them later to the main toolbar).

Definition at line 55 of file antispamwizard.cpp.

References checkProgramsSelections(), checkSpamRulesSelections(), checkToolAvailability(), checkVirusRulesSelections(), KMail::AntiSpamWizard::ConfigReader::getToolList(), KMail::AntiSpamWizard::ConfigReader::readAndMergeConfig(), and slotHelpClicked().


Member Function Documentation

void AntiSpamWizard::accept  )  [protected]
 

Evaluate the settings made and create the appropriate filter rules.

Definition at line 133 of file antispamwizard.cpp.

References KMFilterAction::argsFromString(), KMSearchRule::createInstance(), KMSearchPattern::setName(), and KMSearchPattern::setOp().

int AntiSpamWizard::checkForProgram QString  executable  )  [protected]
 

Check for the availability of an executible along the PATH.

Definition at line 444 of file antispamwizard.cpp.

Referenced by checkToolAvailability().

void AntiSpamWizard::checkProgramsSelections  )  [protected, slot]
 

Modify the status of the wizard to reflect the selection of spam tools.

Definition at line 370 of file antispamwizard.cpp.

References checkSpamRulesSelections(), and checkVirusRulesSelections().

Referenced by AntiSpamWizard().

void AntiSpamWizard::checkSpamRulesSelections  )  [protected, slot]
 

Modify the status of the wizard to reflect the selected functionality.

Definition at line 413 of file antispamwizard.cpp.

Referenced by AntiSpamWizard(), and checkProgramsSelections().

void AntiSpamWizard::checkVirusRulesSelections  )  [protected, slot]
 

Modify the status of the wizard to reflect the selected functionality.

Definition at line 418 of file antispamwizard.cpp.

Referenced by AntiSpamWizard(), and checkProgramsSelections().

void AntiSpamWizard::checkToolAvailability  )  [protected, slot]
 

Check if the spam tools are available via the PATH.

Definition at line 424 of file antispamwizard.cpp.

References checkForProgram().

Referenced by AntiSpamWizard().

void AntiSpamWizard::slotHelpClicked  )  [protected, slot]
 

Show a help topic.

Definition at line 455 of file antispamwizard.cpp.

Referenced by AntiSpamWizard().


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.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Aug 2 09:55:40 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003