23 #include "kmfilteraction.h"
26 #include <tqguardedptr.h>
31 template < typename T> class TQValueVector;
32 template < typename T> class TQValueList;
34 class KMFilterMgr: public TQObject
40 KMFilterMgr( bool popFilter = false);
41 virtual ~KMFilterMgr();
46 enum FilterSet { NoSet = 0x0, Inbound = 0x1, Outbound = 0x2, Explicit = 0x4,
47 All = Inbound|Outbound|Explicit };
50 void readConfig( void);
53 void writeConfig( bool withSync=TRUE);
58 void openDialog( TQWidget *parent, bool checkForEmptyFilterList = true );
62 void createFilter( const TQCString & field, const TQString & value );
64 bool beginFiltering(KMMsgBase *msgBase) const;
66 void endFiltering(KMMsgBase *msgBase) const;
73 bool atLeastOneFilterAppliesTo( unsigned int accountID ) const;
79 bool atLeastOneIncomingFilterAppliesTo( unsigned int accountID ) const;
83 bool atLeastOneOnlineImapFolderTarget();
87 const TQString createUniqueName( const TQString & name );
92 void appendFilters( const TQValueList<KMFilter*> &filters,
93 bool replaceIfNameExists = false );
97 void setFilters( const TQValueList<KMFilter*> &filters );
100 const TQValueList<KMFilter*> & filters() const { return mFilters; }
116 int process( KMMessage * msg, FilterSet aSet = Inbound,
117 bool account = false, uint accountId = 0 );
123 int process( KMMessage * msg, const KMFilter * filter );
127 int process( TQ_UINT32 serNum, const KMFilter * filter );
138 void deref( bool force = false);
144 int tempOpenFolder( KMFolder* aFolder);
148 void beginUpdate() {}
169 void setShowLaterMsgs( bool show ) {
174 bool showLaterMsgs() const {
178 void slotFolderRemoved( KMFolder *aFolder );
181 void filterListUpdated();
186 bool isMatching( TQ_UINT32 serNum, const KMFilter *filter );
188 TQGuardedPtr<KMFilterDlg> mEditDialog;
189 TQValueVector<KMFolder *> mOpenFolders;
190 TQValueList<KMFilter *> mFilters;
193 bool mDirtyBufferedFolderTarget;
194 bool mBufferedFolderTarget;
|