merge of '1a5434f30282a4932bf29227da4cf2da44ef5783'

and '90684f202c7c2bf2307dd9c9c94961ea8c28c823'

Monotone-Parent: 1a5434f30282a4932bf29227da4cf2da44ef5783
Monotone-Parent: 90684f202c7c2bf2307dd9c9c94961ea8c28c823
Monotone-Revision: bf7b6e86d357e58b2060b9ab18910bae0bbae64c

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2008-07-09T07:35:31
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle
2008-07-09 07:35:31 +00:00
+5 -11
View File
@@ -188,44 +188,38 @@ withSearchOn: (NSString *) contact
NSDictionary *contact;
NSArray *folders, *contacts, *descriptors, *sortedContacts;
NSMutableDictionary *uniqueContacts;
// NSMutableArray *allContacts;
unsigned int i, j;
NSSortDescriptor *displayNameDescriptor;
searchText = [self queryParameterForKey: @"search"];
if ([searchText length] > 0)
{
NSLog(@"Search all contacts: %@", searchText);
//NSLog(@"Search all contacts: %@", searchText);
folders = [[self clientObject] subFolders];
//allContacts = [NSMutableArray new];
uniqueContacts = [NSMutableDictionary dictionary];
for (i = 0; i < [folders count]; i++)
{
folder = [folders objectAtIndex: i];
NSLog(@" Address book: %@ (%@)", [folder displayName], [folder class]);
//NSLog(@" Address book: %@ (%@)", [folder displayName], [folder class]);
contacts = [folder lookupContactsWithFilter: searchText
sortBy: @"displayName"
ordering: NSOrderedAscending];
for (j = 0; j < [contacts count]; j++)
{
contact = [contacts objectAtIndex: j];
NSLog(@" found %@ (%@)", [contact objectForKey: @"displayName"], [contact objectForKey: @"mail"]);
if ([uniqueContacts objectForKey: [contact objectForKey: @"displayName"]] == nil)
[uniqueContacts setObject: contact forKey: [contact objectForKey: @"displayName"]];
//NSLog(@" found %@ (%@)", [contact objectForKey: @"displayName"], [contact objectForKey: @"mail"]);
if ([uniqueContacts objectForKey: [contact objectForKey: @"mail"]] == nil)
[uniqueContacts setObject: contact forKey: [contact objectForKey: @"mail"]];
}
// if ([contacts count] > 0)
// [allContacts addObjectsFromArray: contacts];
}
result = [context response];
// if ([allContacts count] > 0)
if ([uniqueContacts count] > 0)
{
// Sort the contacts by display name
displayNameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"displayName"
ascending:YES] autorelease];
descriptors = [NSArray arrayWithObjects: displayNameDescriptor, nil];
// sortedContacts = [allContacts sortedArrayUsingDescriptors:descriptors];
sortedContacts = [[uniqueContacts allValues] sortedArrayUsingDescriptors: descriptors];
[(WOResponse*)result appendContentString: [sortedContacts jsonRepresentation]];