Monotone-Parent: 4c862893152bb1557702d3a6ebc6412e3edd9d17

Monotone-Revision: 48eb4fdf222df36089f2758ea90938ded959a5cc

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2010-03-05T15:34:24
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2010-03-05 15:34:24 +00:00
parent c5b0a191a2
commit 056ccff35f
3 changed files with 38 additions and 4 deletions

View File

@ -1,3 +1,14 @@
2010-03-05 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/NSString+DAV.m (-davSetterName): enhanced so that
DAV properties directely passed as parameters (and not as dav
method names deduced from DAVPropMap.plist) are handled properly
too.
* SoObjects/SOGo/SOGoUserFolder.m (-setDavSignature:): new
accessor for setting the
{urn:inverse:params:xml:ns:inverse-dav}signature property via DAV.
2010-03-02 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/PreferencesUI/UIxPreferences.m (-nameLabel, -colorLabel):

View File

@ -78,13 +78,23 @@
- (NSString *) davSetterName
{
unichar firstLetter;
NSString *firstString;
NSString *firstString, *property, *davPrefix;
firstLetter = [self characterAtIndex: 0];
property = [[self asDavInvocation] objectForKey: @"method"];
if (!property)
property = self;
firstLetter = [property characterAtIndex: 0];
firstString = [[NSString stringWithCharacters: &firstLetter length: 1]
uppercaseString];
return [NSString stringWithFormat: @"set%@%@:",
firstString, [self substringFromIndex: 1]];
if ([property length] > 3
&& [[property substringWithRange: NSMakeRange (0, 3)]
caseInsensitiveCompare: @"dav"] == NSOrderedSame)
davPrefix = @"";
else
davPrefix = @"Dav";
return [NSString stringWithFormat: @"set%@%@%@:", davPrefix,
firstString, [property substringFromIndex: 1]];
}
- (NSDictionary *) asDavInvocation

View File

@ -623,4 +623,17 @@
return [NSArray arrayWithObject: principalURL];
}
- (NSException *) setDavSignature: (NSString *) newSignature
{
SOGoUserDefaults *ud;
SOGoUser *user;
user = [SOGoUser userWithLogin: [self ownerInContext: nil]];
ud = [user userDefaults];
[ud setMailSignature: newSignature];
[ud synchronize];
return nil;
}
@end /* SOGoUserFolder */