kmail Library API Documentation

KMFilterListBox Class Reference

This is a complex widget that is used to manipulate KMail's filter list.A complex widget that allows managing a list of KMFilter's. More...

#include <kmfilterdlg.h>

Inheritance diagram for KMFilterListBox:

Inheritance graph
[legend]
Collaboration diagram for KMFilterListBox:

Collaboration graph
[legend]
List of all members.

Public Slots

void slotUpdateFilterName ()
void slotApplyFilterChanges ()
void slotShowLaterToggled (bool aOn)

Signals

void filterSelected (KMFilter *filter)
void resetWidgets ()
void applyWidgets ()

Public Member Functions

 KMFilterListBox (const QString &title, QWidget *parent=0, const char *name=0, bool popFilter=false)
void createFilter (const QCString &field, const QString &value)
void loadFilterList ()
bool showLaterMsgs ()

Protected Slots

void slotSelected (int aIdx)
void slotNew ()
void slotCopy ()
void slotDelete ()
void slotUp ()
void slotDown ()
void slotRename ()
void slotSelectSourceFolders ()

Protected Attributes

QPtrList< KMFilter > mFilterList
QListBoxmListBox
QPushButtonmBtnNew
QPushButtonmBtnCopy
QPushButtonmBtnDelete
QPushButtonmBtnUp
QPushButtonmBtnDown
QPushButtonmBtnRename
int mIdxSelItem
bool mShowLater

Detailed Description

This is a complex widget that is used to manipulate KMail's filter list.A complex widget that allows managing a list of KMFilter's.

It consists of an internal list of filters, which is a deep copy of the list KMFilterMgr manages, a QListBox displaying that list, and a few buttons used to create new filters, delete them, rename them and change the order of filters.

It does not provide means to change the actual filter (besides the name), but relies on auxiliary widgets (KMSearchPatternEdit and KMFilterActionEdit) to do that.

Communication with this widget is quite easy: simply create an instance, connect the signals filterSelected, resetWidgets and applyWidgets with a slot that does the right thing and there you go...

This widget will operate on it's own copy of the filter list as long as you don't call slotApplyFilterChanges. It will then transfer the altered filter list back to KMFilterMgr.

Author:
Marc Mutz <Marc@Mutz.com>, based upon work by Stefan Taferner <taferner@kde.org>.
See also:
KMFilter KMFilterDlg KMFilterActionEdit KMSearchPatternEdit

Definition at line 58 of file kmfilterdlg.h.


Constructor & Destructor Documentation

KMFilterListBox::KMFilterListBox const QString title,
QWidget parent = 0,
const char *  name = 0,
bool  popFilter = false
 

Constuctor.

Definition at line 390 of file kmfilterdlg.cpp.

References mBtnCopy, mBtnDelete, mBtnDown, mBtnNew, mBtnRename, mBtnUp, mFilterList, mIdxSelItem, mListBox, slotCopy(), slotDelete(), slotDown(), slotNew(), slotRename(), slotSelected(), and slotUp().


Member Function Documentation

void KMFilterListBox::createFilter const QCString field,
const QString value
 

Called from KMFilterDlg.

Creates a new filter and presets the first rule with "field equals value". It's there mainly to support "rapid filter creation" from a context menu. You should instead call KMFilterMgr::createFilter.

See also:
KMFilterMgr::createFilter KMFilterDlg::createFilter

Definition at line 472 of file kmfilterdlg.cpp.

References KMSearchRule::createInstance().

Referenced by KMFilterDlg::createFilter().

void KMFilterListBox::loadFilterList  ) 
 

Loads the filter list and selects the first filter.

Should be called when all signals are connected properly.

Definition at line 749 of file kmfilterdlg.cpp.

References mFilterList, mListBox, and slotNew().

bool KMFilterListBox::showLaterMsgs  ) 
 

Returns wheather the global option 'Show Later Msgs' is set or not.

Definition at line 489 of file kmfilterdlg.cpp.

Referenced by KMFilterDlg::slotFilterSelected().

void KMFilterListBox::filterSelected KMFilter *  filter  )  [signal]
 

Emitted when a new filter has been selected by the user or if the current filter has changed after a 'new' or 'delete' operation.

Referenced by slotSelected().

void KMFilterListBox::resetWidgets  )  [signal]
 

Emitted when this widget wants the edit widgets to let go of their filter reference.

Everyone holding a reference to a filter should update it from the contents of the widgets used to edit it and set their internal reference to 0.

Referenced by slotApplyFilterChanges(), slotDelete(), and slotSelected().

void KMFilterListBox::applyWidgets  )  [signal]
 

Emitted when this widget wants the edit widgets to apply the changes to the current filter.

Referenced by slotCopy().

void KMFilterListBox::slotUpdateFilterName  )  [slot]
 

Called when the name of a filter might have changed (e.g.

through changing the first rule in KMSearchPatternEdit). Updates the corresponding entry in the listbox and (if necessary) auto-names the filter.

Definition at line 494 of file kmfilterdlg.cpp.

