-rw-r--r-- | libopie/pim/otodo.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/libopie/pim/otodo.cpp b/libopie/pim/otodo.cpp index 4d5cb79..6fcf9f6 100644 --- a/libopie/pim/otodo.cpp +++ b/libopie/pim/otodo.cpp | |||
@@ -11,12 +11,14 @@ | |||
11 | #include <qpe/categories.h> | 11 | #include <qpe/categories.h> |
12 | #include <qpe/categoryselect.h> | 12 | #include <qpe/categoryselect.h> |
13 | 13 | ||
14 | 14 | ||
15 | #include "opimstate.h" | 15 | #include "opimstate.h" |
16 | #include "orecur.h" | 16 | #include "orecur.h" |
17 | #include "opimmaintainer.h" | ||
18 | |||
17 | #include "otodo.h" | 19 | #include "otodo.h" |
18 | 20 | ||
19 | 21 | ||
20 | struct OTodo::OTodoData : public QShared { | 22 | struct OTodo::OTodoData : public QShared { |
21 | OTodoData() : QShared() { | 23 | OTodoData() : QShared() { |
22 | }; | 24 | }; |
@@ -30,12 +32,13 @@ struct OTodo::OTodoData : public QShared { | |||
30 | QMap<QString, QString> extra; | 32 | QMap<QString, QString> extra; |
31 | ushort prog; | 33 | ushort prog; |
32 | bool hasAlarmDateTime :1; | 34 | bool hasAlarmDateTime :1; |
33 | QDateTime alarmDateTime; | 35 | QDateTime alarmDateTime; |
34 | OPimState state; | 36 | OPimState state; |
35 | ORecur recur; | 37 | ORecur recur; |
38 | OPimMaintainer maintainer; | ||
36 | }; | 39 | }; |
37 | 40 | ||
38 | OTodo::OTodo(const OTodo &event ) | 41 | OTodo::OTodo(const OTodo &event ) |
39 | : OPimRecord( event ), data( event.data ) | 42 | : OPimRecord( event ), data( event.data ) |
40 | { | 43 | { |
41 | data->ref(); | 44 | data->ref(); |
@@ -150,12 +153,15 @@ QString OTodo::description()const | |||
150 | OPimState OTodo::state()const { | 153 | OPimState OTodo::state()const { |
151 | return data->state; | 154 | return data->state; |
152 | } | 155 | } |
153 | ORecur OTodo::recurrence()const { | 156 | ORecur OTodo::recurrence()const { |
154 | return data->recur; | 157 | return data->recur; |
155 | } | 158 | } |
159 | OPimMaintainer OTodo::maintainer()const { | ||
160 | return data->maintainer; | ||
161 | } | ||
156 | void OTodo::setCompleted( bool completed ) | 162 | void OTodo::setCompleted( bool completed ) |
157 | { | 163 | { |
158 | changeOrModify(); | 164 | changeOrModify(); |
159 | data->isCompleted = completed; | 165 | data->isCompleted = completed; |
160 | } | 166 | } |
161 | void OTodo::setHasDueDate( bool hasDate ) | 167 | void OTodo::setHasDueDate( bool hasDate ) |
@@ -199,12 +205,16 @@ void OTodo::setState( const OPimState& state ) { | |||
199 | data->state = state; | 205 | data->state = state; |
200 | } | 206 | } |
201 | void OTodo::setRecurrence( const ORecur& rec) { | 207 | void OTodo::setRecurrence( const ORecur& rec) { |
202 | changeOrModify(); | 208 | changeOrModify(); |
203 | data->recur = rec; | 209 | data->recur = rec; |
204 | } | 210 | } |
211 | void OTodo::setMaintainer( const OPimMaintainer& pim ) { | ||
212 | changeOrModify(); | ||
213 | data->maintainer = pim; | ||
214 | } | ||
205 | bool OTodo::isOverdue( ) | 215 | bool OTodo::isOverdue( ) |
206 | { | 216 | { |
207 | if( data->hasDate && !data->isCompleted) | 217 | if( data->hasDate && !data->isCompleted) |
208 | return QDate::currentDate() > data->date; | 218 | return QDate::currentDate() > data->date; |
209 | return false; | 219 | return false; |
210 | } | 220 | } |
@@ -318,12 +328,14 @@ bool OTodo::operator==(const OTodo &toDoEvent )const | |||
318 | if ( data->sum != toDoEvent.data->sum ) return false; | 328 | if ( data->sum != toDoEvent.data->sum ) return false; |
319 | if ( data->desc != toDoEvent.data->desc ) return false; | 329 | if ( data->desc != toDoEvent.data->desc ) return false; |
320 | if ( data->hasAlarmDateTime != toDoEvent.data->hasAlarmDateTime ) | 330 | if ( data->hasAlarmDateTime != toDoEvent.data->hasAlarmDateTime ) |
321 | return false; | 331 | return false; |
322 | if ( data->alarmDateTime != toDoEvent.data->alarmDateTime ) | 332 | if ( data->alarmDateTime != toDoEvent.data->alarmDateTime ) |
323 | return false; | 333 | return false; |
334 | if ( data->maintainer != toDoEvent.data->maintainer ) | ||
335 | return false; | ||
324 | 336 | ||
325 | return OPimRecord::operator==( toDoEvent ); | 337 | return OPimRecord::operator==( toDoEvent ); |
326 | } | 338 | } |
327 | void OTodo::deref() { | 339 | void OTodo::deref() { |
328 | 340 | ||
329 | // qWarning("deref in ToDoEvent"); | 341 | // qWarning("deref in ToDoEvent"); |
@@ -355,13 +367,13 @@ QMap<int, QString> OTodo::toMap() const { | |||
355 | map.insert( Summary, data->sum ); | 367 | map.insert( Summary, data->sum ); |
356 | map.insert( Priority, QString::number( data->priority ) ); | 368 | map.insert( Priority, QString::number( data->priority ) ); |
357 | map.insert( DateDay, QString::number( data->date.day() ) ); | 369 | map.insert( DateDay, QString::number( data->date.day() ) ); |
358 | map.insert( DateMonth, QString::number( data->date.month() ) ); | 370 | map.insert( DateMonth, QString::number( data->date.month() ) ); |
359 | map.insert( DateYear, QString::number( data->date.year() ) ); | 371 | map.insert( DateYear, QString::number( data->date.year() ) ); |
360 | map.insert( Progress, QString::number( data->prog ) ); | 372 | map.insert( Progress, QString::number( data->prog ) ); |
361 | map.insert( CrossReference, crossToString() ); | 373 | // map.insert( CrossReference, crossToString() ); |
362 | map.insert( HasAlarmDateTime, QString::number( data->hasAlarmDateTime ) ); | 374 | map.insert( HasAlarmDateTime, QString::number( data->hasAlarmDateTime ) ); |
363 | map.insert( AlarmDateTime, data->alarmDateTime.toString() ); | 375 | map.insert( AlarmDateTime, data->alarmDateTime.toString() ); |
364 | 376 | ||
365 | return map; | 377 | return map; |
366 | } | 378 | } |
367 | 379 | ||
@@ -379,12 +391,17 @@ void OTodo::changeOrModify() { | |||
379 | data->deref(); | 391 | data->deref(); |
380 | OTodoData* d2 = new OTodoData(); | 392 | OTodoData* d2 = new OTodoData(); |
381 | copy(data, d2 ); | 393 | copy(data, d2 ); |
382 | data = d2; | 394 | data = d2; |
383 | } | 395 | } |
384 | } | 396 | } |
397 | // WATCHOUT | ||
398 | /* | ||
399 | * if you add something to the Data struct | ||
400 | * be sure to copy it here | ||
401 | */ | ||
385 | void OTodo::copy( OTodoData* src, OTodoData* dest ) { | 402 | void OTodo::copy( OTodoData* src, OTodoData* dest ) { |
386 | dest->date = src->date; | 403 | dest->date = src->date; |
387 | dest->isCompleted = src->isCompleted; | 404 | dest->isCompleted = src->isCompleted; |
388 | dest->hasDate = src->hasDate; | 405 | dest->hasDate = src->hasDate; |
389 | dest->priority = src->priority; | 406 | dest->priority = src->priority; |
390 | dest->desc = src->desc; | 407 | dest->desc = src->desc; |
@@ -392,12 +409,13 @@ void OTodo::copy( OTodoData* src, OTodoData* dest ) { | |||
392 | dest->extra = src->extra; | 409 | dest->extra = src->extra; |
393 | dest->prog = src->prog; | 410 | dest->prog = src->prog; |
394 | dest->hasAlarmDateTime = src->hasAlarmDateTime; | 411 | dest->hasAlarmDateTime = src->hasAlarmDateTime; |
395 | dest->alarmDateTime = src->alarmDateTime; | 412 | dest->alarmDateTime = src->alarmDateTime; |
396 | dest->state = src->state; | 413 | dest->state = src->state; |
397 | dest->recur = src->recur; | 414 | dest->recur = src->recur; |
415 | dest->maintainer = src->maintainer; | ||
398 | } | 416 | } |
399 | QString OTodo::type() const { | 417 | QString OTodo::type() const { |
400 | return QString::fromLatin1("OTodo"); | 418 | return QString::fromLatin1("OTodo"); |
401 | } | 419 | } |
402 | QString OTodo::recordField(int /*id*/ )const { | 420 | QString OTodo::recordField(int /*id*/ )const { |
403 | return QString::null; | 421 | return QString::null; |