Fix display of multi-days events

When an event was starting on a disabled weekday, the entire event was
hidden.
This commit is contained in:
Francis Lachapelle
2018-09-07 15:26:36 -04:00
parent 9838c369b2
commit 2be5edde94
3 changed files with 53 additions and 37 deletions
+12 -5
View File
@@ -367,6 +367,7 @@ static NSArray *tasksFields = nil;
- (NSArray *) _fetchFields: (NSArray *) fields
forComponentOfType: (NSString *) component
{
NSCalendarDate *currentStartDate, *currentEndDate;
NSEnumerator *folders, *currentInfos;
NSMutableDictionary *newInfo;
NSMutableArray *infos, *quickInfos, *allInfos, *quickInfosName;
@@ -472,12 +473,18 @@ static NSArray *tasksFields = nil;
while ((newInfo = [currentInfos nextObject]))
{
if ([newInfo objectForKey: @"startDate"])
if ([enabledWeekDays count] &&
[newInfo objectForKey: @"startDate"])
{
weekDay = iCalWeekDayString[[[newInfo objectForKey: @"startDate"] dayOfWeek]];
if ([enabledWeekDays count] && ![enabledWeekDays containsObject: weekDay])
// Skip components that appear on disabled weekdays
continue;
currentStartDate = [newInfo objectForKey: @"startDate"];
currentEndDate = [newInfo objectForKey: @"endDate"];
if (!currentEndDate || [currentStartDate isDateOnSameDay: currentEndDate])
{
weekDay = iCalWeekDayString[[[newInfo objectForKey: @"startDate"] dayOfWeek]];
if (![enabledWeekDays containsObject: weekDay])
// Skip components that appear on disabled weekdays
continue;
}
}
if ([fields containsObject: @"viewable"])