See ChangeLog

Monotone-Parent: bc1249b3296aa7dc189df755998b9d703fefd954
Monotone-Revision: bfae70f2a55e4f192f4b03068a3818e1458c8eef

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2010-06-30T20:30:30
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Ludovic Marcotte
2010-06-30 20:30:30 +00:00
parent 75931380bf
commit a08e5bd0f6
3 changed files with 93 additions and 15 deletions

View File

@@ -1,3 +1,10 @@
2010-06-30 Ludovic Marcotte <lmarcotte@inverse.ca>
* When displaying or editing cards, we make sure
we properly fallback to the homeURL field when
a work value is defined but we also have one other
untagged value defined.
2010-06-30 Francis Lachapelle <flachapelle@inverse.ca>
* UI/MailerUI/UIxMailEditor.m (-localeCode): new method that

View File

@@ -481,7 +481,26 @@
[self _setSnapshotValue: @"homeURL"
to: [[elements objectAtIndex: 0] value: 0]];
}
// If we do have a "work" URL but no "home" URL but two
// values URLs present, let's add the second one as the home URL
else if ([[snapshot objectForKey: @"workURL"] length] > 0 &&
[[snapshot objectForKey: @"homeURL"] length] == 0 &&
[elements count] > 1)
{
int i;
for (i = 0; i < [elements count]; i++)
{
if ([[[elements objectAtIndex: i] value: 0]
caseInsensitiveCompare: [snapshot objectForKey: @"workURL"]] != NSOrderedSame)
{
[self _setSnapshotValue: @"homeURL"
to: [[elements objectAtIndex: i] value: 0]];
break;
}
}
}
[self _setSnapshotValue: @"calFBURL"
to: [[card uniqueChildWithTag: @"FBURL"] value: 0]];

View File

@@ -299,34 +299,86 @@
return [self _cardStringWithLabel: nil value: data];
}
- (NSString *) _formattedURL: (NSString *) url
{
NSString *data;
data = nil;
if (url)
{
if (![[url lowercaseString] rangeOfString: @"://"].length)
url = [NSString stringWithFormat: @"http://%@", url];
data = [NSString stringWithFormat:
@"<a href=\"%@\" target=\"_blank\">%@</a>",
url, url];
}
return [self _cardStringWithLabel: nil value: data];
}
- (NSString *) _urlOfType: (NSString *) aType
{
NSArray *elements;
NSString *data, *url;
NSString *url;
elements = [card childrenWithTag: @"url"
andAttribute: @"type"
havingValue: aType];
if ([elements count] > 0)
{
url = [[elements objectAtIndex: 0] value: 0];
if (![[url lowercaseString] rangeOfString: @"://"].length)
url = [NSString stringWithFormat: @"http://%@", url];
data = [NSString stringWithFormat:
@"<a href=\"%@\" target=\"_blank\">%@</a>",
url, url];
}
url = [[elements objectAtIndex: 0] value: 0];
else
data = nil;
url = nil;
return [self _cardStringWithLabel: nil value: data];
return [self _formattedURL: url];
}
- (NSString *) homeUrl
{
return [self _urlOfType: @"home"];
NSString *s;
s = [self _urlOfType: @"home"];
if (!s || [s length] == 0)
{
NSArray *elements;
NSString *workURL;
int i;
elements = [card childrenWithTag: @"url"
andAttribute: @"type"
havingValue: @"work"];
workURL = nil;
if ([elements count] > 0)
workURL = [[elements objectAtIndex: 0] value: 0];
elements = [card childrenWithTag: @"url"];
if (workURL && [elements count] > 1)
{
for (i = 0; i < [elements count]; i++)
{
if ([[[elements objectAtIndex: i] value: 0] caseInsensitiveCompare: workURL] != NSOrderedSame)
{
s = [[elements objectAtIndex: i] value: 0];
break;
}
}
}
else if (!workURL && [elements count] > 0)
{
s = [[elements objectAtIndex: 0] value: 0];
}
if (s && [s length] > 0)
s = [self _formattedURL: s];
}
return s;
}
- (BOOL) hasWorkInfos