author | hakan <hakan> | 2002-03-29 16:32:49 (UTC) |
---|---|---|
committer | hakan <hakan> | 2002-03-29 16:32:49 (UTC) |
commit | d31e0363e905aae78034626896b0d6620ffbc8fc (patch) (unidiff) | |
tree | e6a98e06b0a76008c1ca8b12a095ce2ab2cabd34 /library/datebookdb.cpp | |
parent | 6e194663130b9548c4a31afd2798d9ca1dd30be5 (diff) | |
download | opie-d31e0363e905aae78034626896b0d6620ffbc8fc.zip opie-d31e0363e905aae78034626896b0d6620ffbc8fc.tar.gz opie-d31e0363e905aae78034626896b0d6620ffbc8fc.tar.bz2 |
Added getEvent(uid) and a fix reassigning uids to events whos uids have been cleared
-rw-r--r-- | library/datebookdb.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/library/datebookdb.cpp b/library/datebookdb.cpp index bf7fd94..da5a797 100644 --- a/library/datebookdb.cpp +++ b/library/datebookdb.cpp | |||
@@ -460,8 +460,11 @@ QValueList<EffectiveEvent> DateBookDB::getEffectiveEvents( const QDate &from, | |||
460 | QDateTime dtTmp, | 460 | QDateTime dtTmp, |
461 | dtEnd; | 461 | dtEnd; |
462 | 462 | ||
463 | for (it = eventList.begin(); it != eventList.end(); ++it ) { | 463 | for (it = eventList.begin(); it != eventList.end(); ++it ) { |
464 | if (!(*it).isValidUid()) | ||
465 | (*it).assignUid(); // FIXME: Hack to restore cleared uids | ||
466 | |||
464 | dtTmp = (*it).start(TRUE); | 467 | dtTmp = (*it).start(TRUE); |
465 | dtEnd = (*it).end(TRUE); | 468 | dtEnd = (*it).end(TRUE); |
466 | 469 | ||
467 | if ( dtTmp.date() >= from && dtTmp.date() <= to ) { | 470 | if ( dtTmp.date() >= from && dtTmp.date() <= to ) { |
@@ -502,8 +505,10 @@ QValueList<EffectiveEvent> DateBookDB::getEffectiveEvents( const QDate &from, | |||
502 | } | 505 | } |
503 | // check for repeating events... | 506 | // check for repeating events... |
504 | QDateTime repeat; | 507 | QDateTime repeat; |
505 | for ( it = repeatEvents.begin(); it != repeatEvents.end(); ++it ) { | 508 | for ( it = repeatEvents.begin(); it != repeatEvents.end(); ++it ) { |
509 | if (!(*it).isValidUid()) | ||
510 | (*it).assignUid(); // FIXME: Hack to restore cleared uids | ||
506 | 511 | ||
507 | /* create a false end date, to short circuit on hard | 512 | /* create a false end date, to short circuit on hard |
508 | MonthlyDay recurences */ | 513 | MonthlyDay recurences */ |
509 | Event dummy_event = *it; | 514 | Event dummy_event = *it; |
@@ -581,8 +586,21 @@ QValueList<EffectiveEvent> DateBookDB::getEffectiveEvents( const QDateTime &dt) | |||
581 | } | 586 | } |
582 | return tmpList; | 587 | return tmpList; |
583 | } | 588 | } |
584 | 589 | ||
590 | Event DateBookDB::getEvent( int uid ) { | ||
591 | QValueList<Event>::ConstIterator it; | ||
592 | |||
593 | for (it = eventList.begin(); it != eventList.end(); it++) { | ||
594 | if ((*it).uid() == uid) return *it; | ||
595 | } | ||
596 | for (it = repeatEvents.begin(); it != repeatEvents.end(); it++) { | ||
597 | if ((*it).uid() == uid) return *it; | ||
598 | } | ||
599 | |||
600 | qDebug("Event not found: uid=%d\n", uid); | ||
601 | } | ||
602 | |||
585 | 603 | ||
586 | void DateBookDB::addEvent( const Event &ev, bool doalarm ) | 604 | void DateBookDB::addEvent( const Event &ev, bool doalarm ) |
587 | { | 605 | { |
588 | // write to the journal... | 606 | // write to the journal... |
@@ -614,12 +632,14 @@ void DateBookDB::editEvent( const Event &old, Event &editedEv ) | |||
614 | } else | 632 | } else |
615 | oldIndex = eventList.findIndex( old ); | 633 | oldIndex = eventList.findIndex( old ); |
616 | saveJournalEntry( editedEv, ACTION_REPLACE, oldIndex, oldHadRepeat ); | 634 | saveJournalEntry( editedEv, ACTION_REPLACE, oldIndex, oldHadRepeat ); |
617 | 635 | ||
636 | // Delete old event | ||
618 | if ( old.hasAlarm() ) | 637 | if ( old.hasAlarm() ) |
619 | delEventAlarm( old ); | 638 | delEventAlarm( old ); |
620 | if ( oldHadRepeat ) { | 639 | if ( oldHadRepeat ) { |
621 | if ( oldHadRepeat && editedEv.hasRepeat() ) { | 640 | if ( editedEv.hasRepeat() ) { // This mean that origRepeat was run above and |
641 | // orig is initialized | ||
622 | // assumption, when someone edits a repeating event, they | 642 | // assumption, when someone edits a repeating event, they |
623 | // want to change them all, maybe not perfect, but it works | 643 | // want to change them all, maybe not perfect, but it works |
624 | // for the moment... | 644 | // for the moment... |
625 | repeatEvents.remove( orig ); | 645 | repeatEvents.remove( orig ); |
@@ -629,14 +649,17 @@ void DateBookDB::editEvent( const Event &old, Event &editedEv ) | |||
629 | QValueList<Event>::Iterator it = eventList.find( old ); | 649 | QValueList<Event>::Iterator it = eventList.find( old ); |
630 | if ( it != eventList.end() ) | 650 | if ( it != eventList.end() ) |
631 | eventList.remove( it ); | 651 | eventList.remove( it ); |
632 | } | 652 | } |
653 | |||
654 | // Add new event | ||
633 | if ( editedEv.hasAlarm() ) | 655 | if ( editedEv.hasAlarm() ) |
634 | addEventAlarm( editedEv ); | 656 | addEventAlarm( editedEv ); |
635 | if ( editedEv.hasRepeat() ) | 657 | if ( editedEv.hasRepeat() ) |
636 | repeatEvents.append( editedEv ); | 658 | repeatEvents.append( editedEv ); |
637 | else | 659 | else |
638 | eventList.append( editedEv ); | 660 | eventList.append( editedEv ); |
661 | |||
639 | d->clean = false; | 662 | d->clean = false; |
640 | } | 663 | } |
641 | 664 | ||
642 | void DateBookDB::removeEvent( const Event &ev ) | 665 | void DateBookDB::removeEvent( const Event &ev ) |