kmail Library API Documentation

kmfiltermgr.h

00001 /* Mail Filter Manager 00002 * 00003 * Author: Stefan Taferner <taferner@kde.org> 00004 * This code is under GPL 00005 */ 00006 #ifndef kmfiltermgr_h 00007 #define kmfiltermgr_h 00008 00009 #include "kmfilteraction.h" // for KMFilterAction::ReturnCode 00010 #include "kmfolder.h" 00011 00012 #include <qptrlist.h> 00013 #include <qguardedptr.h> 00014 #include <qobject.h> 00015 00016 class KMFilter; 00017 class KMFilterDlg; 00018 00019 class KMFilterMgr: public QObject, public QPtrList<KMFilter> 00020 { 00021 Q_OBJECT 00022 00023 public: 00024 KMFilterMgr(bool popFilter = false); 00025 virtual ~KMFilterMgr(); 00026 00027 enum FilterSet { NoSet = 0x0, Inbound = 0x1, Outbound = 0x2, Explicit = 0x4, 00028 All = Inbound|Outbound|Explicit }; 00029 00031 void readConfig(void); 00032 00034 void writeConfig(bool withSync=TRUE); 00035 00037 void openDialog( QWidget *parent ); 00038 00041 void createFilter( const QCString & field, const QString & value ); 00042 00043 bool beginFiltering(KMMsgBase *msgBase) const; 00044 int moveMessage(KMMessage *msg) const; 00045 void endFiltering(KMMsgBase *msgBase) const; 00046 00049 void appendFilter( KMFilter* filter ); 00050 00063 int process( KMMessage * msg, FilterSet aSet=Inbound ); 00064 00067 int process( KMMessage * msg, const KMFilter * filter ); 00068 00069 void cleanup(); 00072 void ref(); 00078 void deref(bool force = false); 00079 00084 int tempOpenFolder(KMFolder* aFolder); 00085 00088 void beginUpdate() {} 00089 00091 void endUpdate(); 00092 00094 #ifndef NDEBUG 00095 void dump(); 00096 #endif 00097 00102 bool folderRemoved(KMFolder* aFolder, KMFolder* aNewFolder); 00103 00106 void folderCreated(KMFolder*) {} 00107 00109 void setShowLaterMsgs( bool show ) { 00110 mShowLater = show; 00111 } 00112 00114 bool showLaterMsgs() const { 00115 return mShowLater; 00116 } 00117 public slots: 00118 void slotFolderRemoved( KMFolder *aFolder ); 00119 00120 signals: 00121 void filterListUpdated(); 00122 00123 private: 00124 int processPop( KMMessage * msg ) const; 00125 00126 QGuardedPtr<KMFilterDlg> mEditDialog; 00127 QPtrList<KMFolder> mOpenFolders; 00128 bool bPopFilter; 00129 bool mShowLater; 00130 int mRefCount; 00131 }; 00132 00133 #endif /*kmfiltermgr_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Aug 27 12:52:31 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003