mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-14 01:38:51 +00:00
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:
@@ -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
|
||||
|
||||
@@ -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]];
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user