-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 | |||
@@ -187,29 +187,39 @@ void CalendarLocal::setSyncEventsReadOnly() | |||
187 | { | 187 | { |
188 | Event * ev; | 188 | Event * ev; |
189 | ev = mEventList.first(); | 189 | ev = mEventList.first(); |
190 | while ( ev ) { | 190 | while ( ev ) { |
191 | if ( ev->uid().left(15) == QString("last-syncEvent-") ) { | 191 | if ( ev->uid().left(15) == QString("last-syncEvent-") ) { |
192 | ev->setReadOnly( true ); | 192 | ev->setReadOnly( true ); |
193 | ev->setCalID( 1 ); | ||
194 | } | 193 | } |
195 | ev = mEventList.next(); | 194 | ev = mEventList.next(); |
196 | } | 195 | } |
197 | } | 196 | } |
197 | |||
198 | void CalendarLocal::addCalendar( Calendar* cal ) | 198 | void CalendarLocal::addCalendar( Calendar* cal ) |
199 | { | 199 | { |
200 | cal->setDontDeleteIncidencesOnClose(); | 200 | cal->setDontDeleteIncidencesOnClose(); |
201 | setSyncEventsEnabled(); | ||
201 | { | 202 | { |
202 | QPtrList<Event> EventList = cal->rawEvents(); | 203 | QPtrList<Event> EventList = cal->rawEvents(); |
204 | QPtrList<Event> el; | ||
203 | Event * ev = EventList.first(); | 205 | Event * ev = EventList.first(); |
204 | while ( ev ) { | 206 | while ( ev ) { |
207 | if ( ev->uid().left( 15 ) == QString("last-syncEvent-") ) { | ||
208 | Event * se = event( ev->uid() ); | ||
209 | if ( se ) | ||
210 | el.append( se ); | ||
211 | } | ||
205 | ev->unRegisterObserver( cal ); | 212 | ev->unRegisterObserver( cal ); |
206 | ev->registerObserver( this ); | 213 | ev->registerObserver( this ); |
207 | mEventList.append( ev ); | 214 | mEventList.append( ev ); |
208 | ev = EventList.next(); | 215 | ev = EventList.next(); |
209 | } | 216 | } |
217 | for ( ev = el.first(); ev; ev = el.next() ) { | ||
218 | deleteIncidence ( ev ); | ||
219 | } | ||
210 | } | 220 | } |
211 | { | 221 | { |
212 | 222 | ||
213 | QPtrList<Todo> TodoList = cal->rawTodos(); | 223 | QPtrList<Todo> TodoList = cal->rawTodos(); |
214 | Todo * ev = TodoList.first(); | 224 | Todo * ev = TodoList.first(); |
215 | while ( ev ) { | 225 | while ( ev ) { |
@@ -1000,12 +1010,25 @@ void CalendarLocal::setCalendarRemove( int id ) | |||
1000 | } | 1010 | } |
1001 | 1011 | ||
1002 | clearUndo(0); | 1012 | clearUndo(0); |
1003 | 1013 | ||
1004 | } | 1014 | } |
1005 | 1015 | ||
1016 | void CalendarLocal::setAllCalendarEnabled( bool enable ) | ||
1017 | { | ||
1018 | for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() ) | ||
1019 | it->setCalEnabled( enable ); | ||
1020 | |||
1021 | for ( Event *it = mEventList.first(); it; it = mEventList.next() ) | ||
1022 | it->setCalEnabled( enable ); | ||
1023 | |||
1024 | for ( Todo *it = mTodoList.first(); it; it = mTodoList.next() ) | ||
1025 | it->setCalEnabled( enable ); | ||
1026 | |||
1027 | |||
1028 | } | ||
1006 | void CalendarLocal::setCalendarEnabled( int id, bool enable ) | 1029 | void CalendarLocal::setCalendarEnabled( int id, bool enable ) |
1007 | { | 1030 | { |
1008 | for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() ) | 1031 | for ( Journal *it = mJournalList.first(); it; it = mJournalList.next() ) |
1009 | if ( it->calID() == id ) it->setCalEnabled( enable ); | 1032 | if ( it->calID() == id ) it->setCalEnabled( enable ); |
1010 | 1033 | ||
1011 | for ( Event *it = mEventList.first(); it; it = mEventList.next() ) | 1034 | for ( Event *it = mEventList.first(); it; it = mEventList.next() ) |