-rw-r--r-- | libkcal/calendarlocal.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libkcal/calendarlocal.cpp b/libkcal/calendarlocal.cpp index 8c4dde1..18f1af8 100644 --- a/libkcal/calendarlocal.cpp +++ b/libkcal/calendarlocal.cpp | |||
@@ -102,96 +102,102 @@ void CalendarLocal::addCalendar( Calendar* cal ) | |||
102 | } | 102 | } |
103 | } | 103 | } |
104 | { | 104 | { |
105 | 105 | ||
106 | QPtrList<Todo> TodoList = cal->rawTodos(); | 106 | QPtrList<Todo> TodoList = cal->rawTodos(); |
107 | Todo * ev = TodoList.first(); | 107 | Todo * ev = TodoList.first(); |
108 | while ( ev ) { | 108 | while ( ev ) { |
109 | QString rel = ev->relatedToUid(); | 109 | QString rel = ev->relatedToUid(); |
110 | if ( !rel.isEmpty() ){ | 110 | if ( !rel.isEmpty() ){ |
111 | ev->setRelatedTo ( 0 ); | 111 | ev->setRelatedTo ( 0 ); |
112 | ev->setRelatedToUid( rel ); | 112 | ev->setRelatedToUid( rel ); |
113 | } | 113 | } |
114 | ev = TodoList.next(); | 114 | ev = TodoList.next(); |
115 | } | 115 | } |
116 | //TodoList = cal->rawTodos(); | 116 | //TodoList = cal->rawTodos(); |
117 | ev = TodoList.first(); | 117 | ev = TodoList.first(); |
118 | while ( ev ) { | 118 | while ( ev ) { |
119 | ev->unRegisterObserver( cal ); | 119 | ev->unRegisterObserver( cal ); |
120 | ev->registerObserver( this ); | 120 | ev->registerObserver( this ); |
121 | mTodoList.append( ev ); | 121 | mTodoList.append( ev ); |
122 | setupRelations( ev ); | 122 | setupRelations( ev ); |
123 | ev = TodoList.next(); | 123 | ev = TodoList.next(); |
124 | } | 124 | } |
125 | } | 125 | } |
126 | { | 126 | { |
127 | QPtrList<Journal> JournalList = cal->journals(); | 127 | QPtrList<Journal> JournalList = cal->journals(); |
128 | Journal * ev = JournalList.first(); | 128 | Journal * ev = JournalList.first(); |
129 | while ( ev ) { | 129 | while ( ev ) { |
130 | ev->unRegisterObserver( cal ); | 130 | ev->unRegisterObserver( cal ); |
131 | ev->registerObserver( this ); | 131 | ev->registerObserver( this ); |
132 | mJournalList.append( ev ); | 132 | mJournalList.append( ev ); |
133 | ev = JournalList.next(); | 133 | ev = JournalList.next(); |
134 | } | 134 | } |
135 | } | 135 | } |
136 | setModified( true ); | 136 | setModified( true ); |
137 | } | 137 | } |
138 | bool CalendarLocal::load( const QString &fileName ) | 138 | bool CalendarLocal::load( const QString &fileName ) |
139 | { | 139 | { |
140 | FileStorage storage( this, fileName ); | 140 | FileStorage storage( this, fileName ); |
141 | return storage.load(); | 141 | return storage.load(); |
142 | } | 142 | } |
143 | 143 | ||
144 | bool CalendarLocal::save( const QString &fileName, CalFormat *format ) | 144 | bool CalendarLocal::save( const QString &fileName, CalFormat *format ) |
145 | { | 145 | { |
146 | FileStorage storage( this, fileName, format ); | 146 | FileStorage storage( this, fileName, format ); |
147 | return storage.save(); | 147 | return storage.save(); |
148 | } | 148 | } |
149 | 149 | ||
150 | void CalendarLocal::stopAllTodos() | ||
151 | { | ||
152 | for ( Todo *it = mTodoList.first(); it; it = mTodoList.next() ) | ||
153 | it->setRunning( false ); | ||
154 | |||
155 | } | ||
150 | void CalendarLocal::close() | 156 | void CalendarLocal::close() |
151 | { | 157 | { |
152 | 158 | ||
153 | Todo * i; | 159 | Todo * i; |
154 | for( i = mTodoList.first(); i; i = mTodoList.next() ) i->setRunning(false); | 160 | for( i = mTodoList.first(); i; i = mTodoList.next() ) i->setRunning(false); |
155 | 161 | ||
156 | mEventList.setAutoDelete( true ); | 162 | mEventList.setAutoDelete( true ); |
157 | mTodoList.setAutoDelete( true ); | 163 | mTodoList.setAutoDelete( true ); |
158 | mJournalList.setAutoDelete( false ); | 164 | mJournalList.setAutoDelete( false ); |
159 | 165 | ||
160 | mEventList.clear(); | 166 | mEventList.clear(); |
161 | mTodoList.clear(); | 167 | mTodoList.clear(); |
162 | mJournalList.clear(); | 168 | mJournalList.clear(); |
163 | 169 | ||
164 | mEventList.setAutoDelete( false ); | 170 | mEventList.setAutoDelete( false ); |
165 | mTodoList.setAutoDelete( false ); | 171 | mTodoList.setAutoDelete( false ); |
166 | mJournalList.setAutoDelete( false ); | 172 | mJournalList.setAutoDelete( false ); |
167 | 173 | ||
168 | setModified( false ); | 174 | setModified( false ); |
169 | } | 175 | } |
170 | 176 | ||
171 | bool CalendarLocal::addAnniversaryNoDup( Event *event ) | 177 | bool CalendarLocal::addAnniversaryNoDup( Event *event ) |
172 | { | 178 | { |
173 | QString cat; | 179 | QString cat; |
174 | bool isBirthday = true; | 180 | bool isBirthday = true; |
175 | if( event->categoriesStr() == i18n( "Anniversary" ) ) { | 181 | if( event->categoriesStr() == i18n( "Anniversary" ) ) { |
176 | isBirthday = false; | 182 | isBirthday = false; |
177 | cat = i18n( "Anniversary" ); | 183 | cat = i18n( "Anniversary" ); |
178 | } else if( event->categoriesStr() == i18n( "Birthday" ) ) { | 184 | } else if( event->categoriesStr() == i18n( "Birthday" ) ) { |
179 | isBirthday = true; | 185 | isBirthday = true; |
180 | cat = i18n( "Birthday" ); | 186 | cat = i18n( "Birthday" ); |
181 | } else { | 187 | } else { |
182 | qDebug("addAnniversaryNoDup called without fitting category! "); | 188 | qDebug("addAnniversaryNoDup called without fitting category! "); |
183 | return false; | 189 | return false; |
184 | } | 190 | } |
185 | Event * eve; | 191 | Event * eve; |
186 | for ( eve = mEventList.first(); eve ; eve = mEventList.next() ) { | 192 | for ( eve = mEventList.first(); eve ; eve = mEventList.next() ) { |
187 | if ( !(eve->categories().contains( cat ) )) | 193 | if ( !(eve->categories().contains( cat ) )) |
188 | continue; | 194 | continue; |
189 | // now we have an event with fitting category | 195 | // now we have an event with fitting category |
190 | if ( eve->dtStart().date() != event->dtStart().date() ) | 196 | if ( eve->dtStart().date() != event->dtStart().date() ) |
191 | continue; | 197 | continue; |
192 | // now we have an event with fitting category+date | 198 | // now we have an event with fitting category+date |
193 | if ( eve->summary() != event->summary() ) | 199 | if ( eve->summary() != event->summary() ) |
194 | continue; | 200 | continue; |
195 | // now we have an event with fitting category+date+summary | 201 | // now we have an event with fitting category+date+summary |
196 | return false; | 202 | return false; |
197 | } | 203 | } |