From 8d7bb2a170e75292b8e794ea1dd0655e2ce370f9 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 3 Jul 2008 15:18:44 +0000 Subject: [PATCH] Monotone-Parent: dd34ff3c83585062bafd5221403d042c9a83d6ea Monotone-Revision: 4237da1c46aa8fc93100964f3c0b79c40b83ea1b Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-07-03T15:18:44 Monotone-Branch: ca.inverse.sogo --- SOPE/NGCards/ChangeLog | 6 ++++++ SOPE/NGCards/iCalEvent.m | 17 +++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/SOPE/NGCards/ChangeLog b/SOPE/NGCards/ChangeLog index d789a1376..2445bcb24 100644 --- a/SOPE/NGCards/ChangeLog +++ b/SOPE/NGCards/ChangeLog @@ -1,3 +1,9 @@ +2008-07-03 Wolfgang Sourdeau + + * iCalEvent.m ([iCalEvent -endDate]): if no DTEND is specified, + returns the end date based on the start date and take the duration + into account if it is specified. + 2008-06-30 Wolfgang Sourdeau * iCalFreeBusy.m ([iCalFreeBusy diff --git a/SOPE/NGCards/iCalEvent.m b/SOPE/NGCards/iCalEvent.m index d3f10f22d..5e766d230 100644 --- a/SOPE/NGCards/iCalEvent.m +++ b/SOPE/NGCards/iCalEvent.m @@ -68,8 +68,21 @@ - (NSCalendarDate *) endDate { - return [(iCalDateTime *) [self uniqueChildWithTag: @"dtend"] - dateTime]; + NSCalendarDate *endDate; + NSString *duration; + + endDate = [(iCalDateTime *) [self uniqueChildWithTag: @"dtend"] + dateTime]; + if (!endDate) + { + endDate = [self startDate]; + duration = [self duration]; + if ([duration length]) + endDate + = [endDate addTimeInterval: [duration durationAsTimeInterval]]; + } + + return endDate; } - (BOOL) hasEndDate