diff --git a/ChangeLog b/ChangeLog index 4fc342ce7..864a5d08e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-04-05 Wolfgang Sourdeau + * OpenChange/MAPIStoreCalendarMessage.m (-getProperty:withTag): + restored/implemented PR_START_DATE, PidLidAppointmentStartWhole, + PidLidCommonStart and their "end" equivalent. + * OpenChange/MAPIStoreMailFolder.m (-createFolder:): implemented method by adapting old code that was still commented out. (-folderKeys): implemented method. diff --git a/OpenChange/MAPIStoreCalendarMessage.m b/OpenChange/MAPIStoreCalendarMessage.m index 0d70dd0ec..4c26e478b 100644 --- a/OpenChange/MAPIStoreCalendarMessage.m +++ b/OpenChange/MAPIStoreCalendarMessage.m @@ -190,6 +190,7 @@ _fillAppointmentRecurrencePattern (struct AppointmentRecurrencePattern *arp, NSTimeInterval timeValue; id event; uint32_t longValue; + NSCalendarDate *dateValue; int rc; rc = MAPI_E_SUCCESS; @@ -214,6 +215,32 @@ _fillAppointmentRecurrencePattern (struct AppointmentRecurrencePattern *arp, case PR_MESSAGE_CLASS_UNICODE: *data = talloc_strdup(memCtx, "IPM.Appointment"); break; + case PR_START_DATE: + case PidLidAppointmentStartWhole: + case PidLidCommonStart: + event = [sogoObject component: NO secure: NO]; + if ([event isRecurrent]) + dateValue = [event firstRecurrenceStartDate]; + else + dateValue = [event startDate]; + [dateValue setTimeZone: utcTZ]; + *data = [dateValue asFileTimeInMemCtx: memCtx]; + break; + case PR_END_DATE: + case PidLidAppointmentEndWhole: + case PidLidCommonEnd: + event = [sogoObject component: NO secure: NO]; + if ([event isRecurrent]) + dateValue = [event firstRecurrenceStartDate]; + else + dateValue = [event startDate]; + dateValue = [dateValue dateByAddingYears: 0 months: 0 days: 0 + hours: 0 minutes: 0 + seconds: + (NSInteger) [event durationAsTimeInterval]]; + [dateValue setTimeZone: utcTZ]; + *data = [dateValue asFileTimeInMemCtx: memCtx]; + break; case PidLidAppointmentDuration: event = [sogoObject component: NO secure: NO]; timeValue = [[event endDate] timeIntervalSinceDate: [event startDate]];