From 9529881948faf3d58e5b43e0719a2f1da06db937 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Tue, 29 Nov 2016 17:47:14 -0500 Subject: [PATCH] Add handling of BYSETPOS for BYDAY in repeat rule --- NEWS | 6 ++++++ SOPE/NGCards/iCalRecurrenceRule.m | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 566de16c2..f5d8881a9 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,9 @@ +2.3.19 (2016-12-DD) +------------------- + +Enhancements + - [core] added handling of BYSETPOS for BYDAY in recurrence rules + 2.3.18 (2016-11-28) ------------------- diff --git a/SOPE/NGCards/iCalRecurrenceRule.m b/SOPE/NGCards/iCalRecurrenceRule.m index 7c581cbbf..9f2e7c9aa 100644 --- a/SOPE/NGCards/iCalRecurrenceRule.m +++ b/SOPE/NGCards/iCalRecurrenceRule.m @@ -472,9 +472,16 @@ NSString *iCalWeekDayString[] = { @"SU", @"MO", @"TU", @"WE", @"TH", @"FR", - (iCalByDayMask *) byDayMask { + NSArray *setPos; + NSString *day; + if (dayMask == nil && [[self byDay] length]) { - dayMask = [iCalByDayMask byDayMaskWithRuleString: [self byDay]]; + day = [self byDay]; + setPos = [self bySetPos]; + if ([setPos count]) + day = [NSString stringWithFormat: @"%@%@", [setPos lastObject], day]; + dayMask = [iCalByDayMask byDayMaskWithRuleString: day]; [dayMask retain]; }