summaryrefslogtreecommitdiffabout
path: root/libkcal/incidence.cpp
Unidiff
Diffstat (limited to 'libkcal/incidence.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/incidence.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libkcal/incidence.cpp b/libkcal/incidence.cpp
index 78fa24f..9c35b1d 100644
--- a/libkcal/incidence.cpp
+++ b/libkcal/incidence.cpp
@@ -127,512 +127,516 @@ void Incidence::setRecurrenceID(QDateTime d)
127 mRecurrenceID = d; 127 mRecurrenceID = d;
128 mHasRecurrenceID = true; 128 mHasRecurrenceID = true;
129 updated(); 129 updated();
130} 130}
131QDateTime Incidence::recurrenceID () const 131QDateTime Incidence::recurrenceID () const
132{ 132{
133 return mRecurrenceID; 133 return mRecurrenceID;
134} 134}
135 135
136bool Incidence::cancelled() const 136bool Incidence::cancelled() const
137{ 137{
138 return mCancelled; 138 return mCancelled;
139} 139}
140void Incidence::setCancelled( bool b ) 140void Incidence::setCancelled( bool b )
141{ 141{
142 mCancelled = b; 142 mCancelled = b;
143 updated(); 143 updated();
144} 144}
145bool Incidence::hasStartDate() const 145bool Incidence::hasStartDate() const
146{ 146{
147 return mHasStartDate; 147 return mHasStartDate;
148} 148}
149 149
150void Incidence::setHasStartDate(bool f) 150void Incidence::setHasStartDate(bool f)
151{ 151{
152 if (mReadOnly) return; 152 if (mReadOnly) return;
153 mHasStartDate = f; 153 mHasStartDate = f;
154 updated(); 154 updated();
155} 155}
156 156
157// A string comparison that considers that null and empty are the same 157// A string comparison that considers that null and empty are the same
158static bool stringCompare( const QString& s1, const QString& s2 ) 158static bool stringCompare( const QString& s1, const QString& s2 )
159{ 159{
160 if ( s1.isEmpty() && s2.isEmpty() ) 160 if ( s1.isEmpty() && s2.isEmpty() )
161 return true; 161 return true;
162 return s1 == s2; 162 return s1 == s2;
163} 163}
164 164
165bool KCal::operator==( const Incidence& i1, const Incidence& i2 ) 165bool KCal::operator==( const Incidence& i1, const Incidence& i2 )
166{ 166{
167 167
168 if( i1.alarms().count() != i2.alarms().count() ) { 168 if( i1.alarms().count() != i2.alarms().count() ) {
169 return false; // no need to check further 169 return false; // no need to check further
170 } 170 }
171 if ( i1.alarms().count() > 0 ) { 171 if ( i1.alarms().count() > 0 ) {
172 if ( !( *(i1.alarms().first()) == *(i2.alarms().first())) ) 172 if ( !( *(i1.alarms().first()) == *(i2.alarms().first())) )
173 { 173 {
174 qDebug("alarm not equal "); 174 qDebug("alarm not equal ");
175 return false; 175 return false;
176 } 176 }
177 } 177 }
178#if 0 178#if 0
179 QPtrListIterator<Alarm> a1( i1.alarms() ); 179 QPtrListIterator<Alarm> a1( i1.alarms() );
180 QPtrListIterator<Alarm> a2( i2.alarms() ); 180 QPtrListIterator<Alarm> a2( i2.alarms() );
181 for( ; a1.current() && a2.current(); ++a1, ++a2 ) { 181 for( ; a1.current() && a2.current(); ++a1, ++a2 ) {
182 if( *a1.current() == *a2.current() ) { 182 if( *a1.current() == *a2.current() ) {
183 continue; 183 continue;
184 } 184 }
185 else { 185 else {
186 return false; 186 return false;
187 } 187 }
188 } 188 }
189#endif 189#endif
190 190
191 if ( i1.hasRecurrenceID() == i2.hasRecurrenceID() ) { 191 if ( i1.hasRecurrenceID() == i2.hasRecurrenceID() ) {
192 if ( i1.hasRecurrenceID() ) { 192 if ( i1.hasRecurrenceID() ) {
193 if ( i1.recurrenceID() != i2.recurrenceID() ) 193 if ( i1.recurrenceID() != i2.recurrenceID() )
194 return false; 194 return false;
195 } 195 }
196 196
197 } else { 197 } else {
198 return false; 198 return false;
199 } 199 }
200 200
201 if ( ! operator==( (const IncidenceBase&)i1, (const IncidenceBase&)i2 ) ) 201 if ( ! operator==( (const IncidenceBase&)i1, (const IncidenceBase&)i2 ) )
202 return false; 202 return false;
203 if ( i1.hasStartDate() == i2.hasStartDate() ) { 203 if ( i1.hasStartDate() == i2.hasStartDate() ) {
204 if ( i1.hasStartDate() ) { 204 if ( i1.hasStartDate() ) {
205 if ( i1.dtStart() != i2.dtStart() ) 205 if ( i1.dtStart() != i2.dtStart() )
206 return false; 206 return false;
207 } 207 }
208 } else { 208 } else {
209 return false; 209 return false;
210 } 210 }
211 if (!( *i1.recurrence() == *i2.recurrence()) ) { 211 if (!( *i1.recurrence() == *i2.recurrence()) ) {
212 qDebug("recurrence is NOT equal "); 212 qDebug("recurrence is NOT equal ");
213 return false; 213 return false;
214 } 214 }
215 return 215 return
216 // i1.created() == i2.created() && 216 // i1.created() == i2.created() &&
217 stringCompare( i1.description(), i2.description() ) && 217 stringCompare( i1.description(), i2.description() ) &&
218 stringCompare( i1.summary(), i2.summary() ) && 218 stringCompare( i1.summary(), i2.summary() ) &&
219 i1.categories() == i2.categories() && 219 i1.categories() == i2.categories() &&
220 // no need to compare mRelatedTo 220 // no need to compare mRelatedTo
221 stringCompare( i1.relatedToUid(), i2.relatedToUid() ) && 221 stringCompare( i1.relatedToUid(), i2.relatedToUid() ) &&
222 // i1.relations() == i2.relations() && 222 // i1.relations() == i2.relations() &&
223 i1.exDates() == i2.exDates() && 223 i1.exDates() == i2.exDates() &&
224 i1.attachments() == i2.attachments() && 224 i1.attachments() == i2.attachments() &&
225 i1.resources() == i2.resources() && 225 i1.resources() == i2.resources() &&
226 i1.secrecy() == i2.secrecy() && 226 i1.secrecy() == i2.secrecy() &&
227 i1.priority() == i2.priority() && 227 i1.priority() == i2.priority() &&
228 i1.cancelled() == i2.cancelled() && 228 i1.cancelled() == i2.cancelled() &&
229 stringCompare( i1.location(), i2.location() ); 229 stringCompare( i1.location(), i2.location() );
230} 230}
231 231
232Incidence* Incidence::recreateCloneException( QDate d ) 232Incidence* Incidence::recreateCloneException( QDate d )
233{ 233{
234 Incidence* newInc = clone(); 234 Incidence* newInc = clone();
235 newInc->recreate(); 235 newInc->recreate();
236 if ( doesRecur() ) { 236 if ( doesRecur() ) {
237 addExDate( d ); 237 addExDate( d );
238 newInc->recurrence()->unsetRecurs(); 238 newInc->recurrence()->unsetRecurs();
239 if ( type() == "Event") { 239 if ( type() == "Event") {
240 int len = dtStart().secsTo( ((Event*)this)->dtEnd()); 240 int len = dtStart().secsTo( ((Event*)this)->dtEnd());
241 QTime tim = dtStart().time(); 241 QTime tim = dtStart().time();
242 newInc->setDtStart( QDateTime(d, tim) ); 242 newInc->setDtStart( QDateTime(d, tim) );
243 ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) ); 243 ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) );
244 } else { 244 } else {
245 int len = dtStart().secsTo( ((Todo*)this)->dtDue()); 245 int len = dtStart().secsTo( ((Todo*)this)->dtDue());
246 QTime tim = ((Todo*)this)->dtDue().time(); 246 QTime tim = ((Todo*)this)->dtDue().time();
247 ((Todo*)newInc)->setDtDue( QDateTime(d, tim) ); 247 ((Todo*)newInc)->setDtDue( QDateTime(d, tim) );
248 ((Todo*)newInc)->setDtStart( ((Todo*)newInc)->dtDue().addSecs( -len ) ); 248 ((Todo*)newInc)->setDtStart( ((Todo*)newInc)->dtDue().addSecs( -len ) );
249 ((Todo*)this)->setRecurDates(); 249 ((Todo*)this)->setRecurDates();
250 } 250 }
251 newInc->setExDates( DateList () ); 251 newInc->setExDates( DateList () );
252 } 252 }
253 return newInc; 253 return newInc;
254} 254}
255 255
256void Incidence::recreate() 256void Incidence::recreate()
257{ 257{
258 setCreated(QDateTime::currentDateTime()); 258 setCreated(QDateTime::currentDateTime());
259 259
260 setUid(CalFormat::createUniqueId()); 260 setUid(CalFormat::createUniqueId());
261 261
262 setRevision(0); 262 setRevision(0);
263 setIDStr( ":" ); 263 setIDStr( ":" );
264 setLastModified(QDateTime::currentDateTime()); 264 setLastModified(QDateTime::currentDateTime());
265} 265}
266void Incidence::cloneRelations( Incidence * newInc ) 266void Incidence::cloneRelations( Incidence * newInc )
267{ 267{
268 // newInc is already a clone of this incidence 268 // newInc is already a clone of this incidence
269 Incidence * inc; 269 Incidence * inc;
270 Incidence * cloneInc; 270 Incidence * cloneInc;
271 QPtrList<Incidence> Relations = relations(); 271 QPtrList<Incidence> Relations = relations();
272 for (inc=Relations.first();inc;inc=Relations.next()) { 272 for (inc=Relations.first();inc;inc=Relations.next()) {
273 cloneInc = inc->clone(); 273 cloneInc = inc->clone();
274 cloneInc->recreate(); 274 cloneInc->recreate();
275 cloneInc->setRelatedTo( newInc ); 275 cloneInc->setRelatedTo( newInc );
276 inc->cloneRelations( cloneInc ); 276 inc->cloneRelations( cloneInc );
277 } 277 }
278} 278}
279void Incidence::setReadOnly( bool readOnly ) 279void Incidence::setReadOnly( bool readOnly )
280{ 280{
281 IncidenceBase::setReadOnly( readOnly ); 281 IncidenceBase::setReadOnly( readOnly );
282 recurrence()->setRecurReadOnly( readOnly); 282 recurrence()->setRecurReadOnly( readOnly);
283} 283}
284 284
285void Incidence::setCreated(QDateTime created) 285void Incidence::setCreated(QDateTime created)
286{ 286{
287 if (mReadOnly) return; 287 if (mReadOnly) return;
288 mCreated = getEvenTime(created); 288 mCreated = getEvenTime(created);
289} 289}
290 290
291QDateTime Incidence::created() const 291QDateTime Incidence::created() const
292{ 292{
293 return mCreated; 293 return mCreated;
294} 294}
295 295
296void Incidence::setRevision(int rev) 296void Incidence::setRevision(int rev)
297{ 297{
298 if (mReadOnly) return; 298 if (mReadOnly) return;
299 mRevision = rev; 299 mRevision = rev;
300 300
301 updated(); 301 updated();
302} 302}
303 303
304int Incidence::revision() const 304int Incidence::revision() const
305{ 305{
306 return mRevision; 306 return mRevision;
307} 307}
308 308
309void Incidence::setDtStart(const QDateTime &dtStart) 309void Incidence::setDtStart(const QDateTime &dtStart)
310{ 310{
311 311
312 QDateTime dt = getEvenTime(dtStart); 312 QDateTime dt = getEvenTime(dtStart);
313 recurrence()->setRecurStart( dt); 313 recurrence()->setRecurStart( dt);
314 IncidenceBase::setDtStart( dt ); 314 IncidenceBase::setDtStart( dt );
315} 315}
316 316
317void Incidence::setDescription(const QString &description) 317void Incidence::setDescription(const QString &description)
318{ 318{
319 if (mReadOnly) return; 319 if (mReadOnly) return;
320 mDescription = description; 320 mDescription = description;
321 updated(); 321 updated();
322} 322}
323 323
324QString Incidence::description() const 324QString Incidence::description() const
325{ 325{
326 return mDescription; 326 return mDescription;
327} 327}
328 328
329 329
330void Incidence::setSummary(const QString &summary) 330void Incidence::setSummary(const QString &summary)
331{ 331{
332 if (mReadOnly) return; 332 if (mReadOnly) return;
333 mSummary = summary; 333 mSummary = summary;
334 updated(); 334 updated();
335} 335}
336 336
337QString Incidence::summary() const 337QString Incidence::summary() const
338{ 338{
339 return mSummary; 339 return mSummary;
340} 340}
341void Incidence::checkCategories() 341void Incidence::checkCategories()
342{ 342{
343 mHoliday = mCategories.contains("Holiday") || mCategories.contains(i18n("Holiday")); 343 mHoliday = mCategories.contains("Holiday") || mCategories.contains(i18n("Holiday"));
344 mBirthday = mCategories.contains("Birthday") || mCategories.contains(i18n("Birthday")); 344 mBirthday = mCategories.contains("Birthday") || mCategories.contains(i18n("Birthday"));
345 mAnniversary = mCategories.contains("Anniversary") || mCategories.contains(i18n("Anniversary")); 345 mAnniversary = mCategories.contains("Anniversary") || mCategories.contains(i18n("Anniversary"));
346} 346}
347 347
348void Incidence::setCategories(const QStringList &categories) 348void Incidence::setCategories(const QStringList &categories)
349{ 349{
350 if (mReadOnly) return; 350 if (mReadOnly) return;
351 mCategories = categories; 351 mCategories = categories;
352 checkCategories(); 352 checkCategories();
353 updated(); 353 updated();
354} 354}
355 355
356// TODO: remove setCategories(QString) function 356// TODO: remove setCategories(QString) function
357void Incidence::setCategories(const QString &catStr) 357void Incidence::setCategories(const QString &catStr)
358{ 358{
359 if (mReadOnly) return; 359 if (mReadOnly) return;
360 mCategories.clear(); 360 mCategories.clear();
361 361
362 if (catStr.isEmpty()) return; 362 if (catStr.isEmpty()) return;
363 363
364 mCategories = QStringList::split(",",catStr); 364 mCategories = QStringList::split(",",catStr);
365 365
366 QStringList::Iterator it; 366 QStringList::Iterator it;
367 for(it = mCategories.begin();it != mCategories.end(); ++it) { 367 for(it = mCategories.begin();it != mCategories.end(); ++it) {
368 *it = (*it).stripWhiteSpace(); 368 *it = (*it).stripWhiteSpace();
369 } 369 }
370 checkCategories(); 370 checkCategories();
371 updated(); 371 updated();
372} 372}
373 373
374QStringList Incidence::categories() const 374QStringList Incidence::categories() const
375{ 375{
376 return mCategories; 376 return mCategories;
377} 377}
378 378
379QString Incidence::categoriesStr() 379QString Incidence::categoriesStr()
380{ 380{
381 return mCategories.join(","); 381 return mCategories.join(",");
382} 382}
383QString Incidence::categoriesStrWithSpace()
384{
385 return mCategories.join(", ");
386}
383 387
384void Incidence::setRelatedToUid(const QString &relatedToUid) 388void Incidence::setRelatedToUid(const QString &relatedToUid)
385{ 389{
386 if (mReadOnly) return; 390 if (mReadOnly) return;
387 mRelatedToUid = relatedToUid; 391 mRelatedToUid = relatedToUid;
388} 392}
389 393
390QString Incidence::relatedToUid() const 394QString Incidence::relatedToUid() const
391{ 395{
392 return mRelatedToUid; 396 return mRelatedToUid;
393} 397}
394 398
395void Incidence::setRelatedTo(Incidence *relatedTo) 399void Incidence::setRelatedTo(Incidence *relatedTo)
396{ 400{
397 //qDebug("Incidence::setRelatedTo %d ", relatedTo); 401 //qDebug("Incidence::setRelatedTo %d ", relatedTo);
398 //qDebug("setRelatedTo(Incidence *relatedTo) %s %s", summary().latin1(), relatedTo->summary().latin1() ); 402 //qDebug("setRelatedTo(Incidence *relatedTo) %s %s", summary().latin1(), relatedTo->summary().latin1() );
399 if (mReadOnly || mRelatedTo == relatedTo) return; 403 if (mReadOnly || mRelatedTo == relatedTo) return;
400 if(mRelatedTo) { 404 if(mRelatedTo) {
401 // updated(); 405 // updated();
402 mRelatedTo->removeRelation(this); 406 mRelatedTo->removeRelation(this);
403 } 407 }
404 mRelatedTo = relatedTo; 408 mRelatedTo = relatedTo;
405 if (mRelatedTo) { 409 if (mRelatedTo) {
406 mRelatedTo->addRelation(this); 410 mRelatedTo->addRelation(this);
407 mRelatedToUid = mRelatedTo->uid(); 411 mRelatedToUid = mRelatedTo->uid();
408 } else { 412 } else {
409 mRelatedToUid = ""; 413 mRelatedToUid = "";
410 } 414 }
411} 415}
412 416
413Incidence *Incidence::relatedTo() const 417Incidence *Incidence::relatedTo() const
414{ 418{
415 return mRelatedTo; 419 return mRelatedTo;
416} 420}
417 421
418QPtrList<Incidence> Incidence::relations() const 422QPtrList<Incidence> Incidence::relations() const
419{ 423{
420 return mRelations; 424 return mRelations;
421} 425}
422 426
423void Incidence::addRelation(Incidence *event) 427void Incidence::addRelation(Incidence *event)
424{ 428{
425 if( mRelations.findRef( event ) == -1 ) { 429 if( mRelations.findRef( event ) == -1 ) {
426 mRelations.append(event); 430 mRelations.append(event);
427 //updated(); 431 //updated();
428 } 432 }
429} 433}
430 434
431void Incidence::removeRelation(Incidence *event) 435void Incidence::removeRelation(Incidence *event)
432{ 436{
433 437
434 mRelations.removeRef(event); 438 mRelations.removeRef(event);
435 439
436// if (event->getRelatedTo() == this) event->setRelatedTo(0); 440// if (event->getRelatedTo() == this) event->setRelatedTo(0);
437} 441}
438 442
439bool Incidence::recursOn(const QDate &qd) const 443bool Incidence::recursOn(const QDate &qd) const
440{ 444{
441 if (recurrence()->recursOnPure(qd) && !isException(qd)) return true; 445 if (recurrence()->recursOnPure(qd) && !isException(qd)) return true;
442 else return false; 446 else return false;
443} 447}
444 448
445void Incidence::setExDates(const DateList &exDates) 449void Incidence::setExDates(const DateList &exDates)
446{ 450{
447 if (mReadOnly) return; 451 if (mReadOnly) return;
448 mExDates = exDates; 452 mExDates = exDates;
449 453
450 recurrence()->setRecurExDatesCount(mExDates.count()); 454 recurrence()->setRecurExDatesCount(mExDates.count());
451 455
452 updated(); 456 updated();
453} 457}
454 458
455void Incidence::addExDate(const QDate &date) 459void Incidence::addExDate(const QDate &date)
456{ 460{
457 if (mReadOnly) return; 461 if (mReadOnly) return;
458 mExDates.append(date); 462 mExDates.append(date);
459 463
460 recurrence()->setRecurExDatesCount(mExDates.count()); 464 recurrence()->setRecurExDatesCount(mExDates.count());
461 465
462 updated(); 466 updated();
463} 467}
464 468
465DateList Incidence::exDates() const 469DateList Incidence::exDates() const
466{ 470{
467 return mExDates; 471 return mExDates;
468} 472}
469 473
470bool Incidence::isException(const QDate &date) const 474bool Incidence::isException(const QDate &date) const
471{ 475{
472 DateList::ConstIterator it; 476 DateList::ConstIterator it;
473 for( it = mExDates.begin(); it != mExDates.end(); ++it ) { 477 for( it = mExDates.begin(); it != mExDates.end(); ++it ) {
474 if ( (*it) == date ) { 478 if ( (*it) == date ) {
475 return true; 479 return true;
476 } 480 }
477 } 481 }
478 482
479 return false; 483 return false;
480} 484}
481 485
482void Incidence::addAttachment(Attachment *attachment) 486void Incidence::addAttachment(Attachment *attachment)
483{ 487{
484 if (mReadOnly || !attachment) return; 488 if (mReadOnly || !attachment) return;
485 mAttachments.append(attachment); 489 mAttachments.append(attachment);
486 updated(); 490 updated();
487} 491}
488 492
489void Incidence::deleteAttachment(Attachment *attachment) 493void Incidence::deleteAttachment(Attachment *attachment)
490{ 494{
491 mAttachments.removeRef(attachment); 495 mAttachments.removeRef(attachment);
492} 496}
493 497
494void Incidence::deleteAttachments(const QString& mime) 498void Incidence::deleteAttachments(const QString& mime)
495{ 499{
496 Attachment *at = mAttachments.first(); 500 Attachment *at = mAttachments.first();
497 while (at) { 501 while (at) {
498 if (at->mimeType() == mime) 502 if (at->mimeType() == mime)
499 mAttachments.remove(); 503 mAttachments.remove();
500 else 504 else
501 at = mAttachments.next(); 505 at = mAttachments.next();
502 } 506 }
503} 507}
504 508
505QPtrList<Attachment> Incidence::attachments() const 509QPtrList<Attachment> Incidence::attachments() const
506{ 510{
507 return mAttachments; 511 return mAttachments;
508} 512}
509 513
510QPtrList<Attachment> Incidence::attachments(const QString& mime) const 514QPtrList<Attachment> Incidence::attachments(const QString& mime) const
511{ 515{
512 QPtrList<Attachment> attachments; 516 QPtrList<Attachment> attachments;
513 QPtrListIterator<Attachment> it( mAttachments ); 517 QPtrListIterator<Attachment> it( mAttachments );
514 Attachment *at; 518 Attachment *at;
515 while ( (at = it.current()) ) { 519 while ( (at = it.current()) ) {
516 if (at->mimeType() == mime) 520 if (at->mimeType() == mime)
517 attachments.append(at); 521 attachments.append(at);
518 ++it; 522 ++it;
519 } 523 }
520 524
521 return attachments; 525 return attachments;
522} 526}
523 527
524void Incidence::setResources(const QStringList &resources) 528void Incidence::setResources(const QStringList &resources)
525{ 529{
526 if (mReadOnly) return; 530 if (mReadOnly) return;
527 mResources = resources; 531 mResources = resources;
528 updated(); 532 updated();
529} 533}
530 534
531QStringList Incidence::resources() const 535QStringList Incidence::resources() const
532{ 536{
533 return mResources; 537 return mResources;
534} 538}
535 539
536 540
537void Incidence::setPriority(int priority) 541void Incidence::setPriority(int priority)
538{ 542{
539 if (mReadOnly) return; 543 if (mReadOnly) return;
540 mPriority = priority; 544 mPriority = priority;
541 updated(); 545 updated();
542} 546}
543 547
544int Incidence::priority() const 548int Incidence::priority() const
545{ 549{
546 return mPriority; 550 return mPriority;
547} 551}
548 552
549void Incidence::setSecrecy(int sec) 553void Incidence::setSecrecy(int sec)
550{ 554{
551 if (mReadOnly) return; 555 if (mReadOnly) return;
552 mSecrecy = sec; 556 mSecrecy = sec;
553 updated(); 557 updated();
554} 558}
555 559
556int Incidence::secrecy() const 560int Incidence::secrecy() const
557{ 561{
558 return mSecrecy; 562 return mSecrecy;
559} 563}
560 564
561QString Incidence::secrecyStr() const 565QString Incidence::secrecyStr() const
562{ 566{
563 return secrecyName(mSecrecy); 567 return secrecyName(mSecrecy);
564} 568}
565 569
566QString Incidence::secrecyName(int secrecy) 570QString Incidence::secrecyName(int secrecy)
567{ 571{
568 switch (secrecy) { 572 switch (secrecy) {
569 case SecrecyPublic: 573 case SecrecyPublic:
570 return i18n("Public"); 574 return i18n("Public");
571 break; 575 break;
572 case SecrecyPrivate: 576 case SecrecyPrivate:
573 return i18n("Private"); 577 return i18n("Private");
574 break; 578 break;
575 case SecrecyConfidential: 579 case SecrecyConfidential:
576 return i18n("Confidential"); 580 return i18n("Confidential");
577 break; 581 break;
578 default: 582 default:
579 return i18n("Undefined"); 583 return i18n("Undefined");
580 break; 584 break;
581 } 585 }
582} 586}
583 587
584QStringList Incidence::secrecyList() 588QStringList Incidence::secrecyList()
585{ 589{
586 QStringList list; 590 QStringList list;
587 list << secrecyName(SecrecyPublic); 591 list << secrecyName(SecrecyPublic);
588 list << secrecyName(SecrecyPrivate); 592 list << secrecyName(SecrecyPrivate);
589 list << secrecyName(SecrecyConfidential); 593 list << secrecyName(SecrecyConfidential);
590 594
591 return list; 595 return list;
592} 596}
593 597
594 598
595QPtrList<Alarm> Incidence::alarms() const 599QPtrList<Alarm> Incidence::alarms() const
596{ 600{
597 return mAlarms; 601 return mAlarms;
598} 602}
599 603
600Alarm* Incidence::newAlarm() 604Alarm* Incidence::newAlarm()
601{ 605{
602 Alarm* alarm = new Alarm(this); 606 Alarm* alarm = new Alarm(this);
603 mAlarms.append(alarm); 607 mAlarms.append(alarm);
604// updated(); 608// updated();
605 return alarm; 609 return alarm;
606} 610}
607 611
608void Incidence::addAlarm(Alarm *alarm) 612void Incidence::addAlarm(Alarm *alarm)
609{ 613{
610 mAlarms.append(alarm); 614 mAlarms.append(alarm);
611 updated(); 615 updated();
612} 616}
613 617
614void Incidence::removeAlarm(Alarm *alarm) 618void Incidence::removeAlarm(Alarm *alarm)
615{ 619{
616 mAlarms.removeRef(alarm); 620 mAlarms.removeRef(alarm);
617 updated(); 621 updated();
618} 622}
619 623
620void Incidence::clearAlarms() 624void Incidence::clearAlarms()
621{ 625{
622 mAlarms.clear(); 626 mAlarms.clear();
623 updated(); 627 updated();
624} 628}
625 629
626bool Incidence::isAlarmEnabled() const 630bool Incidence::isAlarmEnabled() const
627{ 631{
628 Alarm* alarm; 632 Alarm* alarm;
629 for (QPtrListIterator<Alarm> it(mAlarms); (alarm = it.current()) != 0; ++it) { 633 for (QPtrListIterator<Alarm> it(mAlarms); (alarm = it.current()) != 0; ++it) {
630 if (alarm->enabled()) 634 if (alarm->enabled())
631 return true; 635 return true;
632 } 636 }
633 return false; 637 return false;
634} 638}
635 639
636Recurrence *Incidence::recurrence() const 640Recurrence *Incidence::recurrence() const
637{ 641{
638 return mRecurrence; 642 return mRecurrence;