summaryrefslogtreecommitdiff
path: root/library/datebookdb.cpp
authorhakan <hakan>2002-03-29 16:32:49 (UTC)
committer hakan <hakan>2002-03-29 16:32:49 (UTC)
commitd31e0363e905aae78034626896b0d6620ffbc8fc (patch) (side-by-side diff)
treee6a98e06b0a76008c1ca8b12a095ce2ab2cabd34 /library/datebookdb.cpp
parent6e194663130b9548c4a31afd2798d9ca1dd30be5 (diff)
downloadopie-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
Diffstat (limited to 'library/datebookdb.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/datebookdb.cpp25
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
@@ -463,2 +463,5 @@ QValueList<EffectiveEvent> DateBookDB::getEffectiveEvents( const QDate &from,
for (it = eventList.begin(); it != eventList.end(); ++it ) {
+ if (!(*it).isValidUid())
+ (*it).assignUid(); // FIXME: Hack to restore cleared uids
+
dtTmp = (*it).start(TRUE);
@@ -505,2 +508,4 @@ QValueList<EffectiveEvent> DateBookDB::getEffectiveEvents( const QDate &from,
for ( it = repeatEvents.begin(); it != repeatEvents.end(); ++it ) {
+ if (!(*it).isValidUid())
+ (*it).assignUid(); // FIXME: Hack to restore cleared uids
@@ -584,2 +589,15 @@ QValueList<EffectiveEvent> DateBookDB::getEffectiveEvents( const QDateTime &dt)
+Event DateBookDB::getEvent( int uid ) {
+ QValueList<Event>::ConstIterator it;
+
+ for (it = eventList.begin(); it != eventList.end(); it++) {
+ if ((*it).uid() == uid) return *it;
+ }
+ for (it = repeatEvents.begin(); it != repeatEvents.end(); it++) {
+ if ((*it).uid() == uid) return *it;
+ }
+
+ qDebug("Event not found: uid=%d\n", uid);
+}
+
@@ -617,2 +635,3 @@ void DateBookDB::editEvent( const Event &old, Event &editedEv )
+ // Delete old event
if ( old.hasAlarm() )
@@ -620,3 +639,4 @@ void DateBookDB::editEvent( const Event &old, Event &editedEv )
if ( oldHadRepeat ) {
- if ( oldHadRepeat && editedEv.hasRepeat() ) {
+ if ( editedEv.hasRepeat() ) { // This mean that origRepeat was run above and
+ // orig is initialized
// assumption, when someone edits a repeating event, they
@@ -632,2 +652,4 @@ void DateBookDB::editEvent( const Event &old, Event &editedEv )
}
+
+ // Add new event
if ( editedEv.hasAlarm() )
@@ -638,2 +660,3 @@ void DateBookDB::editEvent( const Event &old, Event &editedEv )
eventList.append( editedEv );
+
d->clean = false;