summaryrefslogtreecommitdiff
path: root/libopie/tododb.h
blob: 945f343263f62a1ad8cf79cfffde338d9bd3665e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

#ifndef tododb_h
#define tododb_h

#include <qvaluelist.h>

#include <opie/todoevent.h>

class ToDoResource;
class ToDoDB
{
 public:
    // if no argument is supplied pick the default book 
    ToDoDB(const QString &fileName = QString::null, ToDoResource* resource= 0 );
    ~ToDoDB();
    QValueList<ToDoEvent> effectiveToDos(const QDate &from,
					 const QDate &to,
					 bool includeNoDates = true);
    QValueList<ToDoEvent> effectiveToDos(const QDate &start, bool includeNoDates = true );
    QValueList<ToDoEvent> rawToDos(); // all events
    QValueList<ToDoEvent> overDue();

    void addEvent(const ToDoEvent &event );
    void editEvent(const ToDoEvent &editEvent );
    void removeEvent(const ToDoEvent &event);

    void reload();
    void setFileName(const QString & );
    QString fileName()const;
    bool save();
    ToDoResource *resource();
    void setResource(ToDoResource* res);

 private:
    class ToDoDBPrivate;
    ToDoDBPrivate *d;
    QString m_fileName;
    ToDoResource *m_res;
    QValueList<ToDoEvent> m_todos;
    void load();
};


#endif