filter.h
00001 #ifndef FILTER_H
00002 #define FILTER_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <qvaluelist.h>
00028 #include <qstring.h>
00029 #include <qstringlist.h>
00030
00031 #include <kconfig.h>
00032
00033 #include <kabc/addressee.h>
00034
00039 class Filter
00040 {
00041 public:
00042 typedef QValueList<Filter> List;
00043
00044 enum MatchRule { Matching = 0, NotMatching = 1 };
00045
00046 Filter();
00047 Filter(const Filter &);
00048 Filter(const QString &name);
00049 ~Filter();
00050
00051 Filter &operator=(const Filter &);
00052
00055 void setName(const QString &name) { mName = name; }
00056
00059 const QString &name() const { return mName; }
00060
00067 void apply(KABC::Addressee::List &addresseeList);
00068
00074 bool filterAddressee(const KABC::Addressee &a);
00075
00078 void setEnabled(bool on) { mEnabled = on; }
00079
00082 bool isEnabled() const { return mEnabled; }
00083
00086 void setCategories(const QStringList &list) { mCategoryList = list; }
00087
00090 const QStringList &categories() const { return mCategoryList; }
00091
00094 void save(KConfig *config);
00095
00099 void restore(KConfig *config);
00100
00109 static void save(KConfig *config, QString baseGroup,
00110 Filter::List &list);
00111
00119 static Filter::List restore(KConfig *config, QString baseGroup);
00120
00126 void setMatchRule(MatchRule rule) { mMatchRule = rule; }
00127
00130 MatchRule matchRule() const { return mMatchRule; }
00131
00132 private:
00133 QStringList mCategoryList;
00134 bool mEnabled;
00135 QString mName;
00136 MatchRule mMatchRule;
00137 };
00138
00139 #endif
This file is part of the documentation for kdelibs Version 3.1.4.