author | zautrix <zautrix> | 2005-04-20 10:43:07 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-04-20 10:43:07 (UTC) |
commit | f23afbb9c09b4ee0f00af8f04ee4458181792cd0 (patch) (unidiff) | |
tree | 807bcaf329d257ec2a0c5c6e3a6afc7ab53a6078 /libkcal | |
parent | 03f7f26ad34f50dd86f335c7c5a25a292d642793 (diff) | |
download | kdepimpi-f23afbb9c09b4ee0f00af8f04ee4458181792cd0.zip kdepimpi-f23afbb9c09b4ee0f00af8f04ee4458181792cd0.tar.gz kdepimpi-f23afbb9c09b4ee0f00af8f04ee4458181792cd0.tar.bz2 |
fixes
-rw-r--r-- | libkcal/icalformatimpl.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libkcal/icalformatimpl.cpp b/libkcal/icalformatimpl.cpp index fe7413f..2405682 100644 --- a/libkcal/icalformatimpl.cpp +++ b/libkcal/icalformatimpl.cpp | |||
@@ -634,153 +634,156 @@ icalproperty *ICalFormatImpl::writeRecurrenceRule(Recurrence *recur) | |||
634 | } | 634 | } |
635 | } | 635 | } |
636 | } | 636 | } |
637 | // r.by_day[index2] = ICAL_RECURRENCE_ARRAY_MAX; | 637 | // r.by_day[index2] = ICAL_RECURRENCE_ARRAY_MAX; |
638 | } | 638 | } |
639 | break; | 639 | break; |
640 | case Recurrence::rYearlyDay: | 640 | case Recurrence::rYearlyDay: |
641 | r.freq = ICAL_YEARLY_RECURRENCE; | 641 | r.freq = ICAL_YEARLY_RECURRENCE; |
642 | 642 | ||
643 | tmpDays = recur->yearNums(); | 643 | tmpDays = recur->yearNums(); |
644 | for (tmpDay = tmpDays.first(); | 644 | for (tmpDay = tmpDays.first(); |
645 | tmpDay; | 645 | tmpDay; |
646 | tmpDay = tmpDays.next()) { | 646 | tmpDay = tmpDays.next()) { |
647 | r.by_year_day[index++] = *tmpDay; | 647 | r.by_year_day[index++] = *tmpDay; |
648 | } | 648 | } |
649 | // r.by_year_day[index] = ICAL_RECURRENCE_ARRAY_MAX; | 649 | // r.by_year_day[index] = ICAL_RECURRENCE_ARRAY_MAX; |
650 | break; | 650 | break; |
651 | default: | 651 | default: |
652 | r.freq = ICAL_NO_RECURRENCE; | 652 | r.freq = ICAL_NO_RECURRENCE; |
653 | kdDebug(5800) << "ICalFormatImpl::writeRecurrence(): no recurrence" << endl; | 653 | kdDebug(5800) << "ICalFormatImpl::writeRecurrence(): no recurrence" << endl; |
654 | break; | 654 | break; |
655 | } | 655 | } |
656 | 656 | ||
657 | r.interval = recur->frequency(); | 657 | r.interval = recur->frequency(); |
658 | 658 | ||
659 | if (recur->duration() > 0) { | 659 | if (recur->duration() > 0) { |
660 | r.count = recur->duration(); | 660 | r.count = recur->duration(); |
661 | } else if (recur->duration() == -1) { | 661 | } else if (recur->duration() == -1) { |
662 | r.count = 0; | 662 | r.count = 0; |
663 | } else { | 663 | } else { |
664 | if (datetime) | 664 | if (datetime) |
665 | r.until = writeICalDateTime(recur->endDateTime()); | 665 | r.until = writeICalDateTime(recur->endDateTime()); |
666 | else | 666 | else |
667 | r.until = writeICalDate(recur->endDate()); | 667 | r.until = writeICalDate(recur->endDate()); |
668 | } | 668 | } |
669 | 669 | ||
670 | // Debug output | 670 | // Debug output |
671 | #if 0 | 671 | #if 0 |
672 | const char *str = icalrecurrencetype_as_string(&r); | 672 | const char *str = icalrecurrencetype_as_string(&r); |
673 | if (str) { | 673 | if (str) { |
674 | kdDebug(5800) << " String: " << str << endl; | 674 | kdDebug(5800) << " String: " << str << endl; |
675 | } else { | 675 | } else { |
676 | kdDebug(5800) << " No String" << endl; | 676 | kdDebug(5800) << " No String" << endl; |
677 | } | 677 | } |
678 | #endif | 678 | #endif |
679 | 679 | ||
680 | return icalproperty_new_rrule(r); | 680 | return icalproperty_new_rrule(r); |
681 | } | 681 | } |
682 | 682 | ||
683 | icalcomponent *ICalFormatImpl::writeAlarm(Alarm *alarm) | 683 | icalcomponent *ICalFormatImpl::writeAlarm(Alarm *alarm) |
684 | { | 684 | { |
685 | icalcomponent *a = icalcomponent_new(ICAL_VALARM_COMPONENT); | 685 | icalcomponent *a = icalcomponent_new(ICAL_VALARM_COMPONENT); |
686 | 686 | ||
687 | icalproperty_action action; | 687 | icalproperty_action action; |
688 | icalattach *attach = 0; | 688 | icalattach *attach = 0; |
689 | 689 | ||
690 | switch (alarm->type()) { | 690 | switch (alarm->type()) { |
691 | case Alarm::Procedure: | 691 | case Alarm::Procedure: |
692 | action = ICAL_ACTION_PROCEDURE; | 692 | action = ICAL_ACTION_PROCEDURE; |
693 | attach = icalattach_new_from_url( QFile::encodeName(alarm->programFile()).data() ); | 693 | attach = icalattach_new_from_url( QFile::encodeName(alarm->programFile()).data() ); |
694 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); | 694 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); |
695 | if (!alarm->programArguments().isEmpty()) { | 695 | if (!alarm->programArguments().isEmpty()) { |
696 | icalcomponent_add_property(a,icalproperty_new_description(alarm->programArguments().utf8())); | 696 | icalcomponent_add_property(a,icalproperty_new_description(alarm->programArguments().utf8())); |
697 | } | 697 | } |
698 | icalattach_unref( attach ); | ||
698 | break; | 699 | break; |
699 | case Alarm::Audio: | 700 | case Alarm::Audio: |
700 | action = ICAL_ACTION_AUDIO; | 701 | action = ICAL_ACTION_AUDIO; |
701 | if (!alarm->audioFile().isEmpty()) { | 702 | if (!alarm->audioFile().isEmpty()) { |
702 | attach = icalattach_new_from_url(QFile::encodeName( alarm->audioFile() ).data()); | 703 | attach = icalattach_new_from_url(QFile::encodeName( alarm->audioFile() ).data()); |
703 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); | 704 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); |
705 | icalattach_unref( attach ); | ||
704 | } | 706 | } |
705 | break; | 707 | break; |
706 | case Alarm::Email: { | 708 | case Alarm::Email: { |
707 | action = ICAL_ACTION_EMAIL; | 709 | action = ICAL_ACTION_EMAIL; |
708 | QValueList<Person> addresses = alarm->mailAddresses(); | 710 | QValueList<Person> addresses = alarm->mailAddresses(); |
709 | for (QValueList<Person>::Iterator ad = addresses.begin(); ad != addresses.end(); ++ad) { | 711 | for (QValueList<Person>::Iterator ad = addresses.begin(); ad != addresses.end(); ++ad) { |
710 | icalproperty *p = icalproperty_new_attendee("MAILTO:" + (*ad).email().utf8()); | 712 | icalproperty *p = icalproperty_new_attendee("MAILTO:" + (*ad).email().utf8()); |
711 | if (!(*ad).name().isEmpty()) { | 713 | if (!(*ad).name().isEmpty()) { |
712 | icalproperty_add_parameter(p,icalparameter_new_cn((*ad).name().utf8())); | 714 | icalproperty_add_parameter(p,icalparameter_new_cn((*ad).name().utf8())); |
713 | } | 715 | } |
714 | icalcomponent_add_property(a,p); | 716 | icalcomponent_add_property(a,p); |
715 | } | 717 | } |
716 | icalcomponent_add_property(a,icalproperty_new_summary(alarm->mailSubject().utf8())); | 718 | icalcomponent_add_property(a,icalproperty_new_summary(alarm->mailSubject().utf8())); |
717 | icalcomponent_add_property(a,icalproperty_new_description(alarm->text().utf8())); | 719 | icalcomponent_add_property(a,icalproperty_new_description(alarm->text().utf8())); |
718 | QStringList attachments = alarm->mailAttachments(); | 720 | QStringList attachments = alarm->mailAttachments(); |
719 | if (attachments.count() > 0) { | 721 | if (attachments.count() > 0) { |
720 | for (QStringList::Iterator at = attachments.begin(); at != attachments.end(); ++at) { | 722 | for (QStringList::Iterator at = attachments.begin(); at != attachments.end(); ++at) { |
721 | attach = icalattach_new_from_url(QFile::encodeName( *at ).data()); | 723 | attach = icalattach_new_from_url(QFile::encodeName( *at ).data()); |
722 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); | 724 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); |
725 | icalattach_unref( attach ); | ||
723 | } | 726 | } |
724 | } | 727 | } |
725 | break; | 728 | break; |
726 | } | 729 | } |
727 | case Alarm::Display: | 730 | case Alarm::Display: |
728 | action = ICAL_ACTION_DISPLAY; | 731 | action = ICAL_ACTION_DISPLAY; |
729 | icalcomponent_add_property(a,icalproperty_new_description(alarm->text().utf8())); | 732 | icalcomponent_add_property(a,icalproperty_new_description(alarm->text().utf8())); |
730 | break; | 733 | break; |
731 | case Alarm::Invalid: | 734 | case Alarm::Invalid: |
732 | default: | 735 | default: |
733 | kdDebug(5800) << "Unknown type of alarm" << endl; | 736 | kdDebug(5800) << "Unknown type of alarm" << endl; |
734 | action = ICAL_ACTION_NONE; | 737 | action = ICAL_ACTION_NONE; |
735 | break; | 738 | break; |
736 | } | 739 | } |
737 | icalcomponent_add_property(a,icalproperty_new_action(action)); | 740 | icalcomponent_add_property(a,icalproperty_new_action(action)); |
738 | 741 | ||
739 | // Trigger time | 742 | // Trigger time |
740 | icaltriggertype trigger; | 743 | icaltriggertype trigger; |
741 | if ( alarm->hasTime() ) { | 744 | if ( alarm->hasTime() ) { |
742 | trigger.time = writeICalDateTime(alarm->time()); | 745 | trigger.time = writeICalDateTime(alarm->time()); |
743 | trigger.duration = icaldurationtype_null_duration(); | 746 | trigger.duration = icaldurationtype_null_duration(); |
744 | } else { | 747 | } else { |
745 | trigger.time = icaltime_null_time(); | 748 | trigger.time = icaltime_null_time(); |
746 | Duration offset; | 749 | Duration offset; |
747 | if ( alarm->hasStartOffset() ) | 750 | if ( alarm->hasStartOffset() ) |
748 | offset = alarm->startOffset(); | 751 | offset = alarm->startOffset(); |
749 | else | 752 | else |
750 | offset = alarm->endOffset(); | 753 | offset = alarm->endOffset(); |
751 | trigger.duration = icaldurationtype_from_int( offset.asSeconds() ); | 754 | trigger.duration = icaldurationtype_from_int( offset.asSeconds() ); |
752 | } | 755 | } |
753 | icalproperty *p = icalproperty_new_trigger(trigger); | 756 | icalproperty *p = icalproperty_new_trigger(trigger); |
754 | if ( alarm->hasEndOffset() ) | 757 | if ( alarm->hasEndOffset() ) |
755 | icalproperty_add_parameter(p,icalparameter_new_related(ICAL_RELATED_END)); | 758 | icalproperty_add_parameter(p,icalparameter_new_related(ICAL_RELATED_END)); |
756 | icalcomponent_add_property(a,p); | 759 | icalcomponent_add_property(a,p); |
757 | 760 | ||
758 | // Repeat count and duration | 761 | // Repeat count and duration |
759 | if (alarm->repeatCount()) { | 762 | if (alarm->repeatCount()) { |
760 | icalcomponent_add_property(a,icalproperty_new_repeat(alarm->repeatCount())); | 763 | icalcomponent_add_property(a,icalproperty_new_repeat(alarm->repeatCount())); |
761 | icalcomponent_add_property(a,icalproperty_new_duration( | 764 | icalcomponent_add_property(a,icalproperty_new_duration( |
762 | icaldurationtype_from_int(alarm->snoozeTime()*60))); | 765 | icaldurationtype_from_int(alarm->snoozeTime()*60))); |
763 | } | 766 | } |
764 | 767 | ||
765 | // Custom properties | 768 | // Custom properties |
766 | QMap<QCString, QString> custom = alarm->customProperties(); | 769 | QMap<QCString, QString> custom = alarm->customProperties(); |
767 | for (QMap<QCString, QString>::Iterator c = custom.begin(); c != custom.end(); ++c) { | 770 | for (QMap<QCString, QString>::Iterator c = custom.begin(); c != custom.end(); ++c) { |
768 | icalproperty *p = icalproperty_new_x(c.data().utf8()); | 771 | icalproperty *p = icalproperty_new_x(c.data().utf8()); |
769 | icalproperty_set_x_name(p,c.key()); | 772 | icalproperty_set_x_name(p,c.key()); |
770 | icalcomponent_add_property(a,p); | 773 | icalcomponent_add_property(a,p); |
771 | } | 774 | } |
772 | 775 | ||
773 | return a; | 776 | return a; |
774 | } | 777 | } |
775 | 778 | ||
776 | Todo *ICalFormatImpl::readTodo(icalcomponent *vtodo) | 779 | Todo *ICalFormatImpl::readTodo(icalcomponent *vtodo) |
777 | { | 780 | { |
778 | Todo *todo = new Todo; | 781 | Todo *todo = new Todo; |
779 | 782 | ||
780 | readIncidence(vtodo,todo); | 783 | readIncidence(vtodo,todo); |
781 | 784 | ||
782 | icalproperty *p = icalcomponent_get_first_property(vtodo,ICAL_ANY_PROPERTY); | 785 | icalproperty *p = icalcomponent_get_first_property(vtodo,ICAL_ANY_PROPERTY); |
783 | 786 | ||
784 | // int intvalue; | 787 | // int intvalue; |
785 | icaltimetype icaltime; | 788 | icaltimetype icaltime; |
786 | 789 | ||