-rw-r--r-- | libkcal/icalformatimpl.cpp | 77 |
1 files changed, 37 insertions, 40 deletions
diff --git a/libkcal/icalformatimpl.cpp b/libkcal/icalformatimpl.cpp index e5c27a0..32a1337 100644 --- a/libkcal/icalformatimpl.cpp +++ b/libkcal/icalformatimpl.cpp | |||
@@ -192,6 +192,6 @@ icalcomponent *ICalFormatImpl::writeEvent(Event *event) | |||
192 | case Event::Transparent: | 192 | case Event::Transparent: |
193 | icalcomponent_add_property(vevent, icalproperty_new_transp("TRANSPARENT")); | 193 | icalcomponent_add_property(vevent, icalproperty_new_transp(ICAL_TRANSP_TRANSPARENT)); |
194 | break; | 194 | break; |
195 | case Event::Opaque: | 195 | case Event::Opaque: |
196 | icalcomponent_add_property(vevent, icalproperty_new_transp("OPAQUE")); | 196 | icalcomponent_add_property(vevent, icalproperty_new_transp(ICAL_TRANSP_OPAQUE)); |
197 | break; | 197 | break; |
@@ -324,16 +324,17 @@ void ICalFormatImpl::writeIncidence(icalcomponent *parent,Incidence *incidence) | |||
324 | // secrecy | 324 | // secrecy |
325 | const char *classStr; | 325 | enum icalproperty_class classInt; |
326 | switch (incidence->secrecy()) { | 326 | switch (incidence->secrecy()) { |
327 | case Incidence::SecrecyPublic: | 327 | case Incidence::SecrecyPublic: |
328 | classStr = "PUBLIC"; | 328 | classInt = ICAL_CLASS_PUBLIC; |
329 | break; | 329 | break; |
330 | case Incidence::SecrecyConfidential: | 330 | case Incidence::SecrecyConfidential: |
331 | classStr = "CONFIDENTIAL"; | 331 | classInt = ICAL_CLASS_CONFIDENTIAL; |
332 | break; | 332 | break; |
333 | case Incidence::SecrecyPrivate: | 333 | case Incidence::SecrecyPrivate: |
334 | classInt =ICAL_CLASS_PRIVATE ; | ||
334 | default: | 335 | default: |
335 | classStr = "PRIVATE"; | 336 | classInt =ICAL_CLASS_PRIVATE ; |
336 | break; | 337 | break; |
337 | } | 338 | } |
338 | icalcomponent_add_property(parent,icalproperty_new_class(classStr)); | 339 | icalcomponent_add_property(parent,icalproperty_new_class(classInt)); |
339 | 340 | ||
@@ -523,2 +524,3 @@ icalproperty *ICalFormatImpl::writeAttachment(Attachment *att) | |||
523 | { | 524 | { |
525 | #if 0 | ||
524 | icalattachtype* attach = icalattachtype_new(); | 526 | icalattachtype* attach = icalattachtype_new(); |
@@ -528,5 +530,9 @@ icalproperty *ICalFormatImpl::writeAttachment(Attachment *att) | |||
528 | icalattachtype_set_base64(attach, att->data(), 0); | 530 | icalattachtype_set_base64(attach, att->data(), 0); |
529 | 531 | #endif | |
532 | icalattach *attach; | ||
533 | if (att->isURI()) | ||
534 | attach = icalattach_new_from_url( att->uri().utf8().data()); | ||
535 | else | ||
536 | attach = icalattach_new_from_data ( (unsigned char *)att->data(), 0, 0); | ||
530 | icalproperty *p = icalproperty_new_attach(attach); | 537 | icalproperty *p = icalproperty_new_attach(attach); |
531 | |||
532 | if (!att->mimeType().isEmpty()) | 538 | if (!att->mimeType().isEmpty()) |
@@ -688,3 +694,3 @@ icalcomponent *ICalFormatImpl::writeAlarm(Alarm *alarm) | |||
688 | icalproperty_action action; | 694 | icalproperty_action action; |
689 | icalattachtype *attach = 0; | 695 | icalattach *attach = 0; |
690 | 696 | ||
@@ -693,6 +699,4 @@ icalcomponent *ICalFormatImpl::writeAlarm(Alarm *alarm) | |||
693 | action = ICAL_ACTION_PROCEDURE; | 699 | action = ICAL_ACTION_PROCEDURE; |
694 | attach = icalattachtype_new(); | 700 | attach = icalattach_new_from_url( QFile::encodeName(alarm->programFile()).data() ); |
695 | icalattachtype_set_url(attach,QFile::encodeName(alarm->programFile()).data()); | ||
696 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); | 701 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); |
697 | icalattachtype_free(attach); | ||
698 | if (!alarm->programArguments().isEmpty()) { | 702 | if (!alarm->programArguments().isEmpty()) { |
@@ -704,6 +708,4 @@ icalcomponent *ICalFormatImpl::writeAlarm(Alarm *alarm) | |||
704 | if (!alarm->audioFile().isEmpty()) { | 708 | if (!alarm->audioFile().isEmpty()) { |
705 | attach = icalattachtype_new(); | 709 | attach = icalattach_new_from_url(QFile::encodeName( alarm->audioFile() ).data()); |
706 | icalattachtype_set_url(attach,QFile::encodeName( alarm->audioFile() ).data()); | ||
707 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); | 710 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); |
708 | icalattachtype_free(attach); | ||
709 | } | 711 | } |
@@ -725,6 +727,4 @@ icalcomponent *ICalFormatImpl::writeAlarm(Alarm *alarm) | |||
725 | for (QStringList::Iterator at = attachments.begin(); at != attachments.end(); ++at) { | 727 | for (QStringList::Iterator at = attachments.begin(); at != attachments.end(); ++at) { |
726 | attach = icalattachtype_new(); | 728 | attach = icalattach_new_from_url(QFile::encodeName( *at ).data()); |
727 | icalattachtype_set_url(attach,QFile::encodeName( *at ).data()); | ||
728 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); | 729 | icalcomponent_add_property(a,icalproperty_new_attach(attach)); |
729 | icalattachtype_free(attach); | ||
730 | } | 730 | } |
@@ -940,6 +940,4 @@ Event *ICalFormatImpl::readEvent(icalcomponent *vevent) | |||
940 | 940 | ||
941 | |||
942 | case ICAL_TRANSP_PROPERTY: // Transparency | 941 | case ICAL_TRANSP_PROPERTY: // Transparency |
943 | transparency = QString::fromUtf8(icalproperty_get_transp(p)); | 942 | if(icalproperty_get_transp(p) == ICAL_TRANSP_TRANSPARENT ) |
944 | if( transparency == "TRANSPARENT" ) | ||
945 | event->setTransparency( Event::Transparent ); | 943 | event->setTransparency( Event::Transparent ); |
@@ -1120,3 +1118,3 @@ Attachment *ICalFormatImpl::readAttachment(icalproperty *attach) | |||
1120 | { | 1118 | { |
1121 | icalattachtype *a = icalproperty_get_attach(attach); | 1119 | icalattach *a = icalproperty_get_attach(attach); |
1122 | icalparameter_value v = ICAL_VALUE_NONE; | 1120 | icalparameter_value v = ICAL_VALUE_NONE; |
@@ -1125,3 +1123,3 @@ Attachment *ICalFormatImpl::readAttachment(icalproperty *attach) | |||
1125 | Attachment *attachment = 0; | 1123 | Attachment *attachment = 0; |
1126 | 1124 | /* | |
1127 | icalparameter *vp = icalproperty_get_first_parameter(attach, ICAL_VALUE_PARAMETER); | 1125 | icalparameter *vp = icalproperty_get_first_parameter(attach, ICAL_VALUE_PARAMETER); |
@@ -1133,10 +1131,8 @@ Attachment *ICalFormatImpl::readAttachment(icalproperty *attach) | |||
1133 | e = icalparameter_get_encoding(ep); | 1131 | e = icalparameter_get_encoding(ep); |
1134 | 1132 | */ | |
1135 | if (v == ICAL_VALUE_BINARY && e == ICAL_ENCODING_BASE64) | 1133 | int isurl = icalattach_get_is_url (a); |
1136 | attachment = new Attachment(icalattachtype_get_base64(a)); | 1134 | if (isurl == 0) |
1137 | else if ((v == ICAL_VALUE_NONE || v == ICAL_VALUE_URI) && (e == ICAL_ENCODING_NONE || e == ICAL_ENCODING_8BIT)) { | 1135 | attachment = new Attachment((const char*)icalattach_get_data(a)); |
1138 | attachment = new Attachment(QString(icalattachtype_get_url(a))); | 1136 | else { |
1139 | } else { | 1137 | attachment = new Attachment(QString(icalattach_get_url(a))); |
1140 | kdWarning(5800) << "Unsupported attachment format, discarding it!" << endl; | ||
1141 | return 0; | ||
1142 | } | 1138 | } |
@@ -1252,7 +1248,7 @@ void ICalFormatImpl::readIncidence(icalcomponent *parent,Incidence *incidence) | |||
1252 | 1248 | ||
1253 | case ICAL_CLASS_PROPERTY: | 1249 | case ICAL_CLASS_PROPERTY: { |
1254 | text = icalproperty_get_class(p); | 1250 | int inttext = icalproperty_get_class(p); |
1255 | if (strcmp(text,"PUBLIC") == 0) { | 1251 | if (inttext == ICAL_CLASS_PUBLIC ) { |
1256 | incidence->setSecrecy(Incidence::SecrecyPublic); | 1252 | incidence->setSecrecy(Incidence::SecrecyPublic); |
1257 | } else if (strcmp(text,"CONFIDENTIAL") == 0) { | 1253 | } else if (inttext == ICAL_CLASS_CONFIDENTIAL ) { |
1258 | incidence->setSecrecy(Incidence::SecrecyConfidential); | 1254 | incidence->setSecrecy(Incidence::SecrecyConfidential); |
@@ -1261,2 +1257,3 @@ void ICalFormatImpl::readIncidence(icalcomponent *parent,Incidence *incidence) | |||
1261 | } | 1257 | } |
1258 | } | ||
1262 | break; | 1259 | break; |
@@ -1355,5 +1352,5 @@ void ICalFormatImpl::readCustomProperties(icalcomponent *parent,CustomProperties | |||
1355 | while (p) { | 1352 | while (p) { |
1356 | |||
1357 | QString value = QString::fromUtf8(icalproperty_get_x(p)); | 1353 | QString value = QString::fromUtf8(icalproperty_get_x(p)); |
1358 | customProperties[icalproperty_get_name(p)] = value; | 1354 | customProperties[icalproperty_get_x_name(p)] = value; |
1355 | //qDebug("ICalFormatImpl::readCustomProperties %s %s",value.latin1(), icalproperty_get_x_name(p) ); | ||
1359 | 1356 | ||
@@ -1669,4 +1666,4 @@ void ICalFormatImpl::readAlarm(icalcomponent *alarm,Incidence *incidence) | |||
1669 | case ICAL_ATTACH_PROPERTY: { | 1666 | case ICAL_ATTACH_PROPERTY: { |
1670 | icalattachtype *attach = icalproperty_get_attach(p); | 1667 | icalattach *attach = icalproperty_get_attach(p); |
1671 | QString url = QFile::decodeName(icalattachtype_get_url(attach)); | 1668 | QString url = QFile::decodeName(icalattach_get_url(attach)); |
1672 | switch ( action ) { | 1669 | switch ( action ) { |