summaryrefslogtreecommitdiff
path: root/libopie2/opiepim
Unidiff
Diffstat (limited to 'libopie2/opiepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/TODO5
-rw-r--r--libopie2/opiepim/core/opimcontact.cpp2
-rw-r--r--libopie2/opiepim/core/opimcontact.h2
-rw-r--r--libopie2/opiepim/core/opimevent.cpp2
-rw-r--r--libopie2/opiepim/core/opimevent.h2
-rw-r--r--libopie2/opiepim/core/opimrecord.cpp2
-rw-r--r--libopie2/opiepim/core/opimrecord.h2
-rw-r--r--libopie2/opiepim/core/opimtodo.cpp2
-rw-r--r--libopie2/opiepim/core/opimtodo.h2
9 files changed, 12 insertions, 9 deletions
diff --git a/libopie2/opiepim/TODO b/libopie2/opiepim/TODO
index cdde11c..c3420cf 100644
--- a/libopie2/opiepim/TODO
+++ b/libopie2/opiepim/TODO
@@ -1,54 +1,57 @@
1As to popular request.... 1As to popular request....
2 2
31.) fix up the core/backend mess. 31.) fix up the core/backend mess.
4 The actual Backend Implementation + Interface should be there 4 The actual Backend Implementation + Interface should be there
5 The API frontend used by the developer should not be used 5 The API frontend used by the developer should not be used
6 6
7 Rename ODateBookAccess* to OPimDateBookAccess*
8 Fix filenames to OPim* ...
9
72.) Move sorting, Query By Example, Exposing of Attributes of a Record 102.) Move sorting, Query By Example, Exposing of Attributes of a Record
8 available to the Ptr base class and have sane implementation 11 available to the Ptr base class and have sane implementation
9 on the template level 12 on the template level
10 13
113.) Have something like QProperty to expose attributes from OPimRecord. 143.) Have something like QProperty to expose attributes from OPimRecord.
12 This would include exporting,importing of data, and translated names. 15 This would include exporting,importing of data, and translated names.
13 This can be used for Cross Reference, Selector Widget, Generic Table 16 This can be used for Cross Reference, Selector Widget, Generic Table
14 Shower 17 Shower
15 18
164.) Marshall/Demarshall all PIM Records correctly 194.) Marshall/Demarshall all PIM Records correctly
17 20
185.) Add the Private Backend to the OPimRecord ( private ) make the base 215.) Add the Private Backend to the OPimRecord ( private ) make the base
19 access class friend and allow retrieving the backend. Make it virtual 22 access class friend and allow retrieving the backend. Make it virtual
20 so the template gets the right pointer. So it can only be accessed from 23 so the template gets the right pointer. So it can only be accessed from
21 the inside 24 the inside
22 25
236.) Add signals for updating/adding/removing records to the access template 266.) Add signals for updating/adding/removing records to the access template
24 Internal connect method 27 Internal connect method
25 28
267.) internal QCOP communication between the interfaces 297.) internal QCOP communication between the interfaces
27 30
288.) GUI:Better and Improved Recurrence Widget 318.) GUI:Better and Improved Recurrence Widget
29 32
309.) GUI:Improved Alarm Widget and handling classes 339.) GUI:Improved Alarm Widget and handling classes
31 34
3210.) GUI:Undo/Redo template look at KDE 3510.) GUI:Undo/Redo template look at KDE
33 36
3411.) GUI: Generic X-Ref Selector using the factory and pointer interface 3711.) GUI: Generic X-Ref Selector using the factory and pointer interface
35 38
3612.) GUI: Factory and also registration of foreign services. generate a records of type 3912.) GUI: Factory and also registration of foreign services. generate a records of type
37 40
3813.) Multiple Backends for an Access Template 4113.) Multiple Backends for an Access Template
39 42
4014.) ReadOnly Access 4314.) ReadOnly Access
41 44
4215.) GUI: Generic Table Widget maybe even baed on Selector with 4515.) GUI: Generic Table Widget maybe even baed on Selector with
43 configuration of shown Attribute 46 configuration of shown Attribute
44 47
4516.) Multiple Categories with Sub Categories including popup selector 4816.) Multiple Categories with Sub Categories including popup selector
46 Widget. Fix Bug with changing visible. Both helper class + gui. 49 Widget. Fix Bug with changing visible. Both helper class + gui.
47 Also group PopupNames Like in Function Menu of XEmacs 50 Also group PopupNames Like in Function Menu of XEmacs
48 51
4917.) ListView for TodolIst At least introduce parents and child 5217.) ListView for TodolIst At least introduce parents and child
50 And query for them 53 And query for them
51 54
5218.) Add querieng to Ptr Level for dates and date ranges. 5518.) Add querieng to Ptr Level for dates and date ranges.
53 Return OEffectiveEvents or such which is also only loaded 56 Return OEffectiveEvents or such which is also only loaded
54 if required. 57 if required.
diff --git a/libopie2/opiepim/core/opimcontact.cpp b/libopie2/opiepim/core/opimcontact.cpp
index 4a774e8..c1e06c8 100644
--- a/libopie2/opiepim/core/opimcontact.cpp
+++ b/libopie2/opiepim/core/opimcontact.cpp
@@ -1230,60 +1230,60 @@ void OPimContact::insertEmail( const QString &v )
1230 return ; 1230 return ;
1231 1231
1232 // remove it 1232 // remove it
1233 //qDebug(" removing email from list %s", e.latin1()); 1233 //qDebug(" removing email from list %s", e.latin1());
1234 emails.remove( e ); 1234 emails.remove( e );
1235 // reset the string 1235 // reset the string
1236 emailsStr = emails.join( emailSeparator() ); // Sharp's brain dead separator 1236 emailsStr = emails.join( emailSeparator() ); // Sharp's brain dead separator
1237 replace( Qtopia::Emails, emailsStr ); 1237 replace( Qtopia::Emails, emailsStr );
1238 1238
1239 // if default, then replace the default email with the first one 1239 // if default, then replace the default email with the first one
1240 if ( def == e ) 1240 if ( def == e )
1241 { 1241 {
1242 //qDebug("removeEmail is default; setting new default"); 1242 //qDebug("removeEmail is default; setting new default");
1243 if ( !emails.count() ) 1243 if ( !emails.count() )
1244 clearEmails(); 1244 clearEmails();
1245 else // setDefaultEmail will remove e from the list 1245 else // setDefaultEmail will remove e from the list
1246 setDefaultEmail( emails.first() ); 1246 setDefaultEmail( emails.first() );
1247 } 1247 }
1248} 1248}
1249 1249
1250 1250
1251void OPimContact::clearEmails() 1251void OPimContact::clearEmails()
1252{ 1252{
1253 mMap.remove( Qtopia::DefaultEmail ); 1253 mMap.remove( Qtopia::DefaultEmail );
1254 mMap.remove( Qtopia::Emails ); 1254 mMap.remove( Qtopia::Emails );
1255} 1255}
1256 1256
1257 1257
1258void OPimContact::setDefaultEmail( const QString &v ) 1258void OPimContact::setDefaultEmail( const QString &v )
1259{ 1259{
1260 QString e = v.simplifyWhiteSpace(); 1260 QString e = v.simplifyWhiteSpace();
1261 1261
1262 //qDebug("OPimContact::setDefaultEmail %s", e.latin1()); 1262 //qDebug("OPimContact::setDefaultEmail %s", e.latin1());
1263 replace( Qtopia::DefaultEmail, e ); 1263 replace( Qtopia::DefaultEmail, e );
1264 1264
1265 if ( !e.isEmpty() ) 1265 if ( !e.isEmpty() )
1266 insertEmail( e ); 1266 insertEmail( e );
1267 1267
1268} 1268}
1269 1269
1270 1270
1271void OPimContact::insertEmails( const QStringList &v ) 1271void OPimContact::insertEmails( const QStringList &v )
1272{ 1272{
1273 for ( QStringList::ConstIterator it = v.begin(); it != v.end(); ++it ) 1273 for ( QStringList::ConstIterator it = v.begin(); it != v.end(); ++it )
1274 insertEmail( *it ); 1274 insertEmail( *it );
1275} 1275}
1276 1276
1277 1277
1278int OPimContact::rtti() 1278int OPimContact::rtti() const
1279{ 1279{
1280 return OPimResolver::AddressBook; 1280 return OPimResolver::AddressBook;
1281} 1281}
1282 1282
1283 1283
1284void OPimContact::setUid( int i ) 1284void OPimContact::setUid( int i )
1285{ 1285{
1286 OPimRecord::setUid( i ); 1286 OPimRecord::setUid( i );
1287 replace( Qtopia::AddressUid , QString::number( i ) ); 1287 replace( Qtopia::AddressUid , QString::number( i ) );
1288} 1288}
1289} 1289}
diff --git a/libopie2/opiepim/core/opimcontact.h b/libopie2/opiepim/core/opimcontact.h
index 9d3cacc..6891dd6 100644
--- a/libopie2/opiepim/core/opimcontact.h
+++ b/libopie2/opiepim/core/opimcontact.h
@@ -183,74 +183,74 @@ class QPC_EXPORT OPimContact : public OPimRecord
183 QString jobTitle() const { return find( Qtopia::JobTitle ); } 183 QString jobTitle() const { return find( Qtopia::JobTitle ); }
184 QString department() const { return find( Qtopia::Department ); } 184 QString department() const { return find( Qtopia::Department ); }
185 QString office() const { return find( Qtopia::Office ); } 185 QString office() const { return find( Qtopia::Office ); }
186 QString businessPhone() const { return find( Qtopia::BusinessPhone ); } 186 QString businessPhone() const { return find( Qtopia::BusinessPhone ); }
187 QString businessFax() const { return find( Qtopia::BusinessFax ); } 187 QString businessFax() const { return find( Qtopia::BusinessFax ); }
188 QString businessMobile() const { return find( Qtopia::BusinessMobile ); } 188 QString businessMobile() const { return find( Qtopia::BusinessMobile ); }
189 QString businessPager() const { return find( Qtopia::BusinessPager ); } 189 QString businessPager() const { return find( Qtopia::BusinessPager ); }
190 QString profession() const { return find( Qtopia::Profession ); } 190 QString profession() const { return find( Qtopia::Profession ); }
191 QString assistant() const { return find( Qtopia::Assistant ); } 191 QString assistant() const { return find( Qtopia::Assistant ); }
192 QString manager() const { return find( Qtopia::Manager ); } 192 QString manager() const { return find( Qtopia::Manager ); }
193 /** Multi line string containing all non-empty address info in the form 193 /** Multi line string containing all non-empty address info in the form
194 * Street 194 * Street
195 * City, State Zip 195 * City, State Zip
196 * Country 196 * Country
197 */ 197 */
198 QString displayBusinessAddress() const; 198 QString displayBusinessAddress() const;
199 199
200 //personal 200 //personal
201 QString spouse() const { return find( Qtopia::Spouse ); } 201 QString spouse() const { return find( Qtopia::Spouse ); }
202 QString gender() const { return find( Qtopia::Gender ); } 202 QString gender() const { return find( Qtopia::Gender ); }
203 QDate birthday() const; 203 QDate birthday() const;
204 QDate anniversary() const; 204 QDate anniversary() const;
205 QString nickname() const { return find( Qtopia::Nickname ); } 205 QString nickname() const { return find( Qtopia::Nickname ); }
206 QString children() const { return find( Qtopia::Children ); } 206 QString children() const { return find( Qtopia::Children ); }
207 QStringList childrenList() const; 207 QStringList childrenList() const;
208 208
209 // other 209 // other
210 QString notes() const { return find( Qtopia::Notes ); } 210 QString notes() const { return find( Qtopia::Notes ); }
211 QString groups() const { return find( Qtopia::Groups ); } 211 QString groups() const { return find( Qtopia::Groups ); }
212 QStringList groupList() const; 212 QStringList groupList() const;
213 213
214 QString toRichText() const; 214 QString toRichText() const;
215 QMap<int, QString> toMap() const; 215 QMap<int, QString> toMap() const;
216 QString field( int key ) const { return find( key ); } 216 QString field( int key ) const { return find( key ); }
217 217
218 218
219 void setUid( int i ); 219 void setUid( int i );
220 220
221 QString toShortText() const; 221 QString toShortText() const;
222 QString type() const; 222 QString type() const;
223 class QString recordField( int ) const; 223 class QString recordField( int ) const;
224 224
225 // Why private ? (eilers,se) 225 // Why private ? (eilers,se)
226 QString emailSeparator() const { return " "; } 226 QString emailSeparator() const { return " "; }
227 227
228 // the emails should be seperated by a comma 228 // the emails should be seperated by a comma
229 void setEmails( const QString &v ); 229 void setEmails( const QString &v );
230 QString emails() const { return find( Qtopia::Emails ); } 230 QString emails() const { return find( Qtopia::Emails ); }
231 static int rtti(); 231 int rtti() const;
232 232
233 private: 233 private:
234 // The XML Backend needs some access to the private functions 234 // The XML Backend needs some access to the private functions
235 friend class OPimContactAccessBackend_XML; 235 friend class OPimContactAccessBackend_XML;
236 236
237 void insert( int key, const QString &value ); 237 void insert( int key, const QString &value );
238 void replace( int key, const QString &value ); 238 void replace( int key, const QString &value );
239 QString find( int key ) const; 239 QString find( int key ) const;
240 static QStringList fields(); 240 static QStringList fields();
241 241
242 void save( QString &buf ) const; 242 void save( QString &buf ) const;
243 243
244 QString displayAddress( const QString &street, 244 QString displayAddress( const QString &street,
245 const QString &city, 245 const QString &city,
246 const QString &state, 246 const QString &state,
247 const QString &zip, 247 const QString &zip,
248 const QString &country ) const; 248 const QString &country ) const;
249 249
250 QMap<int, QString> mMap; 250 QMap<int, QString> mMap;
251 OPimContactPrivate *d; 251 OPimContactPrivate *d;
252}; 252};
253 253
254} 254}
255 255
256#endif 256#endif
diff --git a/libopie2/opiepim/core/opimevent.cpp b/libopie2/opiepim/core/opimevent.cpp
index 77730e9..8bf8b25 100644
--- a/libopie2/opiepim/core/opimevent.cpp
+++ b/libopie2/opiepim/core/opimevent.cpp
@@ -436,97 +436,97 @@ QString OPimEvent::toRichText() const
436 { 436 {
437 text += "<b>" + QObject::tr( "Category:" ) + "</b> "; 437 text += "<b>" + QObject::tr( "Category:" ) + "</b> ";
438 text += categoryNames( "Calendar" ).join( ", " ); 438 text += categoryNames( "Calendar" ).join( ", " );
439 text += "<br>"; 439 text += "<br>";
440 } 440 }
441 441
442 //notes 442 //notes
443 if ( !note().isEmpty() ) 443 if ( !note().isEmpty() )
444 { 444 {
445 text += "<b>" + QObject::tr( "Note:" ) + "</b><br>"; 445 text += "<b>" + QObject::tr( "Note:" ) + "</b><br>";
446 text += note(); 446 text += note();
447 // text += Qtopia::escapeString(note() ). 447 // text += Qtopia::escapeString(note() ).
448 // replace(QRegExp( "[\n]"), "<br>" ) + "<br>"; 448 // replace(QRegExp( "[\n]"), "<br>" ) + "<br>";
449 } 449 }
450 return text; 450 return text;
451} 451}
452 452
453 453
454QString OPimEvent::toShortText() const 454QString OPimEvent::toShortText() const
455{ 455{
456 QString text; 456 QString text;
457 text += QString::number( startDateTime().date().day() ); 457 text += QString::number( startDateTime().date().day() );
458 text += "."; 458 text += ".";
459 text += QString::number( startDateTime().date().month() ); 459 text += QString::number( startDateTime().date().month() );
460 text += "."; 460 text += ".";
461 text += QString::number( startDateTime().date().year() ); 461 text += QString::number( startDateTime().date().year() );
462 text += " "; 462 text += " ";
463 text += QString::number( startDateTime().time().hour() ); 463 text += QString::number( startDateTime().time().hour() );
464 text += ":"; 464 text += ":";
465 text += QString::number( startDateTime().time().minute() ); 465 text += QString::number( startDateTime().time().minute() );
466 text += " - "; 466 text += " - ";
467 text += description(); 467 text += description();
468 return text; 468 return text;
469} 469}
470 470
471 471
472QString OPimEvent::type() const 472QString OPimEvent::type() const
473{ 473{
474 return QString::fromLatin1( "OPimEvent" ); 474 return QString::fromLatin1( "OPimEvent" );
475} 475}
476 476
477 477
478QString OPimEvent::recordField( int /*id */ ) const 478QString OPimEvent::recordField( int /*id */ ) const
479{ 479{
480 return QString::null; 480 return QString::null;
481} 481}
482 482
483 483
484int OPimEvent::rtti() 484int OPimEvent::rtti() const
485{ 485{
486 return OPimResolver::DateBook; 486 return OPimResolver::DateBook;
487} 487}
488 488
489 489
490bool OPimEvent::loadFromStream( QDataStream& ) 490bool OPimEvent::loadFromStream( QDataStream& )
491{ 491{
492 return true; 492 return true;
493} 493}
494 494
495 495
496bool OPimEvent::saveToStream( QDataStream& ) const 496bool OPimEvent::saveToStream( QDataStream& ) const
497{ 497{
498 return true; 498 return true;
499} 499}
500 500
501 501
502void OPimEvent::changeOrModify() 502void OPimEvent::changeOrModify()
503{ 503{
504 if ( data->count != 1 ) 504 if ( data->count != 1 )
505 { 505 {
506 data->deref(); 506 data->deref();
507 Data* d2 = new Data; 507 Data* d2 = new Data;
508 d2->description = data->description; 508 d2->description = data->description;
509 d2->location = data->location; 509 d2->location = data->location;
510 510
511 if ( data->manager ) 511 if ( data->manager )
512 d2->manager = new OPimNotifyManager( *data->manager ); 512 d2->manager = new OPimNotifyManager( *data->manager );
513 513
514 if ( data->recur ) 514 if ( data->recur )
515 d2->recur = new OPimRecurrence( *data->recur ); 515 d2->recur = new OPimRecurrence( *data->recur );
516 516
517 d2->note = data->note; 517 d2->note = data->note;
518 d2->created = data->created; 518 d2->created = data->created;
519 d2->start = data->start; 519 d2->start = data->start;
520 d2->end = data->end; 520 d2->end = data->end;
521 d2->isAllDay = data->isAllDay; 521 d2->isAllDay = data->isAllDay;
522 d2->timezone = data->timezone; 522 d2->timezone = data->timezone;
523 d2->parent = data->parent; 523 d2->parent = data->parent;
524 524
525 if ( data->child ) 525 if ( data->child )
526 { 526 {
527 d2->child = new QArray<int>( *data->child ); 527 d2->child = new QArray<int>( *data->child );
528 d2->child->detach(); 528 d2->child->detach();
529 } 529 }
530 530
531 data = d2; 531 data = d2;
532 } 532 }
diff --git a/libopie2/opiepim/core/opimevent.h b/libopie2/opiepim/core/opimevent.h
index 949f263..56fe917 100644
--- a/libopie2/opiepim/core/opimevent.h
+++ b/libopie2/opiepim/core/opimevent.h
@@ -138,97 +138,97 @@ class OPimEvent : public OPimRecord
138 QDateTime createdDateTime() const; 138 QDateTime createdDateTime() const;
139 void setCreatedDateTime( const QDateTime& dt ); 139 void setCreatedDateTime( const QDateTime& dt );
140 140
141 /** set the date to dt. dt is the QDateTime in localtime */ 141 /** set the date to dt. dt is the QDateTime in localtime */
142 void setStartDateTime( const QDateTime& ); 142 void setStartDateTime( const QDateTime& );
143 /** returns the datetime in the local timeZone */ 143 /** returns the datetime in the local timeZone */
144 QDateTime startDateTime() const; 144 QDateTime startDateTime() const;
145 145
146 /** returns the start datetime in the current zone */ 146 /** returns the start datetime in the current zone */
147 QDateTime startDateTimeInZone() const; 147 QDateTime startDateTimeInZone() const;
148 148
149 /** in current timezone */ 149 /** in current timezone */
150 void setEndDateTime( const QDateTime& ); 150 void setEndDateTime( const QDateTime& );
151 /** in current timezone */ 151 /** in current timezone */
152 QDateTime endDateTime() const; 152 QDateTime endDateTime() const;
153 QDateTime endDateTimeInZone() const; 153 QDateTime endDateTimeInZone() const;
154 154
155 bool isMultipleDay() const; 155 bool isMultipleDay() const;
156 bool isAllDay() const; 156 bool isAllDay() const;
157 void setAllDay( bool isAllDay ); 157 void setAllDay( bool isAllDay );
158 158
159 /* pin this event to a timezone! FIXME */ 159 /* pin this event to a timezone! FIXME */
160 void setTimeZone( const QString& timeZone ); 160 void setTimeZone( const QString& timeZone );
161 QString timeZone() const; 161 QString timeZone() const;
162 162
163 163
164 virtual bool match( const QRegExp& ) const; 164 virtual bool match( const QRegExp& ) const;
165 165
166 /** For exception to recurrence here is a list of children... */ 166 /** For exception to recurrence here is a list of children... */
167 QArray<int> children() const; 167 QArray<int> children() const;
168 void setChildren( const QArray<int>& ); 168 void setChildren( const QArray<int>& );
169 void addChild( int uid ); 169 void addChild( int uid );
170 void removeChild( int uid ); 170 void removeChild( int uid );
171 171
172 /** return the parent OPimEvent */ 172 /** return the parent OPimEvent */
173 int parent() const; 173 int parent() const;
174 void setParent( int uid ); 174 void setParent( int uid );
175 175
176 176
177 /* needed reimp */ 177 /* needed reimp */
178 QString toRichText() const; 178 QString toRichText() const;
179 QString toShortText() const; 179 QString toShortText() const;
180 QString type() const; 180 QString type() const;
181 181
182 QMap<int, QString> toMap() const; 182 QMap<int, QString> toMap() const;
183 void fromMap( const QMap<int, QString>& map ); 183 void fromMap( const QMap<int, QString>& map );
184 QString recordField( int ) const; 184 QString recordField( int ) const;
185 185
186 static int rtti(); 186 int rtti() const;
187 187
188 bool loadFromStream( QDataStream& ); 188 bool loadFromStream( QDataStream& );
189 bool saveToStream( QDataStream& ) const; 189 bool saveToStream( QDataStream& ) const;
190 190
191 /* bool operator==( const OPimEvent& ); 191 /* bool operator==( const OPimEvent& );
192 bool operator!=( const OPimEvent& ); 192 bool operator!=( const OPimEvent& );
193 bool operator<( const OPimEvent& ); 193 bool operator<( const OPimEvent& );
194 bool operator<=( const OPimEvent& ); 194 bool operator<=( const OPimEvent& );
195 bool operator>( const OPimEvent& ); 195 bool operator>( const OPimEvent& );
196 bool operator>=(const OPimEvent& ); 196 bool operator>=(const OPimEvent& );
197 */ 197 */
198 198
199 private: 199 private:
200 inline void changeOrModify(); 200 inline void changeOrModify();
201 void deref(); 201 void deref();
202 struct Data; 202 struct Data;
203 Data* data; 203 Data* data;
204 class Private; 204 class Private;
205 Private* priv; 205 Private* priv;
206 206
207}; 207};
208 208
209/** 209/**
210 * AN Event can span through multiple days. We split up a multiday eve 210 * AN Event can span through multiple days. We split up a multiday eve
211 */ 211 */
212class OEffectiveEvent 212class OEffectiveEvent
213{ 213{
214 214
215 public: 215 public:
216 typedef QValueList<OEffectiveEvent> ValueList; 216 typedef QValueList<OEffectiveEvent> ValueList;
217 enum Position { MidWay, Start, End, StartEnd }; 217 enum Position { MidWay, Start, End, StartEnd };
218 // If we calculate the effective event of a multi-day event 218 // If we calculate the effective event of a multi-day event
219 // we have to figure out whether we are at the first day, 219 // we have to figure out whether we are at the first day,
220 // at the end, or anywhere else ("middle"). This is important 220 // at the end, or anywhere else ("middle"). This is important
221 // for the start/end times (00:00/23:59) 221 // for the start/end times (00:00/23:59)
222 // MidWay: 00:00 -> 23:59, as we are "in the middle" of a multi- 222 // MidWay: 00:00 -> 23:59, as we are "in the middle" of a multi-
223 // day event 223 // day event
224 // Start: start time -> 23:59 224 // Start: start time -> 23:59
225 // End: 00:00 -> end time 225 // End: 00:00 -> end time
226 // Start | End == StartEnd: for single-day events (default) 226 // Start | End == StartEnd: for single-day events (default)
227 // here we draw start time -> end time 227 // here we draw start time -> end time
228 OEffectiveEvent(); 228 OEffectiveEvent();
229 OEffectiveEvent( const OPimEvent& event, const QDate& startDate, Position pos = StartEnd ); 229 OEffectiveEvent( const OPimEvent& event, const QDate& startDate, Position pos = StartEnd );
230 OEffectiveEvent( const OEffectiveEvent& ); 230 OEffectiveEvent( const OEffectiveEvent& );
231 OEffectiveEvent &operator=( const OEffectiveEvent& ); 231 OEffectiveEvent &operator=( const OEffectiveEvent& );
232 ~OEffectiveEvent(); 232 ~OEffectiveEvent();
233 233
234 void setStartTime( const QTime& ); 234 void setStartTime( const QTime& );
diff --git a/libopie2/opiepim/core/opimrecord.cpp b/libopie2/opiepim/core/opimrecord.cpp
index 67eed41..c783092 100644
--- a/libopie2/opiepim/core/opimrecord.cpp
+++ b/libopie2/opiepim/core/opimrecord.cpp
@@ -102,97 +102,97 @@ void OPimRecord::addCategoryName( const QString& )
102 catDB.load( categoryFileName() ); 102 catDB.load( categoryFileName() );
103 103
104 104
105} 105}
106 106
107 107
108bool OPimRecord::isEmpty() const 108bool OPimRecord::isEmpty() const
109{ 109{
110 return ( uid() == 0 ); 110 return ( uid() == 0 );
111} 111}
112 112
113 113
114/*QString OPimRecord::crossToString()const { 114/*QString OPimRecord::crossToString()const {
115 QString str; 115 QString str;
116 QMap<QString, QArray<int> >::ConstIterator it; 116 QMap<QString, QArray<int> >::ConstIterator it;
117 for (it = m_relations.begin(); it != m_relations.end(); ++it ) { 117 for (it = m_relations.begin(); it != m_relations.end(); ++it ) {
118 QArray<int> id = it.data(); 118 QArray<int> id = it.data();
119 for ( uint i = 0; i < id.size(); ++i ) { 119 for ( uint i = 0; i < id.size(); ++i ) {
120 str += it.key() + "," + QString::number( i ) + ";"; 120 str += it.key() + "," + QString::number( i ) + ";";
121 } 121 }
122 } 122 }
123 str = str.remove( str.length()-1, 1); // strip the ; 123 str = str.remove( str.length()-1, 1); // strip the ;
124 //qWarning("IDS " + str ); 124 //qWarning("IDS " + str );
125 125
126 return str; 126 return str;
127 }*/ 127 }*/
128/* if uid = 1 assign a new one */ 128/* if uid = 1 assign a new one */
129void OPimRecord::setUid( int uid ) 129void OPimRecord::setUid( int uid )
130{ 130{
131 if ( uid == 1 ) 131 if ( uid == 1 )
132 uid = uidGen().generate(); 132 uid = uidGen().generate();
133 133
134 Qtopia::Record::setUid( uid ); 134 Qtopia::Record::setUid( uid );
135}; 135};
136 136
137 137
138Qtopia::UidGen &OPimRecord::uidGen() 138Qtopia::UidGen &OPimRecord::uidGen()
139{ 139{
140 return m_uidGen; 140 return m_uidGen;
141} 141}
142 142
143 143
144OPimXRefManager &OPimRecord::xrefmanager() 144OPimXRefManager &OPimRecord::xrefmanager()
145{ 145{
146 return m_xrefman; 146 return m_xrefman;
147} 147}
148 148
149 149
150int OPimRecord::rtti() 150int OPimRecord::rtti() const
151{ 151{
152 return 0; 152 return 0;
153} 153}
154 154
155/** 155/**
156 * now let's put our data into the stream 156 * now let's put our data into the stream
157 */ 157 */
158/* 158/*
159 * First read UID 159 * First read UID
160 * Categories 160 * Categories
161 * XRef 161 * XRef
162 */ 162 */
163bool OPimRecord::loadFromStream( QDataStream& stream ) 163bool OPimRecord::loadFromStream( QDataStream& stream )
164{ 164{
165 int Int; 165 int Int;
166 uint UInt; 166 uint UInt;
167 stream >> Int; 167 stream >> Int;
168 setUid( Int ); 168 setUid( Int );
169 169
170 /** Categories */ 170 /** Categories */
171 stream >> UInt; 171 stream >> UInt;
172 QArray<int> array( UInt ); 172 QArray<int> array( UInt );
173 for ( uint i = 0; i < UInt; i++ ) 173 for ( uint i = 0; i < UInt; i++ )
174 { 174 {
175 stream >> array[ i ]; 175 stream >> array[ i ];
176 } 176 }
177 setCategories( array ); 177 setCategories( array );
178 178
179 /* 179 /*
180 * now we do the X-Ref stuff 180 * now we do the X-Ref stuff
181 */ 181 */
182 OPimXRef xref; 182 OPimXRef xref;
183 stream >> UInt; 183 stream >> UInt;
184 for ( uint i = 0; i < UInt; i++ ) 184 for ( uint i = 0; i < UInt; i++ )
185 { 185 {
186 xref.setPartner( OPimXRef::One, partner( stream ) ); 186 xref.setPartner( OPimXRef::One, partner( stream ) );
187 xref.setPartner( OPimXRef::Two, partner( stream ) ); 187 xref.setPartner( OPimXRef::Two, partner( stream ) );
188 m_xrefman.add( xref ); 188 m_xrefman.add( xref );
189 } 189 }
190 190
191 return true; 191 return true;
192} 192}
193 193
194 194
195bool OPimRecord::saveToStream( QDataStream& stream ) const 195bool OPimRecord::saveToStream( QDataStream& stream ) const
196{ 196{
197 /** UIDs */ 197 /** UIDs */
198 198
diff --git a/libopie2/opiepim/core/opimrecord.h b/libopie2/opiepim/core/opimrecord.h
index 4981a41..127439a 100644
--- a/libopie2/opiepim/core/opimrecord.h
+++ b/libopie2/opiepim/core/opimrecord.h
@@ -115,79 +115,79 @@ class OPimRecord : public Qtopia::Record
115 */ 115 */
116 virtual bool match( const QString &regexp ) const 116 virtual bool match( const QString &regexp ) const
117 { 117 {
118 setLastHitField( -1 ); 118 setLastHitField( -1 );
119 return Qtopia::Record::match( QRegExp( regexp ) ); 119 return Qtopia::Record::match( QRegExp( regexp ) );
120 }; 120 };
121 121
122 /** 122 /**
123 * if implemented this function returns which item has been 123 * if implemented this function returns which item has been
124 * last hit by the match() function. 124 * last hit by the match() function.
125 * or -1 if not implemented or no hit has occured 125 * or -1 if not implemented or no hit has occured
126 */ 126 */
127 int lastHitField() const; 127 int lastHitField() const;
128 128
129 /** 129 /**
130 * converts the internal structure to a map 130 * converts the internal structure to a map
131 */ 131 */
132 virtual QMap<int, QString> toMap() const = 0; 132 virtual QMap<int, QString> toMap() const = 0;
133 // virtual fromMap( const <int, QString>& map ) = 0; // Should be added in the future (eilers) 133 // virtual fromMap( const <int, QString>& map ) = 0; // Should be added in the future (eilers)
134 134
135 /** 135 /**
136 * key value representation of extra items 136 * key value representation of extra items
137 */ 137 */
138 QMap<QString, QString> toExtraMap() const; 138 QMap<QString, QString> toExtraMap() const;
139 void setExtraMap( const QMap<QString, QString>& ); 139 void setExtraMap( const QMap<QString, QString>& );
140 140
141 /** 141 /**
142 * the name for a recordField 142 * the name for a recordField
143 */ 143 */
144 virtual QString recordField( int ) const = 0; 144 virtual QString recordField( int ) const = 0;
145 145
146 /** 146 /**
147 * returns a reference of the 147 * returns a reference of the
148 * Cross Reference Manager 148 * Cross Reference Manager
149 * Partner 'One' is THIS PIM RECORD! 149 * Partner 'One' is THIS PIM RECORD!
150 * 'Two' is the Partner where we link to 150 * 'Two' is the Partner where we link to
151 */ 151 */
152 OPimXRefManager& xrefmanager(); 152 OPimXRefManager& xrefmanager();
153 153
154 /** 154 /**
155 * set the uid 155 * set the uid
156 */ 156 */
157 virtual void setUid( int uid ); 157 virtual void setUid( int uid );
158 158
159 /* 159 /*
160 * used inside the Templates for casting 160 * used inside the Templates for casting
161 * REIMPLEMENT in your .... 161 * REIMPLEMENT in your ....
162 */ 162 */
163 static int rtti(); 163 virtual int rtti() const;
164 164
165 /** 165 /**
166 * some marshalling and de marshalling code 166 * some marshalling and de marshalling code
167 * saves the OPimRecord 167 * saves the OPimRecord
168 * to and from a DataStream 168 * to and from a DataStream
169 */ 169 */
170 virtual bool loadFromStream( QDataStream& ); 170 virtual bool loadFromStream( QDataStream& );
171 virtual bool saveToStream( QDataStream& stream ) const; 171 virtual bool saveToStream( QDataStream& stream ) const;
172 172
173 protected: 173 protected:
174 // need to be const cause it is called from const methods 174 // need to be const cause it is called from const methods
175 mutable int m_lastHit; 175 mutable int m_lastHit;
176 void setLastHitField( int lastHit ) const; 176 void setLastHitField( int lastHit ) const;
177 Qtopia::UidGen &uidGen(); 177 Qtopia::UidGen &uidGen();
178 // QString crossToString()const; 178 // QString crossToString()const;
179 179
180 private: 180 private:
181 class OPimRecordPrivate; 181 class OPimRecordPrivate;
182 OPimRecordPrivate *d; 182 OPimRecordPrivate *d;
183 OPimXRefManager m_xrefman; 183 OPimXRefManager m_xrefman;
184 static Qtopia::UidGen m_uidGen; 184 static Qtopia::UidGen m_uidGen;
185 185
186 private: 186 private:
187 void flush( const OPimXRefPartner&, QDataStream& stream ) const; 187 void flush( const OPimXRefPartner&, QDataStream& stream ) const;
188 OPimXRefPartner partner( QDataStream& ); 188 OPimXRefPartner partner( QDataStream& );
189}; 189};
190 190
191} 191}
192 192
193#endif 193#endif
diff --git a/libopie2/opiepim/core/opimtodo.cpp b/libopie2/opiepim/core/opimtodo.cpp
index f246bfd..47433e0 100644
--- a/libopie2/opiepim/core/opimtodo.cpp
+++ b/libopie2/opiepim/core/opimtodo.cpp
@@ -658,54 +658,54 @@ void OPimTodo::changeOrModify()
658} 658}
659 659
660 660
661// WATCHOUT 661// WATCHOUT
662/* 662/*
663 * if you add something to the Data struct 663 * if you add something to the Data struct
664 * be sure to copy it here 664 * be sure to copy it here
665 */ 665 */
666void OPimTodo::copy( OPimTodoData* src, OPimTodoData* dest ) 666void OPimTodo::copy( OPimTodoData* src, OPimTodoData* dest )
667{ 667{
668 dest->date = src->date; 668 dest->date = src->date;
669 dest->isCompleted = src->isCompleted; 669 dest->isCompleted = src->isCompleted;
670 dest->hasDate = src->hasDate; 670 dest->hasDate = src->hasDate;
671 dest->priority = src->priority; 671 dest->priority = src->priority;
672 dest->desc = src->desc; 672 dest->desc = src->desc;
673 dest->sum = src->sum; 673 dest->sum = src->sum;
674 dest->extra = src->extra; 674 dest->extra = src->extra;
675 dest->prog = src->prog; 675 dest->prog = src->prog;
676 676
677 if ( src->state ) 677 if ( src->state )
678 dest->state = new OPimState( *src->state ); 678 dest->state = new OPimState( *src->state );
679 679
680 if ( src->recur ) 680 if ( src->recur )
681 dest->recur = new OPimRecurrence( *src->recur ); 681 dest->recur = new OPimRecurrence( *src->recur );
682 682
683 if ( src->maintainer ) 683 if ( src->maintainer )
684 dest->maintainer = new OPimMaintainer( *src->maintainer ) 684 dest->maintainer = new OPimMaintainer( *src->maintainer )
685 ; 685 ;
686 dest->start = src->start; 686 dest->start = src->start;
687 dest->completed = src->completed; 687 dest->completed = src->completed;
688 688
689 if ( src->notifiers ) 689 if ( src->notifiers )
690 dest->notifiers = new OPimNotifyManager( *src->notifiers ); 690 dest->notifiers = new OPimNotifyManager( *src->notifiers );
691} 691}
692 692
693 693
694QString OPimTodo::type() const 694QString OPimTodo::type() const
695{ 695{
696 return QString::fromLatin1( "OPimTodo" ); 696 return QString::fromLatin1( "OPimTodo" );
697} 697}
698 698
699 699
700QString OPimTodo::recordField( int /*id*/ ) const 700QString OPimTodo::recordField( int /*id*/ ) const
701{ 701{
702 return QString::null; 702 return QString::null;
703} 703}
704 704
705 705
706int OPimTodo::rtti() 706int OPimTodo::rtti() const
707{ 707{
708 return OPimResolver::TodoList; 708 return OPimResolver::TodoList;
709} 709}
710 710
711} 711}
diff --git a/libopie2/opiepim/core/opimtodo.h b/libopie2/opiepim/core/opimtodo.h
index 5304180..e17fe6a 100644
--- a/libopie2/opiepim/core/opimtodo.h
+++ b/libopie2/opiepim/core/opimtodo.h
@@ -250,71 +250,71 @@ class OPimTodo : public OPimRecord
250 * Set the progress. 250 * Set the progress.
251 */ 251 */
252 void setProgress( ushort progress ); 252 void setProgress( ushort progress );
253 253
254 /** 254 /**
255 * set the end date 255 * set the end date
256 */ 256 */
257 void setDueDate( const QDate& date ); 257 void setDueDate( const QDate& date );
258 258
259 /** 259 /**
260 * set the start date 260 * set the start date
261 */ 261 */
262 void setStartDate( const QDate& date ); 262 void setStartDate( const QDate& date );
263 263
264 /** 264 /**
265 * set the completed date 265 * set the completed date
266 */ 266 */
267 void setCompletedDate( const QDate& date ); 267 void setCompletedDate( const QDate& date );
268 268
269 void setRecurrence( const OPimRecurrence& ); 269 void setRecurrence( const OPimRecurrence& );
270 270
271 void setDescription( const QString& ); 271 void setDescription( const QString& );
272 void setSummary( const QString& ); 272 void setSummary( const QString& );
273 273
274 /** 274 /**
275 * set the state of a Todo 275 * set the state of a Todo
276 * @param state State what the todo should take 276 * @param state State what the todo should take
277 */ 277 */
278 void setState( const OPimState& state ); 278 void setState( const OPimState& state );
279 279
280 /** 280 /**
281 * set the Maintainer Mode 281 * set the Maintainer Mode
282 */ 282 */
283 void setMaintainer( const OPimMaintainer& ); 283 void setMaintainer( const OPimMaintainer& );
284 284
285 bool isOverdue(); 285 bool isOverdue();
286 286
287 287
288 virtual bool match( const QRegExp &r ) const; 288 virtual bool match( const QRegExp &r ) const;
289 289
290 bool operator<( const OPimTodo &toDoEvent ) const; 290 bool operator<( const OPimTodo &toDoEvent ) const;
291 bool operator<=( const OPimTodo &toDoEvent ) const; 291 bool operator<=( const OPimTodo &toDoEvent ) const;
292 bool operator!=( const OPimTodo &toDoEvent ) const; 292 bool operator!=( const OPimTodo &toDoEvent ) const;
293 bool operator>( const OPimTodo &toDoEvent ) const; 293 bool operator>( const OPimTodo &toDoEvent ) const;
294 bool operator>=( const OPimTodo &toDoEvent ) const; 294 bool operator>=( const OPimTodo &toDoEvent ) const;
295 bool operator==( const OPimTodo &toDoEvent ) const; 295 bool operator==( const OPimTodo &toDoEvent ) const;
296 OPimTodo &operator=( const OPimTodo &toDoEvent ); 296 OPimTodo &operator=( const OPimTodo &toDoEvent );
297 297
298 static int rtti(); 298 int rtti() const;
299 299
300 private: 300 private:
301 class OPimTodoPrivate; 301 class OPimTodoPrivate;
302 struct OPimTodoData; 302 struct OPimTodoData;
303 303
304 void deref(); 304 void deref();
305 inline void changeOrModify(); 305 inline void changeOrModify();
306 void copy( OPimTodoData* src, OPimTodoData* dest ); 306 void copy( OPimTodoData* src, OPimTodoData* dest );
307 OPimTodoPrivate *d; 307 OPimTodoPrivate *d;
308 OPimTodoData *data; 308 OPimTodoData *data;
309 309
310}; 310};
311 311
312 312
313inline bool OPimTodo::operator!=( const OPimTodo &toDoEvent ) const 313inline bool OPimTodo::operator!=( const OPimTodo &toDoEvent ) const
314{ 314{
315 return !( *this == toDoEvent ); 315 return !( *this == toDoEvent );
316} 316}
317 317
318} 318}
319 319
320#endif 320#endif