From 9a3aeb000447b57cf5c1be536fb968046fc57f45 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Thu, 9 Jul 2015 16:18:03 -0400 Subject: [PATCH] (fix) Tasks list sorting --- UI/Scheduler/NSArray+Scheduler.h | 6 ++++++ UI/Scheduler/NSArray+Scheduler.m | 4 ++-- UI/Scheduler/UIxCalListingActions.m | 9 +++++---- 3 files changed, 13 insertions(+), 6 deletions(-) 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]; } }