kmfiltermgr.h
00001
00002
00003
00004
00005
00006 #ifndef kmfiltermgr_h
00007 #define kmfiltermgr_h
00008
00009 #include "kmfilteraction.h"
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
00059 int process( KMMessage * msg, FilterSet aSet=Inbound );
00060
00063 int process( KMMessage * msg, const KMFilter * filter );
00064
00065 void cleanup();
00068 void ref();
00074 void deref(bool force = false);
00075
00080 int tempOpenFolder(KMFolder* aFolder);
00081
00084 void beginUpdate() {}
00085
00087 void endUpdate();
00088
00090 #ifndef NDEBUG
00091 void dump();
00092 #endif
00093
00098 bool folderRemoved(KMFolder* aFolder, KMFolder* aNewFolder);
00099
00102 void folderCreated(KMFolder*) {}
00103
00105 void setShowLaterMsgs( bool show ) {
00106 mShowLater = show;
00107 }
00108
00110 bool showLaterMsgs() const {
00111 return mShowLater;
00112 }
00113
00114 signals:
00115 void filterListUpdated();
00116
00117 private:
00118 int processPop( KMMessage * msg ) const;
00119
00120 QGuardedPtr<KMFilterDlg> mEditDialog;
00121 QPtrList<KMFolder> mOpenFolders;
00122 bool bPopFilter;
00123 bool mShowLater;
00124 int mRefCount;
00125 };
00126
00127 #endif
This file is part of the documentation for kmail Library Version 3.2.2.