summaryrefslogtreecommitdiff
path: root/libopie2
authorzecke <zecke>2002-09-20 17:28:20 (UTC)
committer zecke <zecke>2002-09-20 17:28:20 (UTC)
commit55dd11ddae09bfc4907399c473f0387c135fdae6 (patch) (unidiff)
tree69d52e2f0e1030bbdcbf518f0a334ff4861500fa /libopie2
parent40df2487c53a5ab484d33d619f5b6ed449c0b485 (diff)
downloadopie-55dd11ddae09bfc4907399c473f0387c135fdae6.zip
opie-55dd11ddae09bfc4907399c473f0387c135fdae6.tar.gz
opie-55dd11ddae09bfc4907399c473f0387c135fdae6.tar.bz2
OTodo know is the first implementation of OPimRecord
Diffstat (limited to 'libopie2') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/core/opimrecord.cpp26
-rw-r--r--libopie2/opiepim/core/opimrecord.h4
-rw-r--r--libopie2/opiepim/otodo.cpp265
-rw-r--r--libopie2/opiepim/otodo.h26
4 files changed, 95 insertions, 226 deletions
diff --git a/libopie2/opiepim/core/opimrecord.cpp b/libopie2/opiepim/core/opimrecord.cpp
index 95de1df..d8f73c7 100644
--- a/libopie2/opiepim/core/opimrecord.cpp
+++ b/libopie2/opiepim/core/opimrecord.cpp
@@ -2,22 +2,24 @@
2 2
3OPimRecord::OPimRecord( int uid ) 3OPimRecord::OPimRecord( int uid )
4 : Qtopia::Record() { 4 : Qtopia::Record() {
5
5 setUid( uid ); 6 setUid( uid );
7 /* assign a new UID */
6 if ( uid == 1 ) 8 if ( uid == 1 )
7 assignUid(); 9 assignUid();
8} 10}
9OPimRecord::~OPimRecord() { 11OPimRecord::~OPimRecord() {
10} 12}
11OPimRecord::OPimRecord( OPimRecord& rec ) 13OPimRecord::OPimRecord( const OPimRecord& rec )
12 : Qtopia::Record( rec ) 14 : Qtopia::Record( rec )
13{ 15{
14 (*this) = rec; 16 (*this) = rec;
15} 17}
16 18
17OPimRecord &OPimRecord::operator=( const OPimRecord& rec) { 19OPimRecord &OPimRecord::operator=( const OPimRecord& rec) {
18 /* how do I call the parent copy operator ? */ 20 Qtopia::Record::operator=( rec );
19 setUid( rec.uid() ); 21 m_relations = rec.m_relations;
20 setCategories( rec.categories() ); 22
21 return *this; 23 return *this;
22} 24}
23QStringList OPimRecord::categoryNames()const { 25QStringList OPimRecord::categoryNames()const {
@@ -25,7 +27,7 @@ QStringList OPimRecord::categoryNames()const {
25 27
26 return list; 28 return list;
27} 29}
28void OPimRecord::setCategoryName( const QStringList& ) { 30void OPimRecord::setCategoryNames( const QStringList& ) {
29 31
30} 32}
31void OPimRecord::addCategoryName( const QString& ) { 33void OPimRecord::addCategoryName( const QString& ) {
@@ -88,3 +90,17 @@ void OPimRecord::setRelations( const QString& app, QArray<int> ids ) {
88 } 90 }
89 m_relations.replace( app, tmp ); 91 m_relations.replace( app, tmp );
90} 92}
93QString OPimRecord::crossToString()const {
94 QString str;
95 QMap<QString, QArray<int> >::ConstIterator it;
96 for (it = m_relations.begin(); it != m_relations.end(); ++it ) {
97 QArray<int> id = it.data();
98 for ( uint i = 0; i < id.size(); ++i ) {
99 str += it.key() + "," + QString::number( i ) + ";";
100 }
101 }
102 str = str.remove( str.length()-1, 1); // strip the ;
103 //qWarning("IDS " + str );
104
105 return str;
106}
diff --git a/libopie2/opiepim/core/opimrecord.h b/libopie2/opiepim/core/opimrecord.h
index a0e0413..18112d4 100644
--- a/libopie2/opiepim/core/opimrecord.h
+++ b/libopie2/opiepim/core/opimrecord.h
@@ -19,7 +19,7 @@ public:
19 /** 19 /**
20 * copy c'tor 20 * copy c'tor
21 */ 21 */
22 OPimRecord( OPimRecord& rec ); 22 OPimRecord( const OPimRecord& rec );
23 23
24 /** 24 /**
25 * copy operator 25 * copy operator
@@ -34,7 +34,7 @@ public:
34 /** 34 /**
35 * set category names they will be resolved 35 * set category names they will be resolved
36 */ 36 */
37 void setCategoryName( const QStringList& ); 37 void setCategoryNames( const QStringList& );
38 38
39 /** 39 /**
40 * addCategoryName adds a name 40 * addCategoryName adds a name
diff --git a/libopie2/opiepim/otodo.cpp b/libopie2/opiepim/otodo.cpp
index d8e0447..3c93838 100644
--- a/libopie2/opiepim/otodo.cpp
+++ b/libopie2/opiepim/otodo.cpp
@@ -11,14 +11,13 @@
11#include <qpe/categories.h> 11#include <qpe/categories.h>
12#include <qpe/categoryselect.h> 12#include <qpe/categoryselect.h>
13 13
14#include "todoevent.h"
15 14
16using namespace Opie;
17 15
18Qtopia::UidGen ToDoEvent::m_gen; 16#include "otodo.h"
19 17
20struct ToDoEvent::ToDoEventData : public QShared { 18
21 ToDoEventData() : QShared() { 19struct OTodo::OTodoData : public QShared {
20 OTodoData() : QShared() {
22 }; 21 };
23 22
24 QDate date; 23 QDate date;
@@ -29,62 +28,47 @@ struct ToDoEvent::ToDoEventData : public QShared {
29 QString desc; 28 QString desc;
30 QString sum; 29 QString sum;
31 QMap<QString, QString> extra; 30 QMap<QString, QString> extra;
32 QMap<QString, QArray<int> > relations;
33 int uid;
34 ushort prog; 31 ushort prog;
35 bool hasAlarmDateTime :1; 32 bool hasAlarmDateTime :1;
36 QDateTime alarmDateTime; 33 QDateTime alarmDateTime;
37}; 34};
38 35
39ToDoEvent::ToDoEvent(const ToDoEvent &event ) 36OTodo::OTodo(const OTodo &event )
40 : data( event.data ) 37 : OPimRecord( event ), data( event.data )
41{ 38{
42 data->ref(); 39 data->ref();
43 //qWarning("ref up"); 40 //qWarning("ref up");
44} 41}
45ToDoEvent::~ToDoEvent() { 42OTodo::~OTodo() {
46 if ( data->deref() ) { 43 if ( data->deref() ) {
47 //qWarning("ToDoEvent::dereffing"); 44 //qWarning("OTodo::dereffing");
48 delete data; 45 delete data;
49 data = 0l; 46 data = 0l;
50 } 47 }
51} 48}
52 49
53ToDoEvent::ToDoEvent(bool completed, int priority, 50OTodo::OTodo(bool completed, int priority,
54 const QStringList &category, 51 const QStringList &category,
55 const QString& summary, 52 const QString& summary,
56 const QString &description, 53 const QString &description,
57 ushort progress, 54 ushort progress,
58 bool hasDate, QDate date, int uid ) 55 bool hasDate, QDate date, int uid )
56 : OPimRecord( uid )
59{ 57{
60 //qWarning("ToDoEventData"); 58 //qWarning("OTodoData");
61 data = new ToDoEventData; 59 setCategories( idsFromString( category.join(";") ) );
60 data = new OTodoData;
62 data->date = date; 61 data->date = date;
63 data->isCompleted = completed; 62 data->isCompleted = completed;
64 data->hasDate = hasDate; 63 data->hasDate = hasDate;
65 data->priority = priority; 64 data->priority = priority;
66 data->category = category;
67 data->sum = summary; 65 data->sum = summary;
68 data->prog = progress; 66 data->prog = progress;
69 data->desc = Qtopia::simplifyMultiLineSpace(description ); 67 data->desc = Qtopia::simplifyMultiLineSpace(description );
70 if (uid == -1 ) {
71 uid = m_gen.generate();
72
73 }// generated the ids
74 m_gen.store( uid );
75
76 data->uid = uid;
77 data->hasAlarmDateTime = false; 68 data->hasAlarmDateTime = false;
78 69
79} 70}
80QArray<int> ToDoEvent::categories()const 71bool OTodo::match( const QRegExp &regExp )const
81{
82 qWarning( "ToDoEvent:cats" + data->category.join(";") );
83 QArray<int> array(data->category.count() ); // currently the datebook can be only in one category
84 array = Qtopia::Record::idsFromString( data->category.join(";") );
85 return array;
86}
87bool ToDoEvent::match( const QRegExp &regExp )const
88{ 72{
89 if( QString::number( data->priority ).find( regExp ) != -1 ){ 73 if( QString::number( data->priority ).find( regExp ) != -1 ){
90 return true; 74 return true;
@@ -92,200 +76,107 @@ bool ToDoEvent::match( const QRegExp &regExp )const
92 return true; 76 return true;
93 }else if(data->desc.find( regExp ) != -1 ){ 77 }else if(data->desc.find( regExp ) != -1 ){
94 return true; 78 return true;
79 }else if(data->sum.find( regExp ) != -1 ) {
80 return true;
95 } 81 }
96 return false; 82 return false;
97} 83}
98bool ToDoEvent::isCompleted() const 84bool OTodo::isCompleted() const
99{ 85{
100 return data->isCompleted; 86 return data->isCompleted;
101} 87}
102bool ToDoEvent::hasDueDate() const 88bool OTodo::hasDueDate() const
103{ 89{
104 return data->hasDate; 90 return data->hasDate;
105} 91}
106bool ToDoEvent::hasAlarmDateTime() const 92bool OTodo::hasAlarmDateTime() const
107{ 93{
108 return data->hasAlarmDateTime; 94 return data->hasAlarmDateTime;
109} 95}
110int ToDoEvent::priority()const 96int OTodo::priority()const
111{ 97{
112 return data->priority; 98 return data->priority;
113} 99}
114QStringList ToDoEvent::allCategories()const 100QString OTodo::summary() const
115{
116 return data->category;
117}
118QString ToDoEvent::extra(const QString& )const
119{
120 return QString::null;
121}
122QString ToDoEvent::summary() const
123{ 101{
124 return data->sum; 102 return data->sum;
125} 103}
126ushort ToDoEvent::progress() const 104ushort OTodo::progress() const
127{ 105{
128 return data->prog; 106 return data->prog;
129} 107}
130QStringList ToDoEvent::relatedApps() const 108QDate OTodo::dueDate()const
131{
132 QStringList list;
133 QMap<QString, QArray<int> >::ConstIterator it;
134 for ( it = data->relations.begin(); it != data->relations.end(); ++it ) {
135 list << it.key();
136 }
137 return list;
138}
139QArray<int> ToDoEvent::relations( const QString& app)const
140{
141 QArray<int> tmp;
142 QMap<QString, QArray<int> >::ConstIterator it;
143 it = data->relations.find( app);
144 if ( it != data->relations.end() )
145 tmp = it.data();
146 return tmp;
147}
148void ToDoEvent::insertCategory(const QString &str )
149{
150 changeOrModify();
151 qWarning("insert category;" + str );
152 data->category.append( str );
153}
154void ToDoEvent::clearCategories()
155{
156 changeOrModify();
157 data->category.clear();
158}
159void ToDoEvent::setCategories(const QStringList &list )
160{
161 changeOrModify();
162 qWarning("set categories" + list.join(";") );
163 data->category = list;
164}
165QDate ToDoEvent::dueDate()const
166{ 109{
167 return data->date; 110 return data->date;
168} 111}
169 112
170QDateTime ToDoEvent::alarmDateTime() const 113QDateTime OTodo::alarmDateTime() const
171{ 114{
172 return data->alarmDateTime; 115 return data->alarmDateTime;
173} 116}
174 117
175QString ToDoEvent::description()const 118QString OTodo::description()const
176{ 119{
177 return data->desc; 120 return data->desc;
178} 121}
179void ToDoEvent::setCompleted( bool completed ) 122void OTodo::setCompleted( bool completed )
180{ 123{
181 changeOrModify(); 124 changeOrModify();
182 data->isCompleted = completed; 125 data->isCompleted = completed;
183} 126}
184void ToDoEvent::setHasDueDate( bool hasDate ) 127void OTodo::setHasDueDate( bool hasDate )
185{ 128{
186 changeOrModify(); 129 changeOrModify();
187 data->hasDate = hasDate; 130 data->hasDate = hasDate;
188} 131}
189void ToDoEvent::setHasAlarmDateTime( bool hasAlarmDateTime ) 132void OTodo::setHasAlarmDateTime( bool hasAlarmDateTime )
190{ 133{
191 changeOrModify(); 134 changeOrModify();
192 data->hasAlarmDateTime = hasAlarmDateTime; 135 data->hasAlarmDateTime = hasAlarmDateTime;
193} 136}
194void ToDoEvent::setDescription(const QString &desc ) 137void OTodo::setDescription(const QString &desc )
195{ 138{
196 changeOrModify(); 139 changeOrModify();
197 data->desc = Qtopia::simplifyMultiLineSpace(desc ); 140 data->desc = Qtopia::simplifyMultiLineSpace(desc );
198} 141}
199void ToDoEvent::setExtra( const QString&, const QString& ) 142void OTodo::setSummary( const QString& sum )
200{
201
202}
203void ToDoEvent::setSummary( const QString& sum )
204{ 143{
205 changeOrModify(); 144 changeOrModify();
206 data->sum = sum; 145 data->sum = sum;
207} 146}
208void ToDoEvent::setCategory( const QString &cat ) 147void OTodo::setPriority(int prio )
209{
210 changeOrModify();
211 //qWarning("setCategory %s", cat.latin1() );
212 data->category.clear();
213 data->category << cat;
214}
215void ToDoEvent::setPriority(int prio )
216{ 148{
217 changeOrModify(); 149 changeOrModify();
218 data->priority = prio; 150 data->priority = prio;
219} 151}
220void ToDoEvent::setDueDate( QDate date ) 152void OTodo::setDueDate( QDate date )
221{ 153{
222 changeOrModify(); 154 changeOrModify();
223 data->date = date; 155 data->date = date;
224} 156}
225void ToDoEvent::setAlarmDateTime( const QDateTime& alarm ) 157void OTodo::setAlarmDateTime( const QDateTime& alarm )
226{ 158{
227 changeOrModify(); 159 changeOrModify();
228 data->alarmDateTime = alarm; 160 data->alarmDateTime = alarm;
229} 161}
230void ToDoEvent::addRelated( const QString &app, int id ) 162bool OTodo::isOverdue( )
231{
232 changeOrModify();
233
234 QMap<QString, QArray<int> >::Iterator it;
235 QArray<int> tmp;
236 it = data->relations.find( app );
237 if ( it == data->relations.end() ) {
238 tmp.resize(1 );
239 tmp[0] = id;
240 }else{
241 tmp = it.data();
242 tmp.resize( tmp.size() + 1 );
243 tmp[tmp.size() - 1] = id;
244 }
245 data->relations.replace( app, tmp );
246}
247void ToDoEvent::addRelated(const QString& app, QArray<int> ids )
248{
249 changeOrModify();
250
251 QMap<QString, QArray<int> >::Iterator it;
252 QArray<int> tmp;
253 it = data->relations.find( app);
254 if ( it == data->relations.end() ) { // not there
255 /** tmp.resize( ids.size() ); stupid??
256 */
257 tmp = ids;
258 }else{
259 tmp = it.data();
260 int offset = tmp.size()-1;
261 tmp.resize( tmp.size() + ids.size() );
262 for (uint i = 0; i < ids.size(); i++ ) {
263 tmp[offset+i] = ids[i];
264 }
265
266 }
267 data->relations.replace( app, tmp );
268}
269void ToDoEvent::clearRelated( const QString& app )
270{
271 changeOrModify();
272 data->relations.remove( app );
273}
274bool ToDoEvent::isOverdue( )
275{ 163{
276 if( data->hasDate ) 164 if( data->hasDate )
277 return QDate::currentDate() > data->date; 165 return QDate::currentDate() > data->date;
278 return false; 166 return false;
279} 167}
280void ToDoEvent::setProgress(ushort progress ) 168void OTodo::setProgress(ushort progress )
281{ 169{
282 changeOrModify(); 170 changeOrModify();
283 data->prog = progress; 171 data->prog = progress;
284} 172}
173QString OTodo::toShortText() const {
174 return summary();
175}
285/*! 176/*!
286 Returns a richt text string 177 Returns a richt text string
287*/ 178*/
288QString ToDoEvent::richText() const 179QString OTodo::toRichText() const
289{ 180{
290 QString text; 181 QString text;
291 QStringList catlist; 182 QStringList catlist;
@@ -316,28 +207,14 @@ QString ToDoEvent::richText() const
316 text += "<br>"; 207 text += "<br>";
317 } 208 }
318 209
319 // Open database of all categories and get the list of
320 // the categories this todoevent belongs to.
321 // Then print them...
322 // I am not sure whether there is no better way doing this !?
323 Categories catdb;
324 bool firstloop = true;
325 catdb.load( categoryFileName() );
326 catlist = allCategories();
327
328 text += "<b>" + QObject::tr( "Category:") + "</b> "; 210 text += "<b>" + QObject::tr( "Category:") + "</b> ";
329 for ( QStringList::Iterator it = catlist.begin(); it != catlist.end(); ++it ) { 211 text += categoryNames().join(", ");
330 if (!firstloop){
331 text += ", ";
332 }
333 firstloop = false;
334 text += catdb.label ("todo", (*it).toInt());
335 }
336 text += "<br>"; 212 text += "<br>";
213
337 return text; 214 return text;
338} 215}
339 216
340bool ToDoEvent::operator<( const ToDoEvent &toDoEvent )const{ 217bool OTodo::operator<( const OTodo &toDoEvent )const{
341 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true; 218 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true;
342 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false; 219 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false;
343 if( hasDueDate() && toDoEvent.hasDueDate() ){ 220 if( hasDueDate() && toDoEvent.hasDueDate() ){
@@ -349,7 +226,7 @@ bool ToDoEvent::operator<( const ToDoEvent &toDoEvent )const{
349 } 226 }
350 return false; 227 return false;
351} 228}
352bool ToDoEvent::operator<=(const ToDoEvent &toDoEvent )const 229bool OTodo::operator<=(const OTodo &toDoEvent )const
353{ 230{
354 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true; 231 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true;
355 if( !hasDueDate() && toDoEvent.hasDueDate() ) return true; 232 if( !hasDueDate() && toDoEvent.hasDueDate() ) return true;
@@ -362,7 +239,7 @@ bool ToDoEvent::operator<=(const ToDoEvent &toDoEvent )const
362 } 239 }
363 return true; 240 return true;
364} 241}
365bool ToDoEvent::operator>(const ToDoEvent &toDoEvent )const 242bool OTodo::operator>(const OTodo &toDoEvent )const
366{ 243{
367 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return false; 244 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return false;
368 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false; 245 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false;
@@ -375,7 +252,7 @@ bool ToDoEvent::operator>(const ToDoEvent &toDoEvent )const
375 } 252 }
376 return false; 253 return false;
377} 254}
378bool ToDoEvent::operator>=(const ToDoEvent &toDoEvent )const 255bool OTodo::operator>=(const OTodo &toDoEvent )const
379{ 256{
380 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true; 257 if( !hasDueDate() && !toDoEvent.hasDueDate() ) return true;
381 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false; 258 if( !hasDueDate() && toDoEvent.hasDueDate() ) return false;
@@ -388,7 +265,7 @@ bool ToDoEvent::operator>=(const ToDoEvent &toDoEvent )const
388 } 265 }
389 return true; 266 return true;
390} 267}
391bool ToDoEvent::operator==(const ToDoEvent &toDoEvent )const 268bool OTodo::operator==(const OTodo &toDoEvent )const
392{ 269{
393 if( data->priority == toDoEvent.data->priority && 270 if( data->priority == toDoEvent.data->priority &&
394 data->priority == toDoEvent.data->prog && 271 data->priority == toDoEvent.data->prog &&
@@ -404,7 +281,7 @@ bool ToDoEvent::operator==(const ToDoEvent &toDoEvent )const
404 281
405 return false; 282 return false;
406} 283}
407void ToDoEvent::deref() { 284void OTodo::deref() {
408 285
409 //qWarning("deref in ToDoEvent"); 286 //qWarning("deref in ToDoEvent");
410 if ( data->deref() ) { 287 if ( data->deref() ) {
@@ -413,23 +290,21 @@ void ToDoEvent::deref() {
413 d= 0; 290 d= 0;
414 } 291 }
415} 292}
416ToDoEvent &ToDoEvent::operator=(const ToDoEvent &item ) 293OTodo &OTodo::operator=(const OTodo &item )
417{ 294{
295 OPimRecord::operator=( item );
418 //qWarning("operator= ref "); 296 //qWarning("operator= ref ");
419 item.data->ref(); 297 item.data->ref();
420 deref(); 298 deref();
421 299
422 data = item.data;
423
424
425 return *this; 300 return *this;
426} 301}
427 302
428QMap<int, QString> ToDoEvent::toMap() const { 303QMap<int, QString> OTodo::toMap() const {
429 QMap<int, QString> map; 304 QMap<int, QString> map;
430 305
431 map.insert( Uid, QString::number( data->uid ) ); 306 map.insert( Uid, QString::number( uid() ) );
432 map.insert( Category, data->category.join(";") ); 307 map.insert( Category, idsToString( categories() ) );
433 map.insert( HasDate, QString::number( data->hasDate ) ); 308 map.insert( HasDate, QString::number( data->hasDate ) );
434 map.insert( Completed, QString::number( data->isCompleted ) ); 309 map.insert( Completed, QString::number( data->isCompleted ) );
435 map.insert( Description, data->desc ); 310 map.insert( Description, data->desc );
@@ -446,32 +321,7 @@ QMap<int, QString> ToDoEvent::toMap() const {
446 return map; 321 return map;
447} 322}
448 323
449 324QMap<QString, QString> OTodo::toExtraMap()const {
450QString ToDoEvent::crossToString()const {
451 QString str;
452 QMap<QString, QArray<int> >::ConstIterator it;
453 for (it = data->relations.begin(); it != data->relations.end(); ++it ) {
454 QArray<int> id = it.data();
455 for ( uint i = 0; i < id.size(); ++i ) {
456 str += it.key() + "," + QString::number( i ) + ";";
457 }
458 }
459 str = str.remove( str.length()-1, 1); // strip the ;
460 //qWarning("IDS " + str );
461
462 return str;
463}
464int ToDoEvent::uid()const {
465 return data->uid;
466}
467void ToDoEvent::setUid( int id ) {
468 if ( id == -1 )
469 id = m_gen.generate();
470 m_gen.store(id );
471 changeOrModify();
472 data->uid = id;
473}
474QMap<QString, QString> ToDoEvent::extras()const {
475 return data->extra; 325 return data->extra;
476} 326}
477/** 327/**
@@ -479,26 +329,23 @@ QMap<QString, QString> ToDoEvent::extras()const {
479 * creates a new QShared Object or it can modify it 329 * creates a new QShared Object or it can modify it
480 * right in place 330 * right in place
481 */ 331 */
482void ToDoEvent::changeOrModify() { 332void OTodo::changeOrModify() {
483 if ( data->count != 1 ) { 333 if ( data->count != 1 ) {
484 //qWarning("changeOrModify"); 334 //qWarning("changeOrModify");
485 data->deref(); 335 data->deref();
486 ToDoEventData* d2 = new ToDoEventData(); 336 OTodoData* d2 = new OTodoData();
487 copy(data, d2 ); 337 copy(data, d2 );
488 data = d2; 338 data = d2;
489 } 339 }
490} 340}
491void ToDoEvent::copy( ToDoEventData* src, ToDoEventData* dest ) { 341void OTodo::copy( OTodoData* src, OTodoData* dest ) {
492 dest->date = src->date; 342 dest->date = src->date;
493 dest->isCompleted = src->isCompleted; 343 dest->isCompleted = src->isCompleted;
494 dest->hasDate = src->hasDate; 344 dest->hasDate = src->hasDate;
495 dest->priority = src->priority; 345 dest->priority = src->priority;
496 dest->category = src->category;
497 dest->desc = src->desc; 346 dest->desc = src->desc;
498 dest->sum = src->sum; 347 dest->sum = src->sum;
499 dest->extra = src->extra; 348 dest->extra = src->extra;
500 dest->relations = src->relations;
501 dest->uid = src->uid;
502 dest->prog = src->prog; 349 dest->prog = src->prog;
503 dest->hasAlarmDateTime = src->hasAlarmDateTime; 350 dest->hasAlarmDateTime = src->hasAlarmDateTime;
504 dest->alarmDateTime = src->alarmDateTime; 351 dest->alarmDateTime = src->alarmDateTime;
diff --git a/libopie2/opiepim/otodo.h b/libopie2/opiepim/otodo.h
index 429108a..e1729db 100644
--- a/libopie2/opiepim/otodo.h
+++ b/libopie2/opiepim/otodo.h
@@ -18,7 +18,7 @@
18 18
19class OTodo : public OPimRecord { 19class OTodo : public OPimRecord {
20public: 20public:
21 typedef QValueList<ToDoEvent> ValueList; 21 typedef QValueList<OTodo> ValueList;
22 enum RecordFields { 22 enum RecordFields {
23 Uid = Qtopia::UID_ID, 23 Uid = Qtopia::UID_ID,
24 Category = Qtopia::CATEGORY_ID, 24 Category = Qtopia::CATEGORY_ID,
@@ -118,6 +118,13 @@ public:
118 */ 118 */
119 QString toRichText() const; 119 QString toRichText() const;
120 120
121 /**
122 * reimplementation
123 */
124 QString type()const;
125 QString toShortText()const;
126 QMap<QString, QString> toExtraMap()const;
127 QString recordField(int id )const;
121 128
122 /** 129 /**
123 * returns a list of apps which have related items 130 * returns a list of apps which have related items
@@ -183,23 +190,22 @@ public:
183 bool operator>(const OTodo &toDoEvent )const; 190 bool operator>(const OTodo &toDoEvent )const;
184 bool operator>=(const OTodo &toDoEvent)const; 191 bool operator>=(const OTodo &toDoEvent)const;
185 bool operator==(const OTodo &toDoEvent )const; 192 bool operator==(const OTodo &toDoEvent )const;
186 ToDoEvent &operator=(const OTodo &toDoEvent ); 193 OTodo &operator=(const OTodo &toDoEvent );
187 194
188 private: 195 private:
189 class OTodoPrivate; 196 class OTodoPrivate;
190 struct OTodoEventData; 197 struct OTodoData;
191 198
192 void deref(); 199 void deref();
193 void changeOrModify(); 200 void changeOrModify();
194 void copy( OTodoData* src, OTodoData* dest ); 201 void copy( OTodoData* src, OTodoData* dest );
195 ToDoEventPrivate *d; 202 OTodoPrivate *d;
196 ToDoEventData *data; 203 OTodoData *data;
197 204
198 static Qtopia::UidGen m_gen;
199};
200 inline bool ToDoEvent::operator!=(const ToDoEvent &toDoEvent )const {
201 return !(*this == toDoEvent);
202 }
203}; 205};
206inline bool OTodo::operator!=(const OTodo &toDoEvent )const {
207 return !(*this == toDoEvent);
208}
209
204 210
205#endif 211#endif