00001
00002
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
00028
00029 #ifndef OPIE_TODO_ACCESS_H
00030 #define OPIE_TODO_ACCESS_H
00031
00032 #include <qobject.h>
00033 #include <qvaluelist.h>
00034
00035 #include <opie2/opimtodo.h>
00036 #include <opie2/otodoaccessbackend.h>
00037 #include <opie2/opimaccesstemplate.h>
00038
00039 namespace Opie {
00040
00046 class OPimTodoAccess : public QObject, public OPimAccessTemplate<OPimTodo> {
00047 Q_OBJECT
00048 public:
00049 enum SortOrder { Completed = SortCustom,
00050 Priority,
00051 Deadline };
00052 enum SortFilter{ OnlyOverDue= FilterCustom,
00053 DoNotShowCompleted = FilterCustom<<1 };
00059 OPimTodoAccess( OPimTodoAccessBackend* = 0l, enum Access acc = Random );
00060 ~OPimTodoAccess();
00061
00062
00063
00069 List effectiveToDos( const QDate& start,
00070 const QDate& end,
00071 bool includeNoDates = true )const;
00072
00077 List effectiveToDos( const QDate& start,
00078 bool includeNoDates = true )const;
00079
00080
00084 List overDue()const;
00085
00090 void mergeWith( const QValueList<OPimTodo>& );
00091
00095 void removeAllCompleted();
00096
00100 int rtti() const;
00101 signals:
00105 void changed( const OPimTodoAccess* );
00106 void changed( const OPimTodoAccess*, int uid );
00107 void added( const OPimTodoAccess*, int uid );
00108 void removed( const OPimTodoAccess*, int uid );
00109 private:
00110 int m_cat;
00111 OPimTodoAccessBackend* m_todoBackEnd;
00112 class OPimTodoAccessPrivate;
00113 OPimTodoAccessPrivate* d;
00114 };
00115
00116 }
00117
00118 #endif