mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-07-05 16:35:10 +00:00
Monotone-Parent: 6eb24ecac0894c6a3b2d8bc94ea23f4969e9a03d
Monotone-Revision: 25fed2157caf8da35ae90d48f9cc9413a71e94ea Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2006-09-18T15:22:21 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
2006-09-18 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* OGoContentStore/OCSContactFieldExtractor.m
|
||||
([OCSContactFieldExtractor -extractQuickFieldsFromVCard:_vCard]):
|
||||
adapted method to the new VCard api. Since the cards are stored in
|
||||
vcard format, we no longer deal with a dictionary but with a
|
||||
NGVCard object...
|
||||
|
||||
2006-09-15 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* UI/Contacts/UIxContactView.m ([UIxContactView -preferredEmail]):
|
||||
|
||||
@@ -42,25 +42,55 @@ static NSString *fieldNames[] = {
|
||||
nil, nil
|
||||
};
|
||||
|
||||
- (NSMutableDictionary *)extractQuickFieldsFromVCard:(NGVCard *)_vCard {
|
||||
- (NSMutableDictionary *) extractQuickFieldsFromVCard: (NGVCard *) _vCard
|
||||
{
|
||||
NSMutableDictionary *fields;
|
||||
unsigned i;
|
||||
NSArray *values;
|
||||
CardElement *adr;
|
||||
NSString *value;
|
||||
unsigned int max;
|
||||
|
||||
if (_vCard == nil)
|
||||
return nil;
|
||||
|
||||
|
||||
fields = [NSMutableDictionary dictionaryWithCapacity:16];
|
||||
|
||||
for (i = 0; fieldNames[i] != nil; i += 2) {
|
||||
id value;
|
||||
value = [_vCard fn];
|
||||
if (value)
|
||||
[fields setObject: value forKey: @"cn"];
|
||||
values = [_vCard n];
|
||||
if (values)
|
||||
{
|
||||
max = [values count];
|
||||
if (max > 0)
|
||||
{
|
||||
[fields setObject: [values objectAtIndex: 0] forKey: @"sn"];
|
||||
if (max > 1)
|
||||
[fields setObject: [values objectAtIndex: 1]
|
||||
forKey: @"givenName"];
|
||||
}
|
||||
}
|
||||
value = [_vCard preferredTel];
|
||||
if (value)
|
||||
[fields setObject: value forKey: @"telephoneNumber"];
|
||||
value = [_vCard preferredEMail];
|
||||
if (value)
|
||||
[fields setObject: value forKey: @"mail"];
|
||||
values = [_vCard org];
|
||||
if (values)
|
||||
{
|
||||
max = [values count];
|
||||
if (max > 0)
|
||||
{
|
||||
[fields setObject: [values objectAtIndex: 0] forKey: @"o"];
|
||||
if (max > 1)
|
||||
[fields setObject: [values objectAtIndex: 1] forKey: @"ou"];
|
||||
}
|
||||
}
|
||||
adr = [_vCard preferredAdr];
|
||||
if (adr)
|
||||
[fields setObject: [adr value: 3] forKey: @"l"];
|
||||
|
||||
value = ([fieldNames[i + 1] length] > 0)
|
||||
? [_vCard valueForKeyPath:fieldNames[i + 1]]
|
||||
: nil;
|
||||
if (![value isNotNull]) value = [NSNull null];
|
||||
|
||||
[fields setObject:value forKey:[fieldNames[i] lowercaseString]];
|
||||
}
|
||||
return fields;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user