calfilter.h
00001 /* 00002 This file is part of libkcal. 00003 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00018 Boston, MA 02111-1307, USA. 00019 */ 00020 00021 #ifndef _CALFILTER_H 00022 #define _CALFILTER_H 00023 00024 #include <qstring.h> 00025 #include <qptrlist.h> 00026 00027 #include "event.h" 00028 #include "todo.h" 00029 00030 namespace KCal { 00031 00035 class CalFilter { 00036 public: 00038 CalFilter(); 00040 CalFilter(const QString &name); 00042 ~CalFilter(); 00043 00047 void setName(const QString &name) { mName = name; } 00051 QString name() const { return mName; } 00052 00057 void apply(QPtrList<Event> *eventlist); 00058 00063 void apply(QPtrList<Todo> *todolist); 00064 00069 bool filterEvent(Event *); 00070 00075 bool filterTodo(Todo *); 00076 00081 bool filterIncidence(Incidence *); 00082 00086 void setEnabled(bool); 00090 bool isEnabled(); 00091 00092 00098 void setCategoryList(const QStringList &); 00103 QStringList categoryList(); 00104 00105 enum { HideRecurring = 1, HideCompleted = 2, ShowCategories = 4 }; 00106 00110 void setCriteria(int); 00114 int criteria(); 00115 00116 private: 00117 QString mName; 00118 00119 int mCriteria; 00120 00121 bool mEnabled; 00122 00123 QStringList mCategoryList; 00124 }; 00125 00126 } 00127 00128 #endif /* _CALFILTER_H */