author | zautrix <zautrix> | 2005-06-08 10:56:24 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-06-08 10:56:24 (UTC) |
commit | 2448916479b456ca7c880427a80e8e32e95b2fba (patch) (unidiff) | |
tree | 83be907f0eccb43ffc44a7f1bc07995c32760cb5 /korganizer/incomingdialog.cpp | |
parent | 793d117812b4da36c9c11d90cccba347cbc6e208 (diff) | |
download | kdepimpi-2448916479b456ca7c880427a80e8e32e95b2fba.zip kdepimpi-2448916479b456ca7c880427a80e8e32e95b2fba.tar.gz kdepimpi-2448916479b456ca7c880427a80e8e32e95b2fba.tar.bz2 |
more type API changes
Diffstat (limited to 'korganizer/incomingdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | korganizer/incomingdialog.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/korganizer/incomingdialog.cpp b/korganizer/incomingdialog.cpp index 50e3077..fe78356 100644 --- a/korganizer/incomingdialog.cpp +++ b/korganizer/incomingdialog.cpp | |||
@@ -133,384 +133,384 @@ bool ScheduleItemVisitor::visit(Journal *) | |||
133 | * | 133 | * |
134 | * The dialog will by default be modeless, unless you set 'modal' to | 134 | * The dialog will by default be modeless, unless you set 'modal' to |
135 | * TRUE to construct a modal dialog. | 135 | * TRUE to construct a modal dialog. |
136 | */ | 136 | */ |
137 | IncomingDialog::IncomingDialog(Calendar *calendar,OutgoingDialog *outgoing, | 137 | IncomingDialog::IncomingDialog(Calendar *calendar,OutgoingDialog *outgoing, |
138 | QWidget* parent,const char* name,bool modal,WFlags fl) : | 138 | QWidget* parent,const char* name,bool modal,WFlags fl) : |
139 | IncomingDialog_base(parent,name,modal,fl) | 139 | IncomingDialog_base(parent,name,modal,fl) |
140 | { | 140 | { |
141 | mCalendar = calendar; | 141 | mCalendar = calendar; |
142 | mOutgoing = outgoing; | 142 | mOutgoing = outgoing; |
143 | #ifndef KORG_NOMAIL | 143 | #ifndef KORG_NOMAIL |
144 | mScheduler = new MailScheduler(mCalendar); | 144 | mScheduler = new MailScheduler(mCalendar); |
145 | #else | 145 | #else |
146 | mScheduler = new DummyScheduler(mCalendar); | 146 | mScheduler = new DummyScheduler(mCalendar); |
147 | #endif | 147 | #endif |
148 | mMessageListView->setColumnAlignment(1,AlignHCenter); | 148 | mMessageListView->setColumnAlignment(1,AlignHCenter); |
149 | mMessageListView->setColumnAlignment(2,AlignHCenter); | 149 | mMessageListView->setColumnAlignment(2,AlignHCenter); |
150 | mMessageListView->setColumnAlignment(3,AlignHCenter); | 150 | mMessageListView->setColumnAlignment(3,AlignHCenter); |
151 | mMessageListView->setColumnAlignment(4,AlignHCenter); | 151 | mMessageListView->setColumnAlignment(4,AlignHCenter); |
152 | QObject::connect(mMessageListView,SIGNAL(doubleClicked(QListViewItem *)), | 152 | QObject::connect(mMessageListView,SIGNAL(doubleClicked(QListViewItem *)), |
153 | this,SLOT(showEvent(QListViewItem *))); | 153 | this,SLOT(showEvent(QListViewItem *))); |
154 | retrieve(); | 154 | retrieve(); |
155 | } | 155 | } |
156 | 156 | ||
157 | /* | 157 | /* |
158 | * Destroys the object and frees any allocated resources | 158 | * Destroys the object and frees any allocated resources |
159 | */ | 159 | */ |
160 | IncomingDialog::~IncomingDialog() | 160 | IncomingDialog::~IncomingDialog() |
161 | { | 161 | { |
162 | // no need to delete child widgets, Qt does it all for us | 162 | // no need to delete child widgets, Qt does it all for us |
163 | } | 163 | } |
164 | 164 | ||
165 | void IncomingDialog::setOutgoingDialog(OutgoingDialog *outgoing) | 165 | void IncomingDialog::setOutgoingDialog(OutgoingDialog *outgoing) |
166 | { | 166 | { |
167 | mOutgoing = outgoing; | 167 | mOutgoing = outgoing; |
168 | } | 168 | } |
169 | 169 | ||
170 | void IncomingDialog::retrieve() | 170 | void IncomingDialog::retrieve() |
171 | { | 171 | { |
172 | QPtrList <ScheduleMessage> messages = mScheduler->retrieveTransactions(); | 172 | QPtrList <ScheduleMessage> messages = mScheduler->retrieveTransactions(); |
173 | 173 | ||
174 | ScheduleMessage *message; | 174 | ScheduleMessage *message; |
175 | for(message = messages.first();message;message = messages.next()) { | 175 | for(message = messages.first();message;message = messages.next()) { |
176 | IncidenceBase *inc = message->event(); | 176 | IncidenceBase *inc = message->event(); |
177 | Scheduler::Method method = (Scheduler::Method)message->method(); | 177 | Scheduler::Method method = (Scheduler::Method)message->method(); |
178 | ScheduleMessage::Status status = message->status(); | 178 | ScheduleMessage::Status status = message->status(); |
179 | 179 | ||
180 | ScheduleItemIn *item = new ScheduleItemIn(mMessageListView,inc,method,status); | 180 | ScheduleItemIn *item = new ScheduleItemIn(mMessageListView,inc,method,status); |
181 | if(inc->type()!="FreeBusy") { | 181 | if(inc->typeID() != freebusyID ) { |
182 | Incidence *incidence = static_cast<Incidence *>(inc); | 182 | Incidence *incidence = static_cast<Incidence *>(inc); |
183 | ScheduleItemVisitor v(item); | 183 | ScheduleItemVisitor v(item); |
184 | if (!incidence->accept(v)) delete item; | 184 | if (!incidence->accept(v)) delete item; |
185 | } else { | 185 | } else { |
186 | FreeBusy *fb = static_cast<FreeBusy *>(item->event()); | 186 | FreeBusy *fb = static_cast<FreeBusy *>(item->event()); |
187 | item->setText(0, "FreeBusy"); | 187 | item->setText(0, "FreeBusy"); |
188 | item->setText(1, KGlobal::locale()->formatDate( fb->dtStart().date() ) ); | 188 | item->setText(1, KGlobal::locale()->formatDate( fb->dtStart().date() ) ); |
189 | item->setText(2, KGlobal::locale()->formatTime( fb->dtStart().time() ) ); | 189 | item->setText(2, KGlobal::locale()->formatTime( fb->dtStart().time() ) ); |
190 | item->setText(3, KGlobal::locale()->formatDate( fb->dtEnd().date() ) ); | 190 | item->setText(3, KGlobal::locale()->formatDate( fb->dtEnd().date() ) ); |
191 | item->setText(4, KGlobal::locale()->formatTime( fb->dtEnd().time() ) ); | 191 | item->setText(4, KGlobal::locale()->formatTime( fb->dtEnd().time() ) ); |
192 | item->setText(5, fb->organizer()); | 192 | item->setText(5, fb->organizer()); |
193 | } | 193 | } |
194 | automaticAction(item); | 194 | automaticAction(item); |
195 | } | 195 | } |
196 | emit numMessagesChanged(mMessageListView->childCount()); | 196 | emit numMessagesChanged(mMessageListView->childCount()); |
197 | } | 197 | } |
198 | 198 | ||
199 | void IncomingDialog::acceptAllMessages() | 199 | void IncomingDialog::acceptAllMessages() |
200 | { | 200 | { |
201 | bool success = false; | 201 | bool success = false; |
202 | 202 | ||
203 | ScheduleItemIn *item = (ScheduleItemIn *)mMessageListView->firstChild(); | 203 | ScheduleItemIn *item = (ScheduleItemIn *)mMessageListView->firstChild(); |
204 | while(item) { | 204 | while(item) { |
205 | ScheduleItemIn *nextitem = (ScheduleItemIn *)(item->nextSibling()); | 205 | ScheduleItemIn *nextitem = (ScheduleItemIn *)(item->nextSibling()); |
206 | if (acceptMessage(item)) success = true; | 206 | if (acceptMessage(item)) success = true; |
207 | item = nextitem; | 207 | item = nextitem; |
208 | } | 208 | } |
209 | 209 | ||
210 | if (success) emit calendarUpdated(); | 210 | if (success) emit calendarUpdated(); |
211 | } | 211 | } |
212 | 212 | ||
213 | void IncomingDialog::acceptMessage() | 213 | void IncomingDialog::acceptMessage() |
214 | { | 214 | { |
215 | ScheduleItemIn *item = (ScheduleItemIn *)mMessageListView->selectedItem(); | 215 | ScheduleItemIn *item = (ScheduleItemIn *)mMessageListView->selectedItem(); |
216 | if (item) { | 216 | if (item) { |
217 | if (acceptMessage(item)) emit calendarUpdated(); | 217 | if (acceptMessage(item)) emit calendarUpdated(); |
218 | } | 218 | } |
219 | } | 219 | } |
220 | 220 | ||
221 | bool IncomingDialog::acceptMessage(ScheduleItemIn *item) | 221 | bool IncomingDialog::acceptMessage(ScheduleItemIn *item) |
222 | { | 222 | { |
223 | switch (item->method()) { | 223 | switch (item->method()) { |
224 | case Scheduler::Refresh: | 224 | case Scheduler::Refresh: |
225 | return incomeRefresh(item); | 225 | return incomeRefresh(item); |
226 | break; | 226 | break; |
227 | case Scheduler::Counter: | 227 | case Scheduler::Counter: |
228 | return incomeCounter(item); | 228 | return incomeCounter(item); |
229 | break; | 229 | break; |
230 | case Scheduler::Declinecounter: | 230 | case Scheduler::Declinecounter: |
231 | return incomeDeclineCounter(item); | 231 | return incomeDeclineCounter(item); |
232 | break; | 232 | break; |
233 | case Scheduler::Add: | 233 | case Scheduler::Add: |
234 | return incomeAdd(item); | 234 | return incomeAdd(item); |
235 | break; | 235 | break; |
236 | case Scheduler::Request: | 236 | case Scheduler::Request: |
237 | return incomeRequest(item); | 237 | return incomeRequest(item); |
238 | break; | 238 | break; |
239 | default: | 239 | default: |
240 | return incomeDefault(item); | 240 | return incomeDefault(item); |
241 | } | 241 | } |
242 | return false; | 242 | return false; |
243 | } | 243 | } |
244 | 244 | ||
245 | void IncomingDialog::rejectMessage() | 245 | void IncomingDialog::rejectMessage() |
246 | { | 246 | { |
247 | ScheduleItemIn *item = (ScheduleItemIn *)mMessageListView->selectedItem(); | 247 | ScheduleItemIn *item = (ScheduleItemIn *)mMessageListView->selectedItem(); |
248 | if (item) { | 248 | if (item) { |
249 | mScheduler->deleteTransaction(item->event()); | 249 | mScheduler->deleteTransaction(item->event()); |
250 | delete item; | 250 | delete item; |
251 | emit numMessagesChanged(mMessageListView->childCount()); | 251 | emit numMessagesChanged(mMessageListView->childCount()); |
252 | } | 252 | } |
253 | } | 253 | } |
254 | 254 | ||
255 | void IncomingDialog::showEvent(QListViewItem *item) | 255 | void IncomingDialog::showEvent(QListViewItem *item) |
256 | { | 256 | { |
257 | IncidenceBase *incidence = ((ScheduleItemIn *)item)->event(); | 257 | IncidenceBase *incidence = ((ScheduleItemIn *)item)->event(); |
258 | if( incidence && incidence->type() == "Event" ) { | 258 | if( incidence && incidence->typeID() == eventID ) { |
259 | Event *event = static_cast<Event *>(incidence); | 259 | Event *event = static_cast<Event *>(incidence); |
260 | KOEventViewerDialog *eventViewer = new KOEventViewerDialog(this); | 260 | KOEventViewerDialog *eventViewer = new KOEventViewerDialog(this); |
261 | eventViewer->setEvent(event); | 261 | eventViewer->setEvent(event); |
262 | eventViewer->show(); | 262 | eventViewer->show(); |
263 | } | 263 | } |
264 | } | 264 | } |
265 | 265 | ||
266 | bool IncomingDialog::incomeRefresh(ScheduleItemIn *item) | 266 | bool IncomingDialog::incomeRefresh(ScheduleItemIn *item) |
267 | { | 267 | { |
268 | Event *ev = mCalendar->event(item->event()->uid()); | 268 | Event *ev = mCalendar->event(item->event()->uid()); |
269 | if (ev) { | 269 | if (ev) { |
270 | //user interaction before?? | 270 | //user interaction before?? |
271 | Attendee *att; | 271 | Attendee *att; |
272 | QPtrList<Attendee> attlist = ev->attendees(); | 272 | QPtrList<Attendee> attlist = ev->attendees(); |
273 | for (att=attlist.first(); att; att=attlist.next()) { | 273 | for (att=attlist.first(); att; att=attlist.next()) { |
274 | Event *event = new Event(*ev); | 274 | Event *event = new Event(*ev); |
275 | mOutgoing->addMessage(event,Scheduler::Request,att->email()); | 275 | mOutgoing->addMessage(event,Scheduler::Request,att->email()); |
276 | delete(event); | 276 | delete(event); |
277 | } | 277 | } |
278 | mScheduler->deleteTransaction(item->event()); | 278 | mScheduler->deleteTransaction(item->event()); |
279 | delete item; | 279 | delete item; |
280 | emit numMessagesChanged(mMessageListView->childCount()); | 280 | emit numMessagesChanged(mMessageListView->childCount()); |
281 | return true; | 281 | return true; |
282 | } | 282 | } |
283 | mScheduler->deleteTransaction(item->event()); | 283 | mScheduler->deleteTransaction(item->event()); |
284 | delete item; | 284 | delete item; |
285 | emit numMessagesChanged(mMessageListView->childCount()); | 285 | emit numMessagesChanged(mMessageListView->childCount()); |
286 | return false; | 286 | return false; |
287 | } | 287 | } |
288 | 288 | ||
289 | bool IncomingDialog::incomeCounter(ScheduleItemIn *item) | 289 | bool IncomingDialog::incomeCounter(ScheduleItemIn *item) |
290 | { | 290 | { |
291 | IncidenceBase *incidence = ((ScheduleItemIn *)item)->event(); | 291 | IncidenceBase *incidence = ((ScheduleItemIn *)item)->event(); |
292 | // currently only events supportet - attetion at insertion below! | 292 | // currently only events supportet - attetion at insertion below! |
293 | if ( incidence->type() != "Event" ) return false; | 293 | if ( incidence->typeID() != eventID ) return false; |
294 | 294 | ||
295 | Event *counterEvent = static_cast<Event *>( incidence ); | 295 | Event *counterEvent = static_cast<Event *>( incidence ); |
296 | 296 | ||
297 | Event *even = mCalendar->event(counterEvent->uid()); | 297 | Event *even = mCalendar->event(counterEvent->uid()); |
298 | 298 | ||
299 | KOCounterDialog *eventViewer = new KOCounterDialog(this); | 299 | KOCounterDialog *eventViewer = new KOCounterDialog(this); |
300 | eventViewer->addText(i18n("counter proposal event","<b>Counter-event:</b><p>")); | 300 | eventViewer->addText(i18n("counter proposal event","<b>Counter-event:</b><p>")); |
301 | eventViewer->addEvent(counterEvent); | 301 | eventViewer->addEvent(counterEvent); |
302 | eventViewer->addText("<hr>"); | 302 | eventViewer->addText("<hr>"); |
303 | eventViewer->addText(i18n("<b>Original event:</b><p>")); | 303 | eventViewer->addText(i18n("<b>Original event:</b><p>")); |
304 | if (even) eventViewer->addEvent(even); | 304 | if (even) eventViewer->addEvent(even); |
305 | else eventViewer->addText(i18n("A corresponding event is missing in your calendar!")); | 305 | else eventViewer->addText(i18n("A corresponding event is missing in your calendar!")); |
306 | eventViewer->addText("<hr>"); | 306 | eventViewer->addText("<hr>"); |
307 | eventViewer->addText(i18n("If this counter-event is a good proposal for your event, press 'Accept'. All Attendees will then get the new version of this event")); | 307 | eventViewer->addText(i18n("If this counter-event is a good proposal for your event, press 'Accept'. All Attendees will then get the new version of this event")); |
308 | eventViewer->show(); | 308 | eventViewer->show(); |
309 | 309 | ||
310 | eventViewer->exec(); | 310 | eventViewer->exec(); |
311 | if (eventViewer->result()) { | 311 | if (eventViewer->result()) { |
312 | kdDebug() << "IncomingDialog::Counter:Accept" << endl; | 312 | kdDebug() << "IncomingDialog::Counter:Accept" << endl; |
313 | int revision = 0; | 313 | int revision = 0; |
314 | if (even) { | 314 | if (even) { |
315 | revision = even->revision(); | 315 | revision = even->revision(); |
316 | mCalendar->deleteEvent(even); | 316 | mCalendar->deleteEvent(even); |
317 | } | 317 | } |
318 | mCalendar->addIncidence(counterEvent); | 318 | mCalendar->addIncidence(counterEvent); |
319 | 319 | ||
320 | even = mCalendar->event(item->event()->uid()); | 320 | even = mCalendar->event(item->event()->uid()); |
321 | if (even) { | 321 | if (even) { |
322 | if (revision < even->revision()) | 322 | if (revision < even->revision()) |
323 | even->setRevision(even->revision()+1); | 323 | even->setRevision(even->revision()+1); |
324 | else | 324 | else |
325 | even->setRevision(revision+1); | 325 | even->setRevision(revision+1); |
326 | Event *ev = new Event(*even); | 326 | Event *ev = new Event(*even); |
327 | mOutgoing->addMessage(ev,Scheduler::Request); | 327 | mOutgoing->addMessage(ev,Scheduler::Request); |
328 | delete(ev); | 328 | delete(ev); |
329 | } | 329 | } |
330 | mScheduler->deleteTransaction(item->event()); | 330 | mScheduler->deleteTransaction(item->event()); |
331 | delete item; | 331 | delete item; |
332 | emit numMessagesChanged(mMessageListView->childCount()); | 332 | emit numMessagesChanged(mMessageListView->childCount()); |
333 | return true; | 333 | return true; |
334 | } else { | 334 | } else { |
335 | kdDebug() << "IncomingDialog::Counter:Decline" << endl; | 335 | kdDebug() << "IncomingDialog::Counter:Decline" << endl; |
336 | //the counter-sender's email is missing... | 336 | //the counter-sender's email is missing... |
337 | //now every attendee gets an declinecounter :-( | 337 | //now every attendee gets an declinecounter :-( |
338 | mOutgoing->addMessage(counterEvent,Scheduler::Declinecounter); | 338 | mOutgoing->addMessage(counterEvent,Scheduler::Declinecounter); |
339 | delete item; | 339 | delete item; |
340 | emit numMessagesChanged(mMessageListView->childCount()); | 340 | emit numMessagesChanged(mMessageListView->childCount()); |
341 | mScheduler->deleteTransaction(item->event()); | 341 | mScheduler->deleteTransaction(item->event()); |
342 | delete item; | 342 | delete item; |
343 | emit numMessagesChanged(mMessageListView->childCount()); | 343 | emit numMessagesChanged(mMessageListView->childCount()); |
344 | return true; | 344 | return true; |
345 | } | 345 | } |
346 | //mScheduler->deleteTransaction(item->event()); | 346 | //mScheduler->deleteTransaction(item->event()); |
347 | delete item; | 347 | delete item; |
348 | emit numMessagesChanged(mMessageListView->childCount()); | 348 | emit numMessagesChanged(mMessageListView->childCount()); |
349 | return false; | 349 | return false; |
350 | } | 350 | } |
351 | 351 | ||
352 | bool IncomingDialog::incomeDeclineCounter(ScheduleItemIn *item) | 352 | bool IncomingDialog::incomeDeclineCounter(ScheduleItemIn *item) |
353 | { | 353 | { |
354 | Event *even = mCalendar->event(item->event()->uid()); | 354 | Event *even = mCalendar->event(item->event()->uid()); |
355 | if (even) { | 355 | if (even) { |
356 | mOutgoing->addMessage(even,Scheduler::Refresh); | 356 | mOutgoing->addMessage(even,Scheduler::Refresh); |
357 | mScheduler->deleteTransaction(item->event()); | 357 | mScheduler->deleteTransaction(item->event()); |
358 | delete item; | 358 | delete item; |
359 | emit numMessagesChanged(mMessageListView->childCount()); | 359 | emit numMessagesChanged(mMessageListView->childCount()); |
360 | return true; | 360 | return true; |
361 | } | 361 | } |
362 | mScheduler->deleteTransaction(item->event()); | 362 | mScheduler->deleteTransaction(item->event()); |
363 | delete item; | 363 | delete item; |
364 | emit numMessagesChanged(mMessageListView->childCount()); | 364 | emit numMessagesChanged(mMessageListView->childCount()); |
365 | return false; | 365 | return false; |
366 | } | 366 | } |
367 | 367 | ||
368 | bool IncomingDialog::incomeAdd(ScheduleItemIn *item) | 368 | bool IncomingDialog::incomeAdd(ScheduleItemIn *item) |
369 | { | 369 | { |
370 | IncidenceBase *incidence = ((ScheduleItemIn *)item)->event(); | 370 | IncidenceBase *incidence = ((ScheduleItemIn *)item)->event(); |
371 | if (incidence->type() == "Event" ) { | 371 | if (incidence->typeID() == eventID ) { |
372 | Event *refr = static_cast<Event *>( incidence ); | 372 | Event *refr = static_cast<Event *>( incidence ); |
373 | mOutgoing->addMessage(refr,Scheduler::Refresh); | 373 | mOutgoing->addMessage(refr,Scheduler::Refresh); |
374 | mScheduler->deleteTransaction( incidence ); | 374 | mScheduler->deleteTransaction( incidence ); |
375 | delete item; | 375 | delete item; |
376 | emit numMessagesChanged(mMessageListView->childCount()); | 376 | emit numMessagesChanged(mMessageListView->childCount()); |
377 | return true; | 377 | return true; |
378 | } | 378 | } |
379 | else { | 379 | else { |
380 | kdDebug() << "IncomingDialog::incomeAdd - only Events are supportet yet" << endl; | 380 | kdDebug() << "IncomingDialog::incomeAdd - only Events are supportet yet" << endl; |
381 | mScheduler->deleteTransaction( incidence ); | 381 | mScheduler->deleteTransaction( incidence ); |
382 | delete item; | 382 | delete item; |
383 | emit numMessagesChanged(mMessageListView->childCount()); | 383 | emit numMessagesChanged(mMessageListView->childCount()); |
384 | return false; | 384 | return false; |
385 | } | 385 | } |
386 | } | 386 | } |
387 | 387 | ||
388 | bool IncomingDialog::incomeDefault(ScheduleItemIn *item) | 388 | bool IncomingDialog::incomeDefault(ScheduleItemIn *item) |
389 | { | 389 | { |
390 | if (mScheduler->acceptTransaction(item->event(),item->method(),item->status())) { | 390 | if (mScheduler->acceptTransaction(item->event(),item->method(),item->status())) { |
391 | delete item; | 391 | delete item; |
392 | emit numMessagesChanged(mMessageListView->childCount()); | 392 | emit numMessagesChanged(mMessageListView->childCount()); |
393 | return true; | 393 | return true; |
394 | } | 394 | } |
395 | else { | 395 | else { |
396 | KMessageBox::error(this,i18n("Unable to accept the IMIP-message. It may be a problem with the email addresses.")); | 396 | KMessageBox::error(this,i18n("Unable to accept the IMIP-message. It may be a problem with the email addresses.")); |
397 | kdDebug() << "IncomingDialog::acceptMessage(): Error!" << endl; | 397 | kdDebug() << "IncomingDialog::acceptMessage(): Error!" << endl; |
398 | return false; | 398 | return false; |
399 | } | 399 | } |
400 | return false; | 400 | return false; |
401 | } | 401 | } |
402 | 402 | ||
403 | bool IncomingDialog::incomeRequest(ScheduleItemIn *item) | 403 | bool IncomingDialog::incomeRequest(ScheduleItemIn *item) |
404 | { | 404 | { |
405 | if (item->event()->type()=="FreeBusy") { | 405 | if (item->event()->typeID() == freebusyID ) { |
406 | //handel freebusy request | 406 | //handel freebusy request |
407 | IncidenceBase *inc = item->event(); | 407 | IncidenceBase *inc = item->event(); |
408 | QDateTime start = inc->dtStart(); | 408 | QDateTime start = inc->dtStart(); |
409 | QDateTime end = start.addDays(inc->duration()/86400); | 409 | QDateTime end = start.addDays(inc->duration()/86400); |
410 | 410 | ||
411 | FreeBusy *freebusy = new FreeBusy(mCalendar, start, end); | 411 | FreeBusy *freebusy = new FreeBusy(mCalendar, start, end); |
412 | freebusy->setOrganizer(inc->organizer()); | 412 | freebusy->setOrganizer(inc->organizer()); |
413 | Attendee *att = new Attendee(KOPrefs::instance()->fullName(), | 413 | Attendee *att = new Attendee(KOPrefs::instance()->fullName(), |
414 | KOPrefs::instance()->email()); | 414 | KOPrefs::instance()->email()); |
415 | freebusy->addAttendee(att); | 415 | freebusy->addAttendee(att); |
416 | 416 | ||
417 | kdDebug() << "calendarview: schedule_publish_freebusy: startDate: " | 417 | kdDebug() << "calendarview: schedule_publish_freebusy: startDate: " |
418 | << KGlobal::locale()->formatDateTime( start ) << " End Date: " | 418 | << KGlobal::locale()->formatDateTime( start ) << " End Date: " |
419 | << KGlobal::locale()->formatDateTime( end ) << endl; | 419 | << KGlobal::locale()->formatDateTime( end ) << endl; |
420 | 420 | ||
421 | if (mOutgoing->addMessage(freebusy,Scheduler::Reply)) { | 421 | if (mOutgoing->addMessage(freebusy,Scheduler::Reply)) { |
422 | delete item; | 422 | delete item; |
423 | emit numMessagesChanged(mMessageListView->childCount()); | 423 | emit numMessagesChanged(mMessageListView->childCount()); |
424 | delete(freebusy); | 424 | delete(freebusy); |
425 | return true; | 425 | return true; |
426 | } | 426 | } |
427 | return false; | 427 | return false; |
428 | } else { | 428 | } else { |
429 | return incomeDefault(item); | 429 | return incomeDefault(item); |
430 | } | 430 | } |
431 | return false; | 431 | return false; |
432 | } | 432 | } |
433 | 433 | ||
434 | bool IncomingDialog::automaticAction(ScheduleItemIn *item) | 434 | bool IncomingDialog::automaticAction(ScheduleItemIn *item) |
435 | { | 435 | { |
436 | bool autoAction = false; | 436 | bool autoAction = false; |
437 | IncidenceBase *inc = item->event(); | 437 | IncidenceBase *inc = item->event(); |
438 | Scheduler::Method method = item->method(); | 438 | Scheduler::Method method = item->method(); |
439 | 439 | ||
440 | if( inc->type()=="FreeBusy" ) { | 440 | if( inc->typeID() == freebusyID ) { |
441 | if ( method==Scheduler::Request ) { | 441 | if ( method==Scheduler::Request ) { |
442 | if ( KOPrefs::instance()->mIMIPAutoFreeBusy==KOPrefs::addressbookAuto ) { | 442 | if ( KOPrefs::instance()->mIMIPAutoFreeBusy==KOPrefs::addressbookAuto ) { |
443 | // reply freebusy information | 443 | // reply freebusy information |
444 | if ( checkOrganizerInAddressbook(inc->organizer()) ) { | 444 | if ( checkOrganizerInAddressbook(inc->organizer()) ) { |
445 | incomeRequest(item); | 445 | incomeRequest(item); |
446 | } | 446 | } |
447 | } else return false; | 447 | } else return false; |
448 | } else { | 448 | } else { |
449 | 449 | ||
450 | if ( method==Scheduler::Reply ) { | 450 | if ( method==Scheduler::Reply ) { |
451 | if ( KOPrefs::instance()->mIMIPAutoFreeBusy==KOPrefs::addressbookAuto ) { | 451 | if ( KOPrefs::instance()->mIMIPAutoFreeBusy==KOPrefs::addressbookAuto ) { |
452 | // insert freebusy information | 452 | // insert freebusy information |
453 | //if ( checkAttendeesInAddressbook(inc) ) | 453 | //if ( checkAttendeesInAddressbook(inc) ) |
454 | 454 | ||
455 | } else return false; | 455 | } else return false; |
456 | } else { | 456 | } else { |
457 | if ( method==Scheduler::Publish) { | 457 | if ( method==Scheduler::Publish) { |
458 | if ( KOPrefs::instance()->mIMIPAutoFreeBusy==KOPrefs::addressbookAuto ) { | 458 | if ( KOPrefs::instance()->mIMIPAutoFreeBusy==KOPrefs::addressbookAuto ) { |
459 | // insert freebusy information | 459 | // insert freebusy information |
460 | //if ( checkOrganizerInAddressbook(inc->organizer()) ) | 460 | //if ( checkOrganizerInAddressbook(inc->organizer()) ) |
461 | 461 | ||
462 | } | 462 | } |
463 | } else return false; | 463 | } else return false; |
464 | } | 464 | } |
465 | } | 465 | } |
466 | } | 466 | } |
467 | 467 | ||
468 | if ( inc->type()=="Event" ) { | 468 | if ( inc->typeID() == eventID ) { |
469 | if ( method==Scheduler::Request || method==Scheduler::Publish ) { | 469 | if ( method==Scheduler::Request || method==Scheduler::Publish ) { |
470 | if ( KOPrefs::instance()->mIMIPAutoInsertRequest==KOPrefs::addressbookAuto ) { | 470 | if ( KOPrefs::instance()->mIMIPAutoInsertRequest==KOPrefs::addressbookAuto ) { |
471 | // insert event | 471 | // insert event |
472 | if ( checkOrganizerInAddressbook(inc->organizer()) ) | 472 | if ( checkOrganizerInAddressbook(inc->organizer()) ) |
473 | autoAction = acceptMessage(item); | 473 | autoAction = acceptMessage(item); |
474 | } else return false; | 474 | } else return false; |
475 | } else { | 475 | } else { |
476 | 476 | ||
477 | if ( method==Scheduler::Reply ) { | 477 | if ( method==Scheduler::Reply ) { |
478 | if ( KOPrefs::instance()->mIMIPAutoInsertReply==KOPrefs::addressbookAuto ) { | 478 | if ( KOPrefs::instance()->mIMIPAutoInsertReply==KOPrefs::addressbookAuto ) { |
479 | // update event information | 479 | // update event information |
480 | if ( checkAttendeesInAddressbook(inc) ) | 480 | if ( checkAttendeesInAddressbook(inc) ) |
481 | autoAction = acceptMessage(item); | 481 | autoAction = acceptMessage(item); |
482 | } else return false; | 482 | } else return false; |
483 | } else { | 483 | } else { |
484 | 484 | ||
485 | if ( method==Scheduler::Refresh ) { | 485 | if ( method==Scheduler::Refresh ) { |
486 | if ( KOPrefs::instance()->mIMIPAutoRefresh==KOPrefs::addressbookAuto ) { | 486 | if ( KOPrefs::instance()->mIMIPAutoRefresh==KOPrefs::addressbookAuto ) { |
487 | // send refresh-information | 487 | // send refresh-information |
488 | if ( checkAttendeesInAddressbook(inc) ) | 488 | if ( checkAttendeesInAddressbook(inc) ) |
489 | autoAction = acceptMessage(item); | 489 | autoAction = acceptMessage(item); |
490 | else return false; | 490 | else return false; |
491 | } else return false; | 491 | } else return false; |
492 | } else return false; | 492 | } else return false; |
493 | } | 493 | } |
494 | } | 494 | } |
495 | } | 495 | } |
496 | return autoAction; | 496 | return autoAction; |
497 | } | 497 | } |
498 | 498 | ||
499 | bool IncomingDialog::checkOrganizerInAddressbook(QString organizer) | 499 | bool IncomingDialog::checkOrganizerInAddressbook(QString organizer) |
500 | { | 500 | { |
501 | bool inBook = false; | 501 | bool inBook = false; |
502 | #ifndef KORG_NOKABC | 502 | #ifndef KORG_NOKABC |
503 | KABC::AddressBook *add_book = KABC::StdAddressBook::self(); | 503 | KABC::AddressBook *add_book = KABC::StdAddressBook::self(); |
504 | KABC::Addressee::List addressList; | 504 | KABC::Addressee::List addressList; |
505 | addressList = add_book->findByEmail(organizer); | 505 | addressList = add_book->findByEmail(organizer); |
506 | if ( addressList.size()>0 ) inBook = true; | 506 | if ( addressList.size()>0 ) inBook = true; |
507 | #endif | 507 | #endif |
508 | return inBook; | 508 | return inBook; |
509 | } | 509 | } |
510 | 510 | ||
511 | bool IncomingDialog::checkAttendeesInAddressbook(IncidenceBase *inc) | 511 | bool IncomingDialog::checkAttendeesInAddressbook(IncidenceBase *inc) |
512 | { | 512 | { |
513 | bool inBook = false; | 513 | bool inBook = false; |
514 | #ifndef KORG_NOKABC | 514 | #ifndef KORG_NOKABC |
515 | KABC::AddressBook *add_book = KABC::StdAddressBook::self(); | 515 | KABC::AddressBook *add_book = KABC::StdAddressBook::self(); |
516 | KABC::Addressee::List addressList; | 516 | KABC::Addressee::List addressList; |