-rw-r--r-- | libkcal/calendarlocal.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp index 45e3128..2a57724 100644 --- a/libkcal/calendarlocal.cpp +++ b/libkcal/calendarlocal.cpp @@ -191,16 +191,23 @@ void CalendarLocal::setSyncEventsReadOnly() if ( ev->uid().left(15) == QString("last-syncEvent-") ) { ev->setReadOnly( true ); - ev->setCalID( 1 ); } ev = mEventList.next(); } } + void CalendarLocal::addCalendar( Calendar* cal ) { cal->setDontDeleteIncidencesOnClose(); + setSyncEventsEnabled(); { 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->unRegisterObserver( cal ); ev->registerObserver( this ); @@ -208,4 +215,7 @@ void CalendarLocal::addCalendar( Calendar* cal ) ev = EventList.next(); } + for ( ev = el.first(); ev; ev = el.next() ) { + deleteIncidence ( ev ); + } } { @@ -1004,4 +1014,17 @@ void CalendarLocal::setCalendarRemove( int id ) } +void CalendarLocal::setAllCalendarEnabled( bool enable ) +{ + for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() ) + it->setCalEnabled( enable ); + + for ( Event *it = mEventList.first(); it; it = mEventList.next() ) + it->setCalEnabled( enable ); + + for ( Todo *it = mTodoList.first(); it; it = mTodoList.next() ) + it->setCalEnabled( enable ); + + +} void CalendarLocal::setCalendarEnabled( int id, bool enable ) { |