From ba4af07bfc41c20aa7f28da2e8c0d6a97a9c0bf4 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 5 Apr 2011 23:38:22 +0000 Subject: [PATCH] Monotone-Parent: c6c5b586a547bdf84afe4ad8d809e40737e54369 Monotone-Revision: 3290fec7b9b44e16eb1c31789fed6f346c0b230e Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-04-05T23:38:22 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ OpenChange/MAPIStoreCalendarMessage.m | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) 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]];