-rw-r--r-- | include/opie/tododb.h | 40 | ||||
-rw-r--r-- | include/opie/todoevent.h | 52 |
2 files changed, 92 insertions, 0 deletions
diff --git a/include/opie/tododb.h b/include/opie/tododb.h new file mode 100644 index 0000000..6478363 --- a/dev/null +++ b/include/opie/tododb.h | |||
@@ -0,0 +1,40 @@ | |||
1 | |||
2 | #ifndef tododb_h | ||
3 | #define tododb_h | ||
4 | |||
5 | #include <qvaluelist.h> | ||
6 | |||
7 | #include <opie/todoevent.h> | ||
8 | |||
9 | class ToDoDB | ||
10 | { | ||
11 | public: | ||
12 | // if no argument is supplied pick the default book | ||
13 | ToDoDB(const QString &fileName = QString::null ); | ||
14 | ~ToDoDB(); | ||
15 | QValueList<ToDoEvent> effectiveToDos(const QDate &from, | ||
16 | const QDate &to, | ||
17 | bool includeNoDates = true); | ||
18 | QValueList<ToDoEvent> effectiveToDos(const QDate &start, bool includeNoDates = true ); | ||
19 | QValueList<ToDoEvent> rawToDos(); // all events | ||
20 | QValueList<ToDoEvent> overDue(); | ||
21 | |||
22 | void addEvent(const ToDoEvent &event ); | ||
23 | void editEvent(const ToDoEvent &editEvent ); | ||
24 | void removeEvent(const ToDoEvent &event); | ||
25 | |||
26 | void reload(); | ||
27 | void setFileName(const QString & ); | ||
28 | QString fileName()const; | ||
29 | bool save(); | ||
30 | |||
31 | private: | ||
32 | class ToDoDBPrivate; | ||
33 | ToDoDBPrivate *d; | ||
34 | QString m_fileName; | ||
35 | QValueList<ToDoEvent> m_todos; | ||
36 | void load(); | ||
37 | }; | ||
38 | |||
39 | |||
40 | #endif | ||
diff --git a/include/opie/todoevent.h b/include/opie/todoevent.h new file mode 100644 index 0000000..dd8c0c9 --- a/dev/null +++ b/include/opie/todoevent.h | |||
@@ -0,0 +1,52 @@ | |||
1 | |||
2 | #ifndef todoevent_h | ||
3 | #define todoevent_h | ||
4 | |||
5 | #include <qdatetime.h> | ||
6 | |||
7 | class ToDoEvent { | ||
8 | friend class ToDoDB; | ||
9 | public: | ||
10 | enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW }; | ||
11 | ToDoEvent( bool completed = false, int priority = NORMAL, | ||
12 | const QString &category = QString::null, | ||
13 | const QString &description = QString::null , | ||
14 | bool hasDate = false, QDate date = QDate::currentDate(), int uid = -1 ); | ||
15 | bool isCompleted() const; | ||
16 | bool hasDate() const; | ||
17 | int priority()const ; | ||
18 | QString category()const; | ||
19 | QDate date()const; | ||
20 | QString description()const; | ||
21 | |||
22 | int uid()const { return m_uid;}; | ||
23 | void setCompleted(bool completed ); | ||
24 | void setHasDate( bool hasDate ); | ||
25 | // if the category doesn't exist we will create it | ||
26 | void setCategory( const QString &category ); | ||
27 | void setPriority(int priority ); | ||
28 | void setDate( QDate date ); | ||
29 | void setDescription(const QString& ); | ||
30 | bool isOverdue(); | ||
31 | |||
32 | bool operator<(const ToDoEvent &toDoEvent )const; | ||
33 | bool operator<=(const ToDoEvent &toDoEvent )const; | ||
34 | bool operator!=(const ToDoEvent &toDoEvent )const { return !(*this == toDoEvent); }; | ||
35 | bool operator>(const ToDoEvent &toDoEvent )const; | ||
36 | bool operator>=(const ToDoEvent &toDoEvent)const; | ||
37 | bool operator==(const ToDoEvent &toDoEvent )const; | ||
38 | ToDoEvent &operator=(const ToDoEvent &toDoEvent ); | ||
39 | private: | ||
40 | class ToDoEventPrivate; | ||
41 | ToDoEventPrivate *d; | ||
42 | QDate m_date; | ||
43 | bool m_isCompleted:1; | ||
44 | bool m_hasDate:1; | ||
45 | int m_priority; | ||
46 | QString m_category; | ||
47 | QString m_desc; | ||
48 | int m_uid; | ||
49 | }; | ||
50 | |||
51 | |||
52 | #endif | ||