References mFilterList, mIdxSelItem, mListBox, KMSearchPattern::name(), and KMSearchPattern::setName().

Referenced by slotRename().

void KMFilterListBox::slotApplyFilterChanges  )  [slot]
 

Called when the user clicks either 'Apply' or 'OK' in KMFilterDlg.

Updates the filter list in the KMFilterMgr.

Definition at line 523 of file kmfilterdlg.cpp.

References mFilterList, mIdxSelItem, mListBox, resetWidgets(), and slotSelected().

void KMFilterListBox::slotShowLaterToggled bool  aOn  )  [slot]
 

Called when the user toggles the 'Show Download Later Msgs' Checkbox in the Global Options section.

Definition at line 518 of file kmfilterdlg.cpp.

void KMFilterListBox::slotSelected int  aIdx  )  [protected, slot]
 

Called when the user clicks on a filter in the filter list.

Calculates the corresponding filter and emits the filterSelected signal.

Definition at line 584 of file kmfilterdlg.cpp.

References filterSelected(), mFilterList, mIdxSelItem, and resetWidgets().

Referenced by KMFilterListBox(), and slotApplyFilterChanges().

void KMFilterListBox::slotNew  )  [protected, slot]
 

Called when the user clicks the 'New' button.

Creates a new empty filter just before the current one.

Definition at line 596 of file kmfilterdlg.cpp.

Referenced by KMFilterListBox(), and loadFilterList().

void KMFilterListBox::slotCopy  )  [protected, slot]
 

Called when the user clicks the 'Copy' button.

Creates a copy of the current filter and inserts it just before the current one.

Definition at line 603 of file kmfilterdlg.cpp.

References applyWidgets(), mFilterList, and mIdxSelItem.

Referenced by KMFilterListBox().

void KMFilterListBox::slotDelete  )  [protected, slot]
 

Called when the user clicks the 'Delete' button.

Deletes the current filter.

Definition at line 624 of file kmfilterdlg.cpp.

References mFilterList, mIdxSelItem, mListBox, and resetWidgets().

Referenced by KMFilterListBox().

void KMFilterListBox::slotUp  )  [protected, slot]
 

Called when the user clicks the 'Up' button.

Moves the current filter up one line.

Definition at line 658 of file kmfilterdlg.cpp.

References mIdxSelItem.

Referenced by KMFilterListBox().

void KMFilterListBox::slotDown  )  [protected, slot]
 

Called when the user clicks the 'Down' button.

Moves the current filter down one line.

Definition at line 673 of file kmfilterdlg.cpp.

References mIdxSelItem, and mListBox.

Referenced by KMFilterListBox().

void KMFilterListBox::slotRename  )  [protected, slot]
 

Called when the user clicks the 'Rename' button.

Pops up a dialog prompting to enter the new name.

Definition at line 688 of file kmfilterdlg.cpp.

References mFilterList, mIdxSelItem, and slotUpdateFilterName().

Referenced by KMFilterListBox().


Member Data Documentation

QPtrList<KMFilter> KMFilterListBox::mFilterList [protected]
 

The deep copy of the filter list.

Definition at line 137 of file kmfilterdlg.h.

Referenced by KMFilterListBox(), loadFilterList(), slotApplyFilterChanges(), slotCopy(), slotDelete(), slotRename(), slotSelected(), and slotUpdateFilterName().

QListBox* KMFilterListBox::mListBox [protected]
 

The listbox displaying the filter list.

Definition at line 139 of file kmfilterdlg.h.

Referenced by KMFilterListBox(), loadFilterList(), slotApplyFilterChanges(), slotDelete(), slotDown(), and slotUpdateFilterName().

QPushButton* KMFilterListBox::mBtnNew [protected]
 

The various action buttons.

Definition at line 141 of file kmfilterdlg.h.

Referenced by KMFilterListBox().

QPushButton * KMFilterListBox::mBtnCopy [protected]
 

The various action buttons.

Definition at line 141 of file kmfilterdlg.h.

Referenced by KMFilterListBox().

QPushButton * KMFilterListBox::mBtnDelete [protected]
 

The various action buttons.

Definition at line 141 of file kmfilterdlg.h.

Referenced by KMFilterListBox().

QPushButton * KMFilterListBox::mBtnUp [protected]
 

The various action buttons.

Definition at line 141 of file kmfilterdlg.h.

Referenced by KMFilterListBox().

QPushButton * KMFilterListBox::mBtnDown [protected]
 

The various action buttons.

Definition at line 141 of file kmfilterdlg.h.

Referenced by KMFilterListBox().

QPushButton * KMFilterListBox::mBtnRename [protected]
 

The various action buttons.

Definition at line 141 of file kmfilterdlg.h.

Referenced by KMFilterListBox().

int KMFilterListBox::mIdxSelItem [protected]
 

The index of the currently selected item.

Definition at line 143 of file kmfilterdlg.h.

Referenced by KMFilterListBox(), slotApplyFilterChanges(), slotCopy(), slotDelete(), slotDown(), slotRename(), slotSelected(), slotUp(), and slotUpdateFilterName().


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 23 18:21:42 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003