summaryrefslogtreecommitdiffabout
path: root/libkcal/calendarlocal.cpp
authorzautrix <zautrix>2005-11-28 03:27:16 (UTC)
committer zautrix <zautrix>2005-11-28 03:27:16 (UTC)
commitb7522a13b64225bb91bdab4a21b44282f8c3e3b4 (patch) (side-by-side diff)
tree3aa005036dd83f3d0e5f57dd398dc260666daea1 /libkcal/calendarlocal.cpp
parent084180efc1bccba341bf3f2f718fd10cdfdaf18e (diff)
downloadkdepimpi-b7522a13b64225bb91bdab4a21b44282f8c3e3b4.zip
kdepimpi-b7522a13b64225bb91bdab4a21b44282f8c3e3b4.tar.gz
kdepimpi-b7522a13b64225bb91bdab4a21b44282f8c3e3b4.tar.bz2
sync
Diffstat (limited to 'libkcal/calendarlocal.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libkcal/calendarlocal.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp
index 980663f..8a5a76f 100644
--- a/libkcal/calendarlocal.cpp
+++ b/libkcal/calendarlocal.cpp
@@ -258,27 +258,25 @@ void CalendarLocal::setSyncEventsReadOnly()
void CalendarLocal::addCalendar( Calendar* cal )
{
cal->setDontDeleteIncidencesOnClose();
setSyncEventsEnabled();
+ QPtrList<Incidence> incList;
{
QPtrList<Event> EventList = cal->rawEvents();
- QPtrList<Event> el;
Event * ev = EventList.first();
while ( ev ) {
if ( ev->uid().left( 15 ) == QString("last-syncEvent-") ) {
- Event * se = event( ev->uid() );
- if ( se )
- el.append( se );
ev->setCalID_block( 1 );
}
+ Event * se = event( ev->uid() );
+ if ( se )
+ incList.append( se );
ev->unRegisterObserver( cal );
ev->registerObserver( this );
mEventList.append( ev );
ev = EventList.next();
}
- for ( ev = el.first(); ev; ev = el.next() ) {
- deleteIncidence ( ev );
- }
+
}
{
QPtrList<Todo> TodoList = cal->rawTodos();
@@ -289,8 +287,11 @@ void CalendarLocal::addCalendar( Calendar* cal )
}
//TodoList = cal->rawTodos();
ev = TodoList.first();
while ( ev ) {
+ Todo * se = todo( ev->uid() );
+ if ( se )
+ incList.append( se );
ev->unRegisterObserver( cal );
ev->registerObserver( this );
mTodoList.append( ev );
setupRelations( ev );
@@ -300,14 +301,22 @@ void CalendarLocal::addCalendar( Calendar* cal )
{
QPtrList<Journal> JournalList = cal->journals();
Journal * ev = JournalList.first();
while ( ev ) {
+ Journal * se = journal( ev->uid() );
+ if ( se )
+ incList.append( se );
ev->unRegisterObserver( cal );
ev->registerObserver( this );
mJournalList.append( ev );
ev = JournalList.next();
}
}
+ {
+ for (Incidence * ev = incList.first(); ev; ev = incList.next() ) {
+ deleteIncidence ( ev );
+ }
+ }
setModified( true );
}
bool CalendarLocal::load( const QString &fileName )
{