-rw-r--r-- | libkcal/vcalformat.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/libkcal/vcalformat.cpp b/libkcal/vcalformat.cpp index 076cd3f..9307f12 100644 --- a/libkcal/vcalformat.cpp +++ b/libkcal/vcalformat.cpp | |||
@@ -326,64 +326,66 @@ VObject *VCalFormat::eventToVTodo(const Todo *anEvent) | |||
326 | for ( QStringList::Iterator it = tmpStrList.begin(); | 326 | for ( QStringList::Iterator it = tmpStrList.begin(); |
327 | it != tmpStrList.end(); | 327 | it != tmpStrList.end(); |
328 | ++it ) { | 328 | ++it ) { |
329 | catStr = *it; | 329 | catStr = *it; |
330 | if (catStr[0] == ' ') | 330 | if (catStr[0] == ' ') |
331 | tmpStr += catStr.mid(1); | 331 | tmpStr += catStr.mid(1); |
332 | else | 332 | else |
333 | tmpStr += catStr; | 333 | tmpStr += catStr; |
334 | // this must be a ';' character as the vCalendar specification requires! | 334 | // this must be a ';' character as the vCalendar specification requires! |
335 | // vcc.y has been hacked to translate the ';' to a ',' when the vcal is | 335 | // vcc.y has been hacked to translate the ';' to a ',' when the vcal is |
336 | // read in. | 336 | // read in. |
337 | tmpStr += ";"; | 337 | tmpStr += ";"; |
338 | } | 338 | } |
339 | if (!tmpStr.isEmpty()) { | 339 | if (!tmpStr.isEmpty()) { |
340 | tmpStr.truncate(tmpStr.length()-1); | 340 | tmpStr.truncate(tmpStr.length()-1); |
341 | addPropValue(vtodo, VCCategoriesProp, tmpStr.local8Bit()); | 341 | addPropValue(vtodo, VCCategoriesProp, tmpStr.local8Bit()); |
342 | } | 342 | } |
343 | 343 | ||
344 | // alarm stuff | 344 | // alarm stuff |
345 | kdDebug(5800) << "vcalformat::eventToVTodo was called" << endl; | 345 | kdDebug(5800) << "vcalformat::eventToVTodo was called" << endl; |
346 | QPtrList<Alarm> alarms = anEvent->alarms(); | 346 | QPtrList<Alarm> alarms = anEvent->alarms(); |
347 | Alarm* alarm; | 347 | Alarm* alarm; |
348 | for (alarm = alarms.first(); alarm; alarm = alarms.next()) { | 348 | for (alarm = alarms.first(); alarm; alarm = alarms.next()) { |
349 | if (alarm->enabled()) { | 349 | if (alarm->enabled()) { |
350 | VObject *a = addProp(vtodo, VCDAlarmProp); | 350 | VObject *a; |
351 | tmpStr = qDateTimeToISO(alarm->time()); | 351 | tmpStr = qDateTimeToISO(alarm->time()); |
352 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); | ||
353 | addPropValue(a, VCRepeatCountProp, "1"); | ||
354 | addPropValue(a, VCDisplayStringProp, "beep!"); | ||
355 | if (alarm->type() == Alarm::Audio) { | 352 | if (alarm->type() == Alarm::Audio) { |
356 | a = addProp(vtodo, VCAAlarmProp); | 353 | a = addProp(vtodo, VCAAlarmProp); |
357 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); | 354 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); |
358 | addPropValue(a, VCRepeatCountProp, "1"); | 355 | addPropValue(a, VCRepeatCountProp, "1"); |
359 | addPropValue(a, VCAudioContentProp, QFile::encodeName(alarm->audioFile())); | 356 | addPropValue(a, VCAudioContentProp, QFile::encodeName(alarm->audioFile())); |
360 | } | 357 | } |
361 | else if (alarm->type() == Alarm::Procedure) { | 358 | else if (alarm->type() == Alarm::Procedure) { |
362 | a = addProp(vtodo, VCPAlarmProp); | 359 | a = addProp(vtodo, VCPAlarmProp); |
363 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); | 360 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); |
364 | addPropValue(a, VCRepeatCountProp, "1"); | 361 | addPropValue(a, VCRepeatCountProp, "1"); |
365 | addPropValue(a, VCProcedureNameProp, QFile::encodeName(alarm->programFile())); | 362 | addPropValue(a, VCProcedureNameProp, QFile::encodeName(alarm->programFile())); |
363 | } else { | ||
364 | a = addProp(vtodo, VCDAlarmProp); | ||
365 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); | ||
366 | addPropValue(a, VCRepeatCountProp, "1"); | ||
367 | addPropValue(a, VCDisplayStringProp, "beep!"); | ||
366 | } | 368 | } |
367 | } | 369 | } |
368 | } | 370 | } |
369 | 371 | ||
370 | if (anEvent->pilotId()) { | 372 | if (anEvent->pilotId()) { |
371 | // pilot sync stuff | 373 | // pilot sync stuff |
372 | tmpStr.sprintf("%i",anEvent->pilotId()); | 374 | tmpStr.sprintf("%i",anEvent->pilotId()); |
373 | addPropValue(vtodo, XPilotIdProp, tmpStr.local8Bit()); | 375 | addPropValue(vtodo, XPilotIdProp, tmpStr.local8Bit()); |
374 | tmpStr.sprintf("%i",anEvent->syncStatus()); | 376 | tmpStr.sprintf("%i",anEvent->syncStatus()); |
375 | addPropValue(vtodo, XPilotStatusProp, tmpStr.local8Bit()); | 377 | addPropValue(vtodo, XPilotStatusProp, tmpStr.local8Bit()); |
376 | } | 378 | } |
377 | 379 | ||
378 | return vtodo; | 380 | return vtodo; |
379 | } | 381 | } |
380 | 382 | ||
381 | VObject* VCalFormat::eventToVEvent(const Event *anEvent) | 383 | VObject* VCalFormat::eventToVEvent(const Event *anEvent) |
382 | { | 384 | { |
383 | VObject *vevent; | 385 | VObject *vevent; |
384 | QString tmpStr; | 386 | QString tmpStr; |
385 | QStringList tmpStrList; | 387 | QStringList tmpStrList; |
386 | 388 | ||
387 | vevent = newVObject(VCEventProp); | 389 | vevent = newVObject(VCEventProp); |
388 | 390 | ||
389 | // start and end time | 391 | // start and end time |
@@ -605,64 +607,67 @@ VObject* VCalFormat::eventToVEvent(const Event *anEvent) | |||
605 | tmpStr += ";"; | 607 | tmpStr += ";"; |
606 | } | 608 | } |
607 | if (!tmpStr.isEmpty()) { | 609 | if (!tmpStr.isEmpty()) { |
608 | tmpStr.truncate(tmpStr.length()-1); | 610 | tmpStr.truncate(tmpStr.length()-1); |
609 | addPropValue(vevent, VCCategoriesProp, tmpStr.local8Bit()); | 611 | addPropValue(vevent, VCCategoriesProp, tmpStr.local8Bit()); |
610 | } | 612 | } |
611 | 613 | ||
612 | // attachments | 614 | // attachments |
613 | // TODO: handle binary attachments! | 615 | // TODO: handle binary attachments! |
614 | QPtrList<Attachment> attachments = anEvent->attachments(); | 616 | QPtrList<Attachment> attachments = anEvent->attachments(); |
615 | for ( Attachment *at = attachments.first(); at; at = attachments.next() ) | 617 | for ( Attachment *at = attachments.first(); at; at = attachments.next() ) |
616 | addPropValue(vevent, VCAttachProp, at->uri().local8Bit()); | 618 | addPropValue(vevent, VCAttachProp, at->uri().local8Bit()); |
617 | 619 | ||
618 | // resources | 620 | // resources |
619 | tmpStrList = anEvent->resources(); | 621 | tmpStrList = anEvent->resources(); |
620 | tmpStr = tmpStrList.join(";"); | 622 | tmpStr = tmpStrList.join(";"); |
621 | if (!tmpStr.isEmpty()) | 623 | if (!tmpStr.isEmpty()) |
622 | addPropValue(vevent, VCResourcesProp, tmpStr.local8Bit()); | 624 | addPropValue(vevent, VCResourcesProp, tmpStr.local8Bit()); |
623 | 625 | ||
624 | // alarm stuff | 626 | // alarm stuff |
625 | QPtrList<Alarm> alarms = anEvent->alarms(); | 627 | QPtrList<Alarm> alarms = anEvent->alarms(); |
626 | Alarm* alarm; | 628 | Alarm* alarm; |
627 | for (alarm = alarms.first(); alarm; alarm = alarms.next()) { | 629 | for (alarm = alarms.first(); alarm; alarm = alarms.next()) { |
628 | if (alarm->enabled()) { | 630 | if (alarm->enabled()) { |
629 | VObject *a = addProp(vevent, VCDAlarmProp); | 631 | VObject *a ; |
630 | tmpStr = qDateTimeToISO(alarm->time()); | 632 | tmpStr = qDateTimeToISO(alarm->time()); |
631 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); | ||
632 | addPropValue(a, VCRepeatCountProp, "1"); | ||
633 | addPropValue(a, VCDisplayStringProp, "beep!"); | ||
634 | if (alarm->type() == Alarm::Audio) { | 633 | if (alarm->type() == Alarm::Audio) { |
635 | a = addProp(vevent, VCAAlarmProp); | 634 | a = addProp(vevent, VCAAlarmProp); |
636 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); | 635 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); |
637 | addPropValue(a, VCRepeatCountProp, "1"); | 636 | addPropValue(a, VCRepeatCountProp, "1"); |
638 | addPropValue(a, VCAudioContentProp, QFile::encodeName(alarm->audioFile())); | 637 | addPropValue(a, VCAudioContentProp, QFile::encodeName(alarm->audioFile())); |
639 | } | 638 | } |
640 | if (alarm->type() == Alarm::Procedure) { | 639 | if (alarm->type() == Alarm::Procedure) { |
641 | a = addProp(vevent, VCPAlarmProp); | 640 | a = addProp(vevent, VCPAlarmProp); |
642 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); | 641 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); |
643 | addPropValue(a, VCRepeatCountProp, "1"); | 642 | addPropValue(a, VCRepeatCountProp, "1"); |
644 | addPropValue(a, VCProcedureNameProp, QFile::encodeName(alarm->programFile())); | 643 | addPropValue(a, VCProcedureNameProp, QFile::encodeName(alarm->programFile())); |
644 | } else { | ||
645 | a = addProp(vevent, VCDAlarmProp); | ||
646 | addPropValue(a, VCRunTimeProp, tmpStr.local8Bit()); | ||
647 | addPropValue(a, VCRepeatCountProp, "1"); | ||
648 | addPropValue(a, VCDisplayStringProp, "beep!"); | ||
649 | |||
645 | } | 650 | } |
646 | } | 651 | } |
647 | } | 652 | } |
648 | 653 | ||
649 | // priority | 654 | // priority |
650 | tmpStr.sprintf("%i",anEvent->priority()); | 655 | tmpStr.sprintf("%i",anEvent->priority()); |
651 | addPropValue(vevent, VCPriorityProp, tmpStr.local8Bit()); | 656 | addPropValue(vevent, VCPriorityProp, tmpStr.local8Bit()); |
652 | 657 | ||
653 | // transparency | 658 | // transparency |
654 | tmpStr.sprintf("%i",anEvent->transparency()); | 659 | tmpStr.sprintf("%i",anEvent->transparency()); |
655 | addPropValue(vevent, VCTranspProp, tmpStr.local8Bit()); | 660 | addPropValue(vevent, VCTranspProp, tmpStr.local8Bit()); |
656 | 661 | ||
657 | // related event | 662 | // related event |
658 | if (anEvent->relatedTo()) { | 663 | if (anEvent->relatedTo()) { |
659 | addPropValue(vevent, VCRelatedToProp, | 664 | addPropValue(vevent, VCRelatedToProp, |
660 | anEvent->relatedTo()->uid().local8Bit()); | 665 | anEvent->relatedTo()->uid().local8Bit()); |
661 | } | 666 | } |
662 | 667 | ||
663 | if (anEvent->pilotId()) { | 668 | if (anEvent->pilotId()) { |
664 | // pilot sync stuff | 669 | // pilot sync stuff |
665 | tmpStr.sprintf("%i",anEvent->pilotId()); | 670 | tmpStr.sprintf("%i",anEvent->pilotId()); |
666 | addPropValue(vevent, XPilotIdProp, tmpStr.local8Bit()); | 671 | addPropValue(vevent, XPilotIdProp, tmpStr.local8Bit()); |
667 | tmpStr.sprintf("%i",anEvent->syncStatus()); | 672 | tmpStr.sprintf("%i",anEvent->syncStatus()); |
668 | addPropValue(vevent, XPilotStatusProp, tmpStr.local8Bit()); | 673 | addPropValue(vevent, XPilotStatusProp, tmpStr.local8Bit()); |