summaryrefslogtreecommitdiff
path: root/libopie
Unidiff
Diffstat (limited to 'libopie') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/opimnotifymanager.cpp4
-rw-r--r--libopie/pim/otodo.cpp8
-rw-r--r--libopie/pim/otodo.h8
3 files changed, 17 insertions, 3 deletions
diff --git a/libopie/pim/opimnotifymanager.cpp b/libopie/pim/opimnotifymanager.cpp
index 49af757..06b5987 100644
--- a/libopie/pim/opimnotifymanager.cpp
+++ b/libopie/pim/opimnotifymanager.cpp
@@ -7,66 +7,68 @@ OPimNotifyManager::~OPimNotifyManager() {
7} 7}
8/* use static_cast and type instead of dynamic... */ 8/* use static_cast and type instead of dynamic... */
9void OPimNotifyManager::add( const OPimNotify& noti) { 9void OPimNotifyManager::add( const OPimNotify& noti) {
10 if ( noti.type() == QString::fromLatin1("OPimReminder") ) { 10 if ( noti.type() == QString::fromLatin1("OPimReminder") ) {
11 const OPimReminder& rem = static_cast<const OPimReminder&>(noti); 11 const OPimReminder& rem = static_cast<const OPimReminder&>(noti);
12 m_rem.append( rem ); 12 m_rem.append( rem );
13 }else if ( noti.type() == QString::fromLatin1("OPimAlarm") ) { 13 }else if ( noti.type() == QString::fromLatin1("OPimAlarm") ) {
14 const OPimAlarm& al = static_cast<const OPimAlarm&>(noti); 14 const OPimAlarm& al = static_cast<const OPimAlarm&>(noti);
15 m_al.append( al ); 15 m_al.append( al );
16 } 16 }
17} 17}
18void OPimNotifyManager::remove( const OPimNotify& noti) { 18void OPimNotifyManager::remove( const OPimNotify& noti) {
19 if ( noti.type() == QString::fromLatin1("OPimReminder") ) { 19 if ( noti.type() == QString::fromLatin1("OPimReminder") ) {
20 const OPimReminder& rem = static_cast<const OPimReminder&>(noti); 20 const OPimReminder& rem = static_cast<const OPimReminder&>(noti);
21 m_rem.remove( rem ); 21 m_rem.remove( rem );
22 }else if ( noti.type() == QString::fromLatin1("OPimAlarm") ) { 22 }else if ( noti.type() == QString::fromLatin1("OPimAlarm") ) {
23 const OPimAlarm& al = static_cast<const OPimAlarm&>(noti); 23 const OPimAlarm& al = static_cast<const OPimAlarm&>(noti);
24 m_al.remove( al ); 24 m_al.remove( al );
25 } 25 }
26} 26}
27void OPimNotifyManager::replace( const OPimNotify& noti) { 27void OPimNotifyManager::replace( const OPimNotify& noti) {
28 if ( noti.type() == QString::fromLatin1("OPimReminder") ) { 28 if ( noti.type() == QString::fromLatin1("OPimReminder") ) {
29 const OPimReminder& rem = static_cast<const OPimReminder&>(noti); 29 const OPimReminder& rem = static_cast<const OPimReminder&>(noti);
30 m_rem.remove( rem ); 30 m_rem.remove( rem );
31 m_rem.append( rem ); 31 m_rem.append( rem );
32 }else if ( noti.type() == QString::fromLatin1("OPimAlarm") ) { 32 }else if ( noti.type() == QString::fromLatin1("OPimAlarm") ) {
33 const OPimAlarm& al = static_cast<const OPimAlarm&>(noti); 33 const OPimAlarm& al = static_cast<const OPimAlarm&>(noti);
34 m_al.remove( al ); 34 m_al.remove( al );
35 m_al.append( al ); 35 m_al.append( al );
36 } 36 }
37} 37}
38OPimNotifyManager::Reminders OPimNotifyManager::reminders()const { 38OPimNotifyManager::Reminders OPimNotifyManager::reminders()const {
39 return m_rem; 39 return m_rem;
40} 40}
41OPimNotifyManager::Alarms OPimNotifyManager::alarms()const { 41OPimNotifyManager::Alarms OPimNotifyManager::alarms()const {
42 return m_al; 42 return m_al;
43} 43}
44void OPimNotifyManager::setAlarms( const Alarms& al) { 44void OPimNotifyManager::setAlarms( const Alarms& al) {
45 m_al = al; 45 m_al = al;
46} 46}
47void OPimNotifyManager::setReminders( const Reminders& rem) { 47void OPimNotifyManager::setReminders( const Reminders& rem) {
48 m_rem = rem; 48 m_rem = rem;
49} 49}
50/* FIXME!!! */ 50/* FIXME!!! */
51/** 51/**
52 * The idea is to check if the provider for our service 52 * The idea is to check if the provider for our service
53 * is online 53 * is online
54 * if it is we will use QCOP 54 * if it is we will use QCOP
55 * if not the Factory to get the backend... 55 * if not the Factory to get the backend...
56 * Qtopia1.6 services would be kewl to have here.... 56 * Qtopia1.6 services would be kewl to have here....
57 */ 57 */
58void OPimNotifyManager::registerNotify( const OPimNotify& ) { 58void OPimNotifyManager::registerNotify( const OPimNotify& ) {
59 59
60} 60}
61/* FIXME!!! */ 61/* FIXME!!! */
62/** 62/**
63 * same as above... 63 * same as above...
64 * Also implement Url model 64 * Also implement Url model
65 * have a MainWindow.... 65 * have a MainWindow....
66 */ 66 */
67void OPimNotifyManager::deregister( const OPimNotify& ) { 67void OPimNotifyManager::deregister( const OPimNotify& ) {
68 68
69} 69}
70bool OPimNotifyManager::isEmpty()const { 70bool OPimNotifyManager::isEmpty()const {
71 return ( m_rem.isEmpty() && m_al.isEmpty() ); 71 qWarning("is Empty called on OPimNotifyManager %d %d", m_rem.count(), m_al.count() );
72 if ( m_rem.isEmpty() && m_al.isEmpty() ) return true;
73 else return false;
72} 74}
diff --git a/libopie/pim/otodo.cpp b/libopie/pim/otodo.cpp
index f3df119..a29d88e 100644
--- a/libopie/pim/otodo.cpp
+++ b/libopie/pim/otodo.cpp
@@ -237,135 +237,141 @@ void OTodo::setRecurrence( const ORecur& rec) {
237 if (data->recur ) 237 if (data->recur )
238 (*data->recur) = rec; 238 (*data->recur) = rec;
239 else 239 else
240 data->recur = new ORecur( rec ); 240 data->recur = new ORecur( rec );
241} 241}
242void OTodo::setMaintainer( const OPimMaintainer& pim ) { 242void OTodo::setMaintainer( const OPimMaintainer& pim ) {
243 changeOrModify(); 243 changeOrModify();
244 244
245 if (data->maintainer ) 245 if (data->maintainer )
246 (*data->maintainer) = pim; 246 (*data->maintainer) = pim;
247 else 247 else
248 data->maintainer = new OPimMaintainer( pim ); 248 data->maintainer = new OPimMaintainer( pim );
249} 249}
250bool OTodo::isOverdue( ) 250bool OTodo::isOverdue( )
251{ 251{
252 if( data->hasDate && !data->isCompleted) 252 if( data->hasDate && !data->isCompleted)
253 return QDate::currentDate() > data->date; 253 return QDate::currentDate() > data->date;
254 return false; 254 return false;
255} 255}
256void OTodo::setProgress(ushort progress ) 256void OTodo::setProgress(ushort progress )
257{ 257{
258 changeOrModify(); 258 changeOrModify();
259 data->prog = progress; 259 data->prog = progress;
260} 260}
261QString OTodo::toShortText() const { 261QString OTodo::toShortText() const {
262 return summary(); 262 return summary();
263} 263}
264/*! 264/*!
265 Returns a richt text string 265 Returns a richt text string
266*/ 266*/
267QString OTodo::toRichText() const 267QString OTodo::toRichText() const
268{ 268{
269 QString text; 269 QString text;
270 QStringList catlist; 270 QStringList catlist;
271 271
272 // Description of the todo 272 // Description of the todo
273 if ( !summary().isEmpty() ) { 273 if ( !summary().isEmpty() ) {
274 text += "<b>" + QObject::tr( "Summary:") + "</b><br>"; 274 text += "<b>" + QObject::tr( "Summary:") + "</b><br>";
275 text += Qtopia::escapeString(summary() ).replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; 275 text += Qtopia::escapeString(summary() ).replace(QRegExp( "[\n]"), "<br>" ) + "<br>";
276 } 276 }
277 if( !description().isEmpty() ){ 277 if( !description().isEmpty() ){
278 text += "<b>" + QObject::tr( "Description:" ) + "</b><br>"; 278 text += "<b>" + QObject::tr( "Description:" ) + "</b><br>";
279 text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "<br>" ) ; 279 text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "<br>" ) ;
280 } 280 }
281 text += "<br><br><br>"; 281 text += "<br><br><br>";
282 282
283 text += "<b>" + QObject::tr( "Priority:") +" </b>" 283 text += "<b>" + QObject::tr( "Priority:") +" </b>"
284 + QString::number( priority() ) + " <br>"; 284 + QString::number( priority() ) + " <br>";
285 text += "<b>" + QObject::tr( "Progress:") + " </b>" 285 text += "<b>" + QObject::tr( "Progress:") + " </b>"
286 + QString::number( progress() ) + " %<br>"; 286 + QString::number( progress() ) + " %<br>";
287 if (hasDueDate() ){ 287 if (hasDueDate() ){
288 text += "<b>" + QObject::tr( "Deadline:") + " </b>"; 288 text += "<b>" + QObject::tr( "Deadline:") + " </b>";
289 text += dueDate().toString(); 289 text += dueDate().toString();
290 text += "<br>"; 290 text += "<br>";
291 } 291 }
292 292
293 text += "<b>" + QObject::tr( "Category:") + "</b> "; 293 text += "<b>" + QObject::tr( "Category:") + "</b> ";
294 text += categoryNames( "Todo List" ).join(", "); 294 text += categoryNames( "Todo List" ).join(", ");
295 text += "<br>"; 295 text += "<br>";
296 296
297 return text; 297 return text;
298} 298}
299bool OTodo::hasNotifiers()const { 299bool OTodo::hasNotifiers()const {
300 if (!data->notifiers) return false; 300 if (!data->notifiers) return false;
301 return data->notifiers->isEmpty(); 301 return !data->notifiers->isEmpty();
302} 302}
303OPimNotifyManager& OTodo::notifiers() { 303OPimNotifyManager& OTodo::notifiers() {
304 if (!data->notifiers ) 304 if (!data->notifiers )
305 data->notifiers = new OPimNotifyManager; 305 data->notifiers = new OPimNotifyManager;
306 return (*data->notifiers); 306 return (*data->notifiers);
307} 307}
308const OPimNotifyManager& OTodo::notifiers()const{
309 if (!data->notifiers )
310 data->notifiers = new OPimNotifyManager;
311
312 return (*data->notifiers);
313}
308 314
309bool OTodo::operator<( const OTodo &toDoEvent )const{ 315bool OTodo::operator<( const OTodo &toDoEvent )const{
310 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true; 316 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true;
311 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false; 317 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false;
312 if( hasDueDate() && toDoEvent.hasDueDate() ){ 318 if( hasDueDate() && toDoEvent.hasDueDate() ){
313 if( dueDate() == toDoEvent.dueDate() ){ // let's the priority decide 319 if( dueDate() == toDoEvent.dueDate() ){ // let's the priority decide
314 return priority() < toDoEvent.priority(); 320 return priority() < toDoEvent.priority();
315 }else{ 321 }else{
316 return dueDate() < toDoEvent.dueDate(); 322 return dueDate() < toDoEvent.dueDate();
317 } 323 }
318 } 324 }
319 return false; 325 return false;
320} 326}
321bool OTodo::operator<=(const OTodo &toDoEvent )const 327bool OTodo::operator<=(const OTodo &toDoEvent )const
322{ 328{
323 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true; 329 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true;
324 if( !hasDueDate() && toDoEvent.hasDueDate() ) return true; 330 if( !hasDueDate() && toDoEvent.hasDueDate() ) return true;
325 if( hasDueDate() && toDoEvent.hasDueDate() ){ 331 if( hasDueDate() && toDoEvent.hasDueDate() ){
326 if( dueDate() == toDoEvent.dueDate() ){ // let's the priority decide 332 if( dueDate() == toDoEvent.dueDate() ){ // let's the priority decide
327 return priority() <= toDoEvent.priority(); 333 return priority() <= toDoEvent.priority();
328 }else{ 334 }else{
329 return dueDate() <= toDoEvent.dueDate(); 335 return dueDate() <= toDoEvent.dueDate();
330 } 336 }
331 } 337 }
332 return true; 338 return true;
333} 339}
334bool OTodo::operator>(const OTodo &toDoEvent )const 340bool OTodo::operator>(const OTodo &toDoEvent )const
335{ 341{
336 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return false; 342 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return false;
337 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false; 343 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false;
338 if( hasDueDate() && toDoEvent.hasDueDate() ){ 344 if( hasDueDate() && toDoEvent.hasDueDate() ){
339 if( dueDate() == toDoEvent.dueDate() ){ // let's the priority decide 345 if( dueDate() == toDoEvent.dueDate() ){ // let's the priority decide
340 return priority() > toDoEvent.priority(); 346 return priority() > toDoEvent.priority();
341 }else{ 347 }else{
342 return dueDate() > toDoEvent.dueDate(); 348 return dueDate() > toDoEvent.dueDate();
343 } 349 }
344 } 350 }
345 return false; 351 return false;
346} 352}
347bool OTodo::operator>=(const OTodo &toDoEvent )const 353bool OTodo::operator>=(const OTodo &toDoEvent )const
348{ 354{
349 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true; 355 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true;
350 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false; 356 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false;
351 if( hasDueDate() && toDoEvent.hasDueDate() ){ 357 if( hasDueDate() && toDoEvent.hasDueDate() ){
352 if( dueDate() == toDoEvent.dueDate() ){ // let's the priority decide 358 if( dueDate() == toDoEvent.dueDate() ){ // let's the priority decide
353 return priority() > toDoEvent.priority(); 359 return priority() > toDoEvent.priority();
354 }else{ 360 }else{
355 return dueDate() > toDoEvent.dueDate(); 361 return dueDate() > toDoEvent.dueDate();
356 } 362 }
357 } 363 }
358 return true; 364 return true;
359} 365}
360bool OTodo::operator==(const OTodo &toDoEvent )const 366bool OTodo::operator==(const OTodo &toDoEvent )const
361{ 367{
362 if ( data->priority != toDoEvent.data->priority ) return false; 368 if ( data->priority != toDoEvent.data->priority ) return false;
363 if ( data->priority != toDoEvent.data->prog ) return false; 369 if ( data->priority != toDoEvent.data->prog ) return false;
364 if ( data->isCompleted != toDoEvent.data->isCompleted ) return false; 370 if ( data->isCompleted != toDoEvent.data->isCompleted ) return false;
365 if ( data->hasDate != toDoEvent.data->hasDate ) return false; 371 if ( data->hasDate != toDoEvent.data->hasDate ) return false;
366 if ( data->date != toDoEvent.data->date ) return false; 372 if ( data->date != toDoEvent.data->date ) return false;
367 if ( data->sum != toDoEvent.data->sum ) return false; 373 if ( data->sum != toDoEvent.data->sum ) return false;
368 if ( data->desc != toDoEvent.data->desc ) return false; 374 if ( data->desc != toDoEvent.data->desc ) return false;
369 if ( data->maintainer != toDoEvent.data->maintainer ) 375 if ( data->maintainer != toDoEvent.data->maintainer )
370 return false; 376 return false;
371 377
diff --git a/libopie/pim/otodo.h b/libopie/pim/otodo.h
index 0e7c73f..4d5ee36 100644
--- a/libopie/pim/otodo.h
+++ b/libopie/pim/otodo.h
@@ -114,136 +114,142 @@ public:
114 114
115 /** 115 /**
116 * The due Date 116 * The due Date
117 */ 117 */
118 QDate dueDate()const; 118 QDate dueDate()const;
119 119
120 /** 120 /**
121 * When did it start? 121 * When did it start?
122 */ 122 */
123 QDate startDate()const; 123 QDate startDate()const;
124 124
125 /** 125 /**
126 * When was it completed? 126 * When was it completed?
127 */ 127 */
128 QDate completedDate()const; 128 QDate completedDate()const;
129 129
130 /** 130 /**
131 * does it have a state? 131 * does it have a state?
132 */ 132 */
133 bool hasState()const; 133 bool hasState()const;
134 134
135 /** 135 /**
136 * What is the state of this OTodo? 136 * What is the state of this OTodo?
137 */ 137 */
138 OPimState state()const; 138 OPimState state()const;
139 139
140 /** 140 /**
141 * has recurrence? 141 * has recurrence?
142 */ 142 */
143 bool hasRecurrence()const; 143 bool hasRecurrence()const;
144 144
145 /** 145 /**
146 * the recurrance of this 146 * the recurrance of this
147 */ 147 */
148 ORecur recurrence()const; 148 ORecur recurrence()const;
149 149
150 /** 150 /**
151 * does this OTodo have a maintainer? 151 * does this OTodo have a maintainer?
152 */ 152 */
153 bool hasMaintainer()const; 153 bool hasMaintainer()const;
154 154
155 /** 155 /**
156 * the Maintainer of this OTodo 156 * the Maintainer of this OTodo
157 */ 157 */
158 OPimMaintainer maintainer()const; 158 OPimMaintainer maintainer()const;
159 159
160 /** 160 /**
161 * The description of the todo 161 * The description of the todo
162 */ 162 */
163 QString description()const; 163 QString description()const;
164 164
165 /** 165 /**
166 * A small summary of the todo 166 * A small summary of the todo
167 */ 167 */
168 QString summary() const; 168 QString summary() const;
169 169
170 /** 170 /**
171 * @reimplemented 171 * @reimplemented
172 * Return this todoevent in a RichText formatted QString 172 * Return this todoevent in a RichText formatted QString
173 */ 173 */
174 QString toRichText() const; 174 QString toRichText() const;
175 175
176 bool hasNotifiers()const; 176 bool hasNotifiers()const;
177 /* 177 /*
178 * check if the sharing is still fine!! -zecke 178 * FIXME check if the sharing is still fine!! -zecke
179 * ### CHECK If API is fine
179 */ 180 */
180 /** 181 /**
181 * return a reference to our notifiers... 182 * return a reference to our notifiers...
182 */ 183 */
183 OPimNotifyManager &notifiers(); 184 OPimNotifyManager &notifiers();
184 185
185 /** 186 /**
187 *
188 */
189 const OPimNotifyManager &notifiers()const;
190
191 /**
186 * reimplementations 192 * reimplementations
187 */ 193 */
188 QString type()const; 194 QString type()const;
189 QString toShortText()const; 195 QString toShortText()const;
190 QMap<QString, QString> toExtraMap()const; 196 QMap<QString, QString> toExtraMap()const;
191 QString recordField(int id )const; 197 QString recordField(int id )const;
192 198
193 /** 199 /**
194 * toMap puts all data into the map. int relates 200 * toMap puts all data into the map. int relates
195 * to ToDoEvent RecordFields enum 201 * to ToDoEvent RecordFields enum
196 */ 202 */
197 QMap<int, QString> toMap()const; 203 QMap<int, QString> toMap()const;
198 204
199 /** 205 /**
200 * Set if this Todo is completed 206 * Set if this Todo is completed
201 */ 207 */
202 void setCompleted(bool completed ); 208 void setCompleted(bool completed );
203 209
204 /** 210 /**
205 * set if this todo got an end data 211 * set if this todo got an end data
206 */ 212 */
207 void setHasDueDate( bool hasDate ); 213 void setHasDueDate( bool hasDate );
208 // FIXME we do not have these for start, completed 214 // FIXME we do not have these for start, completed
209 // cause we'll use the isNull() of QDate for figuring 215 // cause we'll use the isNull() of QDate for figuring
210 // out if it's has a date... 216 // out if it's has a date...
211 // decide what to do here? -zecke 217 // decide what to do here? -zecke
212 218
213 /** 219 /**
214 * Set the priority of the Todo 220 * Set the priority of the Todo
215 */ 221 */
216 void setPriority(int priority ); 222 void setPriority(int priority );
217 223
218 /** 224 /**
219 * Set the progress. 225 * Set the progress.
220 */ 226 */
221 void setProgress( ushort progress ); 227 void setProgress( ushort progress );
222 228
223 /** 229 /**
224 * set the end date 230 * set the end date
225 */ 231 */
226 void setDueDate( const QDate& date ); 232 void setDueDate( const QDate& date );
227 233
228 /** 234 /**
229 * set the start date 235 * set the start date
230 */ 236 */
231 void setStartDate( const QDate& date ); 237 void setStartDate( const QDate& date );
232 238
233 /** 239 /**
234 * set the completed date 240 * set the completed date
235 */ 241 */
236 void setCompletedDate( const QDate& date ); 242 void setCompletedDate( const QDate& date );
237 243
238 void setRecurrence( const ORecur& ); 244 void setRecurrence( const ORecur& );
239 /** 245 /**
240 * set the alarm time 246 * set the alarm time
241 */ 247 */
242 void setAlarmDateTime ( const QDateTime& alarm ); 248 void setAlarmDateTime ( const QDateTime& alarm );
243 249
244 void setDescription(const QString& ); 250 void setDescription(const QString& );
245 void setSummary(const QString& ); 251 void setSummary(const QString& );
246 252
247 /** 253 /**
248 * set the state of a Todo 254 * set the state of a Todo
249 * @param state State what the todo should take 255 * @param state State what the todo should take