author | zecke <zecke> | 2002-03-20 21:55:54 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-03-20 21:55:54 (UTC) |
commit | c6e7f6e2ab8556064ec79fc9bbaa9e0398a7b344 (patch) (unidiff) | |
tree | f68d6a7c899e1ffe297af30002a3dc8b4f3762c6 | |
parent | 0d759d6e9c84a8597b6594bb7c5ad5d17621b966 (diff) | |
download | opie-c6e7f6e2ab8556064ec79fc9bbaa9e0398a7b344.zip opie-c6e7f6e2ab8556064ec79fc9bbaa9e0398a7b344.tar.gz opie-c6e7f6e2ab8556064ec79fc9bbaa9e0398a7b344.tar.bz2 |
tododb vCal support
-rw-r--r-- | libopie/tododb.h | 4 | ||||
-rw-r--r-- | libopie/todoevent.cpp | 6 | ||||
-rw-r--r-- | libopie/todoevent.h | 1 | ||||
-rw-r--r-- | libopie/todovcalresource.h | 42 |
4 files changed, 51 insertions, 2 deletions
diff --git a/libopie/tododb.h b/libopie/tododb.h index 945f343..e77a0f4 100644 --- a/libopie/tododb.h +++ b/libopie/tododb.h | |||
@@ -1,44 +1,44 @@ | |||
1 | 1 | ||
2 | #ifndef tododb_h | 2 | #ifndef tododb_h |
3 | #define tododb_h | 3 | #define tododb_h |
4 | 4 | ||
5 | #include <qvaluelist.h> | 5 | #include <qvaluelist.h> |
6 | 6 | ||
7 | #include <opie/todoevent.h> | 7 | #include <opie/todoevent.h> |
8 | 8 | ||
9 | class ToDoResource; | 9 | class ToDoResource; |
10 | class ToDoDB | 10 | class ToDoDB |
11 | { | 11 | { |
12 | public: | 12 | public: |
13 | // if no argument is supplied pick the default book | 13 | // if no argument is supplied pick the default book |
14 | ToDoDB(const QString &fileName = QString::null, ToDoResource* resource= 0 ); | 14 | ToDoDB(const QString &fileName = QString::null, ToDoResource* resource= 0 ); |
15 | ~ToDoDB(); | 15 | ~ToDoDB(); |
16 | QValueList<ToDoEvent> effectiveToDos(const QDate &from, | 16 | QValueList<ToDoEvent> effectiveToDos(const QDate &from, |
17 | const QDate &to, | 17 | const QDate &to, |
18 | bool includeNoDates = true); | 18 | bool includeNoDates = true); |
19 | QValueList<ToDoEvent> effectiveToDos(const QDate &start, bool includeNoDates = true ); | 19 | QValueList<ToDoEvent> effectiveToDos(const QDate &start, bool includeNoDates = true ); |
20 | QValueList<ToDoEvent> rawToDos(); // all events | 20 | QValueList<ToDoEvent> rawToDos(); // all events |
21 | QValueList<ToDoEvent> overDue(); | 21 | QValueList<ToDoEvent> overDue(); |
22 | 22 | ||
23 | void addEvent(const ToDoEvent &event ); | 23 | void addEvent(const ToDoEvent &event ); |
24 | void editEvent(const ToDoEvent &editEvent ); | 24 | void editEvent(const ToDoEvent &editEvent ); |
25 | void removeEvent(const ToDoEvent &event); | 25 | void removeEvent(const ToDoEvent &event); |
26 | 26 | ||
27 | void reload(); | 27 | void reload(); |
28 | void setFileName(const QString & ); | 28 | void setFileName(const QString & ); |
29 | QString fileName()const; | 29 | QString fileName()const; |
30 | bool save(); | 30 | bool save(); |
31 | ToDoResource *resource(); | 31 | ToDoResource *resource(); |
32 | void setResource(ToDoResource* res); | 32 | void setResource(ToDoResource* res); |
33 | 33 | ||
34 | private: | 34 | private: |
35 | class ToDoDBPrivate; | 35 | class ToDoDBPrivate; |
36 | ToDoDBPrivate *d; | 36 | ToDoDBPrivate *d; |
37 | QString m_fileName; | 37 | QString m_fileName; |
38 | ToDoResource *m_res; | 38 | ToDoResource *m_res; |
39 | QValueList<ToDoEvent> m_todos; | 39 | QValueList<ToDoEvent> m_todos; |
40 | void load(); | 40 | void load(); |
41 | }; | 41 | }; |
42 | 42 | ||
43 | 43 | ||
44 | #endif | 44 | #endif |
diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp index 5fa4472..daa25f4 100644 --- a/libopie/todoevent.cpp +++ b/libopie/todoevent.cpp | |||
@@ -1,152 +1,158 @@ | |||
1 | 1 | ||
2 | #include <opie/todoevent.h> | 2 | #include <opie/todoevent.h> |
3 | #include <qpe/palmtopuidgen.h> | 3 | #include <qpe/palmtopuidgen.h> |
4 | #include <qpe/stringutil.h> | 4 | #include <qpe/stringutil.h> |
5 | //#include <qpe/palmtoprecord.h> | 5 | //#include <qpe/palmtoprecord.h> |
6 | 6 | ||
7 | ToDoEvent::ToDoEvent(const ToDoEvent &event ) | ||
8 | { | ||
9 | *this = event; | ||
10 | } | ||
11 | |||
7 | ToDoEvent::ToDoEvent(bool completed, int priority, const QString &category, | 12 | ToDoEvent::ToDoEvent(bool completed, int priority, const QString &category, |
8 | const QString &description, bool hasDate, QDate date, int uid ) | 13 | const QString &description, bool hasDate, QDate date, int uid ) |
9 | { | 14 | { |
10 | qWarning("todoEvent c'tor" ); | 15 | qWarning("todoEvent c'tor" ); |
11 | m_date = date; | 16 | m_date = date; |
12 | m_isCompleted = completed; | 17 | m_isCompleted = completed; |
13 | m_hasDate = hasDate; | 18 | m_hasDate = hasDate; |
14 | m_priority = priority; | 19 | m_priority = priority; |
15 | m_category = category; | 20 | m_category = category; |
16 | m_desc = Qtopia::simplifyMultiLineSpace(description ); | 21 | m_desc = Qtopia::simplifyMultiLineSpace(description ); |
17 | if (uid == -1 ) { | 22 | if (uid == -1 ) { |
18 | Qtopia::UidGen *uidgen = new Qtopia::UidGen(); | 23 | Qtopia::UidGen *uidgen = new Qtopia::UidGen(); |
19 | uid = uidgen->generate(); | 24 | uid = uidgen->generate(); |
20 | delete uidgen; | 25 | delete uidgen; |
21 | }// generate the ids | 26 | }// generate the ids |
22 | m_uid = uid; | 27 | m_uid = uid; |
23 | } | 28 | } |
24 | bool ToDoEvent::isCompleted() const | 29 | bool ToDoEvent::isCompleted() const |
25 | { | 30 | { |
26 | return m_isCompleted; | 31 | return m_isCompleted; |
27 | } | 32 | } |
28 | bool ToDoEvent::hasDate() const | 33 | bool ToDoEvent::hasDate() const |
29 | { | 34 | { |
30 | return m_hasDate; | 35 | return m_hasDate; |
31 | } | 36 | } |
32 | int ToDoEvent::priority()const | 37 | int ToDoEvent::priority()const |
33 | { | 38 | { |
34 | return m_priority; | 39 | return m_priority; |
35 | } | 40 | } |
36 | QString ToDoEvent::category()const | 41 | QString ToDoEvent::category()const |
37 | { | 42 | { |
38 | return m_category; | 43 | return m_category; |
39 | } | 44 | } |
40 | QDate ToDoEvent::date()const | 45 | QDate ToDoEvent::date()const |
41 | { | 46 | { |
42 | return m_date; | 47 | return m_date; |
43 | } | 48 | } |
44 | QString ToDoEvent::description()const | 49 | QString ToDoEvent::description()const |
45 | { | 50 | { |
46 | return m_desc; | 51 | return m_desc; |
47 | } | 52 | } |
48 | void ToDoEvent::setCompleted( bool completed ) | 53 | void ToDoEvent::setCompleted( bool completed ) |
49 | { | 54 | { |
50 | m_isCompleted = completed; | 55 | m_isCompleted = completed; |
51 | } | 56 | } |
52 | void ToDoEvent::setHasDate( bool hasDate ) | 57 | void ToDoEvent::setHasDate( bool hasDate ) |
53 | { | 58 | { |
54 | m_hasDate = hasDate; | 59 | m_hasDate = hasDate; |
55 | } | 60 | } |
56 | void ToDoEvent::setDescription(const QString &desc ) | 61 | void ToDoEvent::setDescription(const QString &desc ) |
57 | { | 62 | { |
58 | m_desc = Qtopia::simplifyMultiLineSpace(desc ); | 63 | m_desc = Qtopia::simplifyMultiLineSpace(desc ); |
59 | } | 64 | } |
60 | void ToDoEvent::setCategory( const QString &cat ) | 65 | void ToDoEvent::setCategory( const QString &cat ) |
61 | { | 66 | { |
62 | m_category = cat; | 67 | m_category = cat; |
63 | } | 68 | } |
64 | void ToDoEvent::setPriority(int prio ) | 69 | void ToDoEvent::setPriority(int prio ) |
65 | { | 70 | { |
66 | m_priority = prio; | 71 | m_priority = prio; |
67 | } | 72 | } |
68 | void ToDoEvent::setDate( QDate date ) | 73 | void ToDoEvent::setDate( QDate date ) |
69 | { | 74 | { |
70 | m_date = date; | 75 | m_date = date; |
71 | } | 76 | } |
72 | bool ToDoEvent::isOverdue( ) | 77 | bool ToDoEvent::isOverdue( ) |
73 | { | 78 | { |
74 | if( m_hasDate ) | 79 | if( m_hasDate ) |
75 | return QDate::currentDate() > m_date; | 80 | return QDate::currentDate() > m_date; |
76 | return false; | 81 | return false; |
77 | } | 82 | } |
78 | bool ToDoEvent::operator<( const ToDoEvent &toDoEvent )const{ | 83 | bool ToDoEvent::operator<( const ToDoEvent &toDoEvent )const{ |
79 | if( !hasDate() && !toDoEvent.hasDate() ) return true; | 84 | if( !hasDate() && !toDoEvent.hasDate() ) return true; |
80 | if( !hasDate() && toDoEvent.hasDate() ) return true; | 85 | if( !hasDate() && toDoEvent.hasDate() ) return true; |
81 | if( hasDate() && toDoEvent.hasDate() ){ | 86 | if( hasDate() && toDoEvent.hasDate() ){ |
82 | if( date() == toDoEvent.date() ){ // let's the priority decide | 87 | if( date() == toDoEvent.date() ){ // let's the priority decide |
83 | return priority() < toDoEvent.priority(); | 88 | return priority() < toDoEvent.priority(); |
84 | }else{ | 89 | }else{ |
85 | return date() < toDoEvent.date(); | 90 | return date() < toDoEvent.date(); |
86 | } | 91 | } |
87 | } | 92 | } |
88 | return false; | 93 | return false; |
89 | } | 94 | } |
90 | bool ToDoEvent::operator<=(const ToDoEvent &toDoEvent )const | 95 | bool ToDoEvent::operator<=(const ToDoEvent &toDoEvent )const |
91 | { | 96 | { |
92 | if( !hasDate() && !toDoEvent.hasDate() ) return true; | 97 | if( !hasDate() && !toDoEvent.hasDate() ) return true; |
93 | if( !hasDate() && toDoEvent.hasDate() ) return true; | 98 | if( !hasDate() && toDoEvent.hasDate() ) return true; |
94 | if( hasDate() && toDoEvent.hasDate() ){ | 99 | if( hasDate() && toDoEvent.hasDate() ){ |
95 | if( date() == toDoEvent.date() ){ // let's the priority decide | 100 | if( date() == toDoEvent.date() ){ // let's the priority decide |
96 | return priority() <= toDoEvent.priority(); | 101 | return priority() <= toDoEvent.priority(); |
97 | }else{ | 102 | }else{ |
98 | return date() <= toDoEvent.date(); | 103 | return date() <= toDoEvent.date(); |
99 | } | 104 | } |
100 | } | 105 | } |
101 | return true; | 106 | return true; |
102 | } | 107 | } |
103 | bool ToDoEvent::operator>(const ToDoEvent &toDoEvent )const | 108 | bool ToDoEvent::operator>(const ToDoEvent &toDoEvent )const |
104 | { | 109 | { |
105 | if( !hasDate() && !toDoEvent.hasDate() ) return false; | 110 | if( !hasDate() && !toDoEvent.hasDate() ) return false; |
106 | if( !hasDate() && toDoEvent.hasDate() ) return false; | 111 | if( !hasDate() && toDoEvent.hasDate() ) return false; |
107 | if( hasDate() && toDoEvent.hasDate() ){ | 112 | if( hasDate() && toDoEvent.hasDate() ){ |
108 | if( date() == toDoEvent.date() ){ // let's the priority decide | 113 | if( date() == toDoEvent.date() ){ // let's the priority decide |
109 | return priority() > toDoEvent.priority(); | 114 | return priority() > toDoEvent.priority(); |
110 | }else{ | 115 | }else{ |
111 | return date() > toDoEvent.date(); | 116 | return date() > toDoEvent.date(); |
112 | } | 117 | } |
113 | } | 118 | } |
114 | return false; | 119 | return false; |
115 | } | 120 | } |
116 | bool ToDoEvent::operator>=(const ToDoEvent &toDoEvent )const | 121 | bool ToDoEvent::operator>=(const ToDoEvent &toDoEvent )const |
117 | { | 122 | { |
118 | if( !hasDate() && !toDoEvent.hasDate() ) return true; | 123 | if( !hasDate() && !toDoEvent.hasDate() ) return true; |
119 | if( !hasDate() && toDoEvent.hasDate() ) return false; | 124 | if( !hasDate() && toDoEvent.hasDate() ) return false; |
120 | if( hasDate() && toDoEvent.hasDate() ){ | 125 | if( hasDate() && toDoEvent.hasDate() ){ |
121 | if( date() == toDoEvent.date() ){ // let's the priority decide | 126 | if( date() == toDoEvent.date() ){ // let's the priority decide |
122 | return priority() > toDoEvent.priority(); | 127 | return priority() > toDoEvent.priority(); |
123 | }else{ | 128 | }else{ |
124 | return date() > toDoEvent.date(); | 129 | return date() > toDoEvent.date(); |
125 | } | 130 | } |
126 | } | 131 | } |
127 | return true; | 132 | return true; |
128 | } | 133 | } |
129 | bool ToDoEvent::operator==(const ToDoEvent &toDoEvent )const | 134 | bool ToDoEvent::operator==(const ToDoEvent &toDoEvent )const |
130 | { | 135 | { |
131 | if( m_date == toDoEvent.m_date && m_isCompleted == toDoEvent.m_isCompleted && m_hasDate == toDoEvent.m_hasDate && m_priority == toDoEvent.m_priority && m_category == toDoEvent.m_category && m_desc == toDoEvent.m_category ) | 136 | if( m_date == toDoEvent.m_date && m_isCompleted == toDoEvent.m_isCompleted && m_hasDate == toDoEvent.m_hasDate && m_priority == toDoEvent.m_priority && m_category == toDoEvent.m_category && m_desc == toDoEvent.m_category ) |
132 | return true; | 137 | return true; |
133 | return false; | 138 | return false; |
134 | } | 139 | } |
135 | ToDoEvent &ToDoEvent::operator=(const ToDoEvent &item ) | 140 | ToDoEvent &ToDoEvent::operator=(const ToDoEvent &item ) |
136 | { | 141 | { |
137 | m_date = item.m_date; | 142 | m_date = item.m_date; |
138 | m_isCompleted = item.m_isCompleted; | 143 | m_isCompleted = item.m_isCompleted; |
139 | m_hasDate = item.m_hasDate; | 144 | m_hasDate = item.m_hasDate; |
140 | m_priority = item.m_priority; | 145 | m_priority = item.m_priority; |
141 | m_category = item.m_category; | 146 | m_category = item.m_category; |
142 | m_desc = item.m_desc; | 147 | m_desc = item.m_desc; |
148 | m_uid = item.m_uid; | ||
143 | return *this; | 149 | return *this; |
144 | } | 150 | } |
145 | 151 | ||
146 | 152 | ||
147 | 153 | ||
148 | 154 | ||
149 | 155 | ||
150 | 156 | ||
151 | 157 | ||
152 | 158 | ||
diff --git a/libopie/todoevent.h b/libopie/todoevent.h index 79522b2..bca7f6e 100644 --- a/libopie/todoevent.h +++ b/libopie/todoevent.h | |||
@@ -1,53 +1,54 @@ | |||
1 | 1 | ||
2 | #ifndef todoevent_h | 2 | #ifndef todoevent_h |
3 | #define todoevent_h | 3 | #define todoevent_h |
4 | 4 | ||
5 | #include <qdatetime.h> | 5 | #include <qdatetime.h> |
6 | 6 | ||
7 | class ToDoEvent { | 7 | class ToDoEvent { |
8 | friend class ToDoDB; | 8 | friend class ToDoDB; |
9 | public: | 9 | public: |
10 | enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW }; | 10 | enum Priority { VERYHIGH=1, HIGH, NORMAL, LOW, VERYLOW }; |
11 | ToDoEvent( bool completed = false, int priority = NORMAL, | 11 | ToDoEvent( bool completed = false, int priority = NORMAL, |
12 | const QString &category = QString::null, | 12 | const QString &category = QString::null, |
13 | const QString &description = QString::null , | 13 | const QString &description = QString::null , |
14 | bool hasDate = false, QDate date = QDate::currentDate(), int uid = -1 ); | 14 | bool hasDate = false, QDate date = QDate::currentDate(), int uid = -1 ); |
15 | ToDoEvent(const ToDoEvent & ); | ||
15 | bool isCompleted() const; | 16 | bool isCompleted() const; |
16 | bool hasDate() const; | 17 | bool hasDate() const; |
17 | int priority()const ; | 18 | int priority()const ; |
18 | QString category()const; | 19 | QString category()const; |
19 | QDate date()const; | 20 | QDate date()const; |
20 | QString description()const; | 21 | QString description()const; |
21 | 22 | ||
22 | int uid()const { return m_uid;}; | 23 | int uid()const { return m_uid;}; |
23 | void setCompleted(bool completed ); | 24 | void setCompleted(bool completed ); |
24 | void setHasDate( bool hasDate ); | 25 | void setHasDate( bool hasDate ); |
25 | // if the category doesn't exist we will create it | 26 | // if the category doesn't exist we will create it |
26 | void setCategory( const QString &category ); | 27 | void setCategory( const QString &category ); |
27 | void setPriority(int priority ); | 28 | void setPriority(int priority ); |
28 | void setDate( QDate date ); | 29 | void setDate( QDate date ); |
29 | void setDescription(const QString& ); | 30 | void setDescription(const QString& ); |
30 | bool isOverdue(); | 31 | bool isOverdue(); |
31 | 32 | ||
32 | void setUid(int id) {m_uid = id; }; | 33 | void setUid(int id) {m_uid = id; }; |
33 | bool operator<(const ToDoEvent &toDoEvent )const; | 34 | bool operator<(const ToDoEvent &toDoEvent )const; |
34 | bool operator<=(const ToDoEvent &toDoEvent )const; | 35 | bool operator<=(const ToDoEvent &toDoEvent )const; |
35 | bool operator!=(const ToDoEvent &toDoEvent )const { return !(*this == toDoEvent); }; | 36 | bool operator!=(const ToDoEvent &toDoEvent )const { return !(*this == toDoEvent); }; |
36 | bool operator>(const ToDoEvent &toDoEvent )const; | 37 | bool operator>(const ToDoEvent &toDoEvent )const; |
37 | bool operator>=(const ToDoEvent &toDoEvent)const; | 38 | bool operator>=(const ToDoEvent &toDoEvent)const; |
38 | bool operator==(const ToDoEvent &toDoEvent )const; | 39 | bool operator==(const ToDoEvent &toDoEvent )const; |
39 | ToDoEvent &operator=(const ToDoEvent &toDoEvent ); | 40 | ToDoEvent &operator=(const ToDoEvent &toDoEvent ); |
40 | private: | 41 | private: |
41 | class ToDoEventPrivate; | 42 | class ToDoEventPrivate; |
42 | ToDoEventPrivate *d; | 43 | ToDoEventPrivate *d; |
43 | QDate m_date; | 44 | QDate m_date; |
44 | bool m_isCompleted:1; | 45 | bool m_isCompleted:1; |
45 | bool m_hasDate:1; | 46 | bool m_hasDate:1; |
46 | int m_priority; | 47 | int m_priority; |
47 | QString m_category; | 48 | QString m_category; |
48 | QString m_desc; | 49 | QString m_desc; |
49 | int m_uid; | 50 | int m_uid; |
50 | }; | 51 | }; |
51 | 52 | ||
52 | 53 | ||
53 | #endif | 54 | #endif |
diff --git a/libopie/todovcalresource.h b/libopie/todovcalresource.h new file mode 100644 index 0000000..0663bc2 --- a/dev/null +++ b/libopie/todovcalresource.h | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | =. This file is part of the OPIE Project | ||
3 | .=l. Copyright (c) 2002 Holger Freyther <freyther@kde.org> | ||
4 | .>+-= | ||
5 | _;:, .> :=|. This library is free software; you can | ||
6 | .> <`_, > . <= redistribute it and/or modify it under | ||
7 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | ||
8 | .="- .-=="i, .._ License as published by the Free Software | ||
9 | - . .-<_> .<> Foundation; either version 2 of the License, | ||
10 | ._= =} : or (at your option) any later version. | ||
11 | .%`+i> _;_. | ||
12 | .i_,=:_. -<s. This library is distributed in the hope that | ||
13 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | ||
14 | : .. .:, . . . without even the implied warranty of | ||
15 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | ||
16 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | ||
17 | ..}^=.= = ; Library General Public License for more | ||
18 | ++= -. .` .: details. | ||
19 | : = ...= . :.=- | ||
20 | -. .:....=;==+<; You should have received a copy of the GNU | ||
21 | -_. . . )=. = Library General Public License along with | ||
22 | -- :-=` this library; see the file COPYING.LIB. | ||
23 | If not, write to the Free Software Foundation, | ||
24 | Inc., 59 Temple Place - Suite 330, | ||
25 | Boston, MA 02111-1307, USA. | ||
26 | |||
27 | */ | ||
28 | |||
29 | #ifndef opievcaltodoresource_h | ||
30 | #define opievcaltodoresource_h | ||
31 | |||
32 | #include <opie/todoresource.h> | ||
33 | |||
34 | class ToDoVCalResource : public ToDoResource { | ||
35 | public: | ||
36 | ToDoVCalResource() { }; | ||
37 | QValueList<ToDoEvent> load(const QString &file ); | ||
38 | bool save( const QString &filename, const QValueList<ToDoEvent> & ); | ||
39 | |||
40 | }; | ||
41 | |||
42 | #endif | ||