-rw-r--r-- | libopie/libopie.pro | 2 | ||||
-rw-r--r-- | libopie/pim/opimmaintainer.cpp | 37 | ||||
-rw-r--r-- | libopie/pim/opimmaintainer.h | 36 | ||||
-rw-r--r-- | libopie/pim/opimxrefmanager.cpp | 2 | ||||
-rw-r--r-- | libopie/pim/otodo.cpp | 20 | ||||
-rw-r--r-- | libopie/pim/otodo.h | 12 |
6 files changed, 108 insertions, 1 deletions
diff --git a/libopie/libopie.pro b/libopie/libopie.pro index 3e6156e..a80a407 100644 --- a/libopie/libopie.pro +++ b/libopie/libopie.pro | |||
@@ -28,12 +28,13 @@ HEADERS = ofontmenu.h \ | |||
28 | pim/otodoaccessvcal.h \ | 28 | pim/otodoaccessvcal.h \ |
29 | pim/orecur.h \ | 29 | pim/orecur.h \ |
30 | pim/opimstate.h \ | 30 | pim/opimstate.h \ |
31 | pim/opimxrefpartner.h \ | 31 | pim/opimxrefpartner.h \ |
32 | pim/opimxref.h \ | 32 | pim/opimxref.h \ |
33 | pim/opimxrefmanager.h \ | 33 | pim/opimxrefmanager.h \ |
34 | pim/opimmaintainer.h \ | ||
34 | orecurrancewidget.h \ | 35 | orecurrancewidget.h \ |
35 | oticker.h | 36 | oticker.h |
36 | # pim/otodoaccesssql.h \ | 37 | # pim/otodoaccesssql.h \ |
37 | 38 | ||
38 | SOURCES = ofontmenu.cc \ | 39 | SOURCES = ofontmenu.cc \ |
39 | ocolorbutton.cpp \ | 40 | ocolorbutton.cpp \ |
@@ -57,12 +58,13 @@ SOURCES = ofontmenu.cc \ | |||
57 | pim/otodoaccessvcal.cpp \ | 58 | pim/otodoaccessvcal.cpp \ |
58 | pim/orecur.cpp \ | 59 | pim/orecur.cpp \ |
59 | pim/opimstate.cpp \ | 60 | pim/opimstate.cpp \ |
60 | pim/opimxrefpartner.cpp \ | 61 | pim/opimxrefpartner.cpp \ |
61 | pim/opimxref.cpp \ | 62 | pim/opimxref.cpp \ |
62 | pim/opimxrefmanager.cpp \ | 63 | pim/opimxrefmanager.cpp \ |
64 | pim/opimmaintainer.cpp \ | ||
63 | orecurrancewidget.cpp \ | 65 | orecurrancewidget.cpp \ |
64 | oticker.cpp | 66 | oticker.cpp |
65 | # pim/otodoaccesssql.cpp \ | 67 | # pim/otodoaccesssql.cpp \ |
66 | 68 | ||
67 | TARGET = opie | 69 | TARGET = opie |
68 | INCLUDEPATH += $(OPIEDIR)/include | 70 | INCLUDEPATH += $(OPIEDIR)/include |
diff --git a/libopie/pim/opimmaintainer.cpp b/libopie/pim/opimmaintainer.cpp new file mode 100644 index 0000000..e34f035 --- a/dev/null +++ b/libopie/pim/opimmaintainer.cpp | |||
@@ -0,0 +1,37 @@ | |||
1 | #include "opimmaintainer.h" | ||
2 | |||
3 | OPimMaintainer::OPimMaintainer( enum Mode mode, int uid ) | ||
4 | : m_mode(mode), m_uid(uid ) | ||
5 | {} | ||
6 | OPimMaintainer::~OPimMaintainer() { | ||
7 | } | ||
8 | OPimMaintainer::OPimMaintainer( const OPimMaintainer& main ) { | ||
9 | *this = main; | ||
10 | } | ||
11 | OPimMaintainer &OPimMaintainer::operator=( const OPimMaintainer& main ) { | ||
12 | m_mode = main.m_mode; | ||
13 | m_uid = main.m_uid; | ||
14 | |||
15 | return *this; | ||
16 | } | ||
17 | bool OPimMaintainer::operator==( const OPimMaintainer& main ) { | ||
18 | if (m_mode != main.m_mode ) return false; | ||
19 | if (m_uid != main.m_uid ) return false; | ||
20 | |||
21 | return true; | ||
22 | } | ||
23 | bool OPimMaintainer::operator!=( const OPimMaintainer& main ) { | ||
24 | return !(*this == main ); | ||
25 | } | ||
26 | OPimMaintainer::Mode OPimMaintainer::mode()const { | ||
27 | return m_mode; | ||
28 | } | ||
29 | int OPimMaintainer::uid()const { | ||
30 | return m_uid; | ||
31 | } | ||
32 | void OPimMaintainer::setMode( enum Mode mo) { | ||
33 | m_mode = mo; | ||
34 | } | ||
35 | void OPimMaintainer::setUid( int uid ) { | ||
36 | m_uid = uid; | ||
37 | } | ||
diff --git a/libopie/pim/opimmaintainer.h b/libopie/pim/opimmaintainer.h new file mode 100644 index 0000000..310e15a --- a/dev/null +++ b/libopie/pim/opimmaintainer.h | |||
@@ -0,0 +1,36 @@ | |||
1 | #ifndef OPIE_PIM_MAINTAINER_H | ||
2 | #define OPIE_PIM_MAINTAINER_H | ||
3 | |||
4 | #include <qstring.h> | ||
5 | |||
6 | /** | ||
7 | * Who maintains what? | ||
8 | */ | ||
9 | class OPimMaintainer { | ||
10 | public: | ||
11 | enum Mode { Undefined = -1, | ||
12 | Responsible = 0, | ||
13 | DoneBy, | ||
14 | Coordinating }; | ||
15 | OPimMaintainer( enum Mode mode = Undefined, int uid = 0); | ||
16 | OPimMaintainer( const OPimMaintainer& ); | ||
17 | ~OPimMaintainer(); | ||
18 | |||
19 | OPimMaintainer &operator=( const OPimMaintainer& ); | ||
20 | bool operator==( const OPimMaintainer& ); | ||
21 | bool operator!=( const OPimMaintainer& ); | ||
22 | |||
23 | |||
24 | Mode mode()const; | ||
25 | int uid()const; | ||
26 | |||
27 | void setMode( enum Mode ); | ||
28 | void setUid( int uid ); | ||
29 | |||
30 | private: | ||
31 | Mode m_mode; | ||
32 | int m_uid; | ||
33 | |||
34 | }; | ||
35 | |||
36 | #endif | ||
diff --git a/libopie/pim/opimxrefmanager.cpp b/libopie/pim/opimxrefmanager.cpp index d49f5f5..965f542 100644 --- a/libopie/pim/opimxrefmanager.cpp +++ b/libopie/pim/opimxrefmanager.cpp | |||
@@ -3,12 +3,14 @@ | |||
3 | 3 | ||
4 | OPimXRefManager::OPimXRefManager() { | 4 | OPimXRefManager::OPimXRefManager() { |
5 | } | 5 | } |
6 | OPimXRefManager::OPimXRefManager( const OPimXRefManager& ref) { | 6 | OPimXRefManager::OPimXRefManager( const OPimXRefManager& ref) { |
7 | m_list = ref.m_list; | 7 | m_list = ref.m_list; |
8 | } | 8 | } |
9 | OPimXRefManager::~OPimXRefManager() { | ||
10 | } | ||
9 | OPimXRefManager &OPimXRefManager::operator=( const OPimXRefManager& ref) { | 11 | OPimXRefManager &OPimXRefManager::operator=( const OPimXRefManager& ref) { |
10 | m_list = ref.m_list; | 12 | m_list = ref.m_list; |
11 | return *this; | 13 | return *this; |
12 | } | 14 | } |
13 | bool OPimXRefManager::operator==( const OPimXRefManager& /*ref*/) { | 15 | bool OPimXRefManager::operator==( const OPimXRefManager& /*ref*/) { |
14 | // if ( m_list == ref.m_list ) return true; | 16 | // if ( m_list == ref.m_list ) return true; |
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; |
diff --git a/libopie/pim/otodo.h b/libopie/pim/otodo.h index 2cdc587..70b0253 100644 --- a/libopie/pim/otodo.h +++ b/libopie/pim/otodo.h | |||
@@ -15,12 +15,13 @@ | |||
15 | 15 | ||
16 | #include <opie/opimrecord.h> | 16 | #include <opie/opimrecord.h> |
17 | 17 | ||
18 | 18 | ||
19 | class OPimState; | 19 | class OPimState; |
20 | class ORecur; | 20 | class ORecur; |
21 | class OPimMaintainer; | ||
21 | class OTodo : public OPimRecord { | 22 | class OTodo : public OPimRecord { |
22 | public: | 23 | public: |
23 | typedef QValueList<OTodo> ValueList; | 24 | typedef QValueList<OTodo> ValueList; |
24 | enum RecordFields { | 25 | enum RecordFields { |
25 | Uid = Qtopia::UID_ID, | 26 | Uid = Qtopia::UID_ID, |
26 | Category = Qtopia::CATEGORY_ID, | 27 | Category = Qtopia::CATEGORY_ID, |
@@ -125,12 +126,17 @@ public: | |||
125 | /** | 126 | /** |
126 | * the recurrance of this | 127 | * the recurrance of this |
127 | */ | 128 | */ |
128 | ORecur recurrence()const; | 129 | ORecur recurrence()const; |
129 | 130 | ||
130 | /** | 131 | /** |
132 | * the Maintainer of this OTodo | ||
133 | */ | ||
134 | OPimMaintainer maintainer()const; | ||
135 | |||
136 | /** | ||
131 | * The description of the todo | 137 | * The description of the todo |
132 | */ | 138 | */ |
133 | QString description()const; | 139 | QString description()const; |
134 | 140 | ||
135 | /** | 141 | /** |
136 | * A small summary of the todo | 142 | * A small summary of the todo |
@@ -199,12 +205,18 @@ public: | |||
199 | 205 | ||
200 | /** | 206 | /** |
201 | * set the state of a Todo | 207 | * set the state of a Todo |
202 | * @param state State what the todo should take | 208 | * @param state State what the todo should take |
203 | */ | 209 | */ |
204 | void setState( const OPimState& state); | 210 | void setState( const OPimState& state); |
211 | |||
212 | /** | ||
213 | * set the Maintainer Mode | ||
214 | */ | ||
215 | void setMaintainer( const OPimMaintainer& ); | ||
216 | |||
205 | bool isOverdue(); | 217 | bool isOverdue(); |
206 | 218 | ||
207 | 219 | ||
208 | bool match( const QRegExp &r )const; | 220 | bool match( const QRegExp &r )const; |
209 | 221 | ||
210 | bool operator<(const OTodo &toDoEvent )const; | 222 | bool operator<(const OTodo &toDoEvent )const; |