diff --git a/UI/Contacts/UIxContactsListActions.m b/UI/Contacts/UIxContactsListActions.m index af9eee5f9..c2923abdb 100644 --- a/UI/Contacts/UIxContactsListActions.m +++ b/UI/Contacts/UIxContactsListActions.m @@ -39,6 +39,8 @@ #import #import +#import + #import #import #import @@ -81,10 +83,34 @@ s = [rq formValueForKey: @"sort"]; if (![s length]) s = [self defaultSortKey]; + else + [self saveSortValue: s]; return s; } +- (void) saveSortValue: (NSString *) sort +{ + NSString *ascending; + SOGoUserSettings *us; + NSMutableDictionary *contactSettings; + + ascending = [[context request] formValueForKey: @"asc"]; + if ([sort length]) + { + us = [[context activeUser] userSettings]; + contactSettings = [us objectForKey: @"Contact"]; + // Must create if it doesn't exist + if (!contactSettings) + { + contactSettings = [NSMutableDictionary dictionary]; + [us setObject: contactSettings forKey: @"Contact"]; + } + [contactSettings setObject: [NSArray arrayWithObjects: [sort lowercaseString], [NSString stringWithFormat: @"%d", (ascending?1:0)], nil] forKey: @"SortingState"]; + [us synchronize]; + } +} + - (NSArray *) contactInfos { id folder;