diff --git a/UI/Scheduler/NSArray+Scheduler.h b/UI/Scheduler/NSArray+Scheduler.h index ed3ae2434..c961585c9 100644 --- a/UI/Scheduler/NSArray+Scheduler.h +++ b/UI/Scheduler/NSArray+Scheduler.h @@ -61,6 +61,12 @@ #define taskEditableIndex 9 #define taskErasableIndex 10 #define taskPriorityIndex 11 +#define taskOwnerIndex 12 +#define taskIsCycleIndex 13 +#define taskNextAlarmIndex 14 +#define taskRecurrenceIdIndex 15 +#define taskIsExceptionIndex 16 +#define taskDescriptionIndex 17 @interface NSArray (SOGoEventComparison) diff --git a/UI/Scheduler/NSArray+Scheduler.m b/UI/Scheduler/NSArray+Scheduler.m index f0ed78869..fffd390f0 100644 --- a/UI/Scheduler/NSArray+Scheduler.m +++ b/UI/Scheduler/NSArray+Scheduler.m @@ -120,8 +120,8 @@ NSComparisonResult result; unsigned int selfTime, otherTime; - result = [self _compareCompletionWithStatus1: [self objectAtIndex: taskCalendarNameIndex] - andStatus2: [otherTask objectAtIndex: taskCalendarNameIndex]]; + result = [self _compareCompletionWithStatus1: [self objectAtIndex: taskStatusIndex] + andStatus2: [otherTask objectAtIndex: taskStatusIndex]]; if (result == NSOrderedSame) { // End date diff --git a/UI/Scheduler/UIxCalListingActions.m b/UI/Scheduler/UIxCalListingActions.m index 9b8f6e214..c7a2ff9ab 100644 --- a/UI/Scheduler/UIxCalListingActions.m +++ b/UI/Scheduler/UIxCalListingActions.m @@ -84,6 +84,7 @@ static NSArray *tasksFields = nil; + (void) initialize { + // NOTE: Modifying one of those two static arrays requires to modify NSArray+Scheduler.h if (!eventsFields) { eventsFields = [NSArray arrayWithObjects: @"c_name", @"c_folder", @@ -1430,7 +1431,7 @@ _computeBlocksPosition (NSArray *blocks) if (statusCode != 1 || showCompleted) { filteredTask = [NSMutableArray arrayWithArray: task]; - endDateStamp = [[task objectAtIndex: 5] intValue]; + endDateStamp = [[task objectAtIndex: taskEndDateIndex] intValue]; statusFlag = [self _getStatusClassForStatusCode: statusCode andEndDateStamp: endDateStamp]; [filteredTask addObject: statusFlag]; @@ -1448,11 +1449,11 @@ _computeBlocksPosition (NSArray *blocks) [filteredTasks addObject: filteredTask]; else if ([tasksView isEqualToString:@"view_all"]) [filteredTasks addObject: filteredTask]; - else if (([tasksView isEqualToString:@"view_overdue"]) && ([[filteredTask objectAtIndex:15] isEqualToString:@"overdue"])) + else if (([tasksView isEqualToString:@"view_overdue"]) && ([[filteredTask objectAtIndex:18] isEqualToString:@"overdue"])) [filteredTasks addObject: filteredTask]; - else if ([tasksView isEqualToString:@"view_incomplete"] && (![[filteredTask objectAtIndex:15] isEqualToString:@"completed"])) + else if ([tasksView isEqualToString:@"view_incomplete"] && (![[filteredTask objectAtIndex:18] isEqualToString:@"completed"])) [filteredTasks addObject: filteredTask]; - else if ([tasksView isEqualToString:@"view_not_started"] && ([[[filteredTask objectAtIndex:3] stringValue] isEqualToString:@"0"])) + else if ([tasksView isEqualToString:@"view_not_started"] && ([[[filteredTask objectAtIndex:taskStatusIndex] stringValue] isEqualToString:@"0"])) [filteredTasks addObject: filteredTask]; } }