Monotone-Parent: 4aebdfab09fd72cefd327e453f27e340da9f8738

Monotone-Revision: 6d3ffdac670dcdb4b4ded0a4c992663c091081b4

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2012-01-30T21:42:10
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2012-01-30 21:42:10 +00:00
parent 628a788085
commit 8ffac8727d
4 changed files with 48 additions and 17 deletions

View File

@ -1,5 +1,12 @@
2012-01-30 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreMailFolder.m (-addProperties): overriden
method in order to intercept rename operations.
(-initWithSOGoObject:inContainer:): removed obsolete method.
* OpenChange/MAPIStoreGCSFolder.m (-addProperties): overriden
method in order to intercept rename operations.
* SoObjects/Mailer/SOGoMailFolder.m (-renameTo:): new method,
implementing most of the code from [UIxMailFolderActions
renameFolderAction].

View File

@ -72,6 +72,26 @@
[super dealloc];
}
- (void) addProperties: (NSDictionary *) newProperties
{
NSString *newDisplayName;
NSMutableDictionary *propsCopy;
NSNumber *key;
key = MAPIPropertyKey (PR_DISPLAY_NAME_UNICODE);
newDisplayName = [newProperties objectForKey: key];
if (newDisplayName)
{
[sogoObject renameTo: newDisplayName];
propsCopy = [newProperties mutableCopy];
[propsCopy removeObjectForKey: key];
[propsCopy autorelease];
newProperties = propsCopy;
}
[super addProperties: newProperties];
}
- (NSArray *) messageKeysMatchingQualifier: (EOQualifier *) qualifier
andSortOrderings: (NSArray *) sortOrderings
{

View File

@ -37,13 +37,8 @@
@interface MAPIStoreMailFolder : MAPIStoreFolder
{
SOGoMAPIFSMessage *versionsMessage;
BOOL usesAltNameSpace;
}
/* subclasses */
- (SOGoMailFolder *) specialFolderFromAccount: (SOGoMailAccount *) account
inContext: (WOContext *) woContext;
/* synchronisation & versioning */
- (BOOL) synchroniseCache;
- (NSNumber *) modseqFromMessageChangeNumber: (NSNumber *) changeNum;

View File

@ -77,15 +77,11 @@ static Class SOGoMailFolderK;
[MAPIStoreAppointmentWrapper class];
}
- (id) initWithSOGoObject: (id) newSOGoObject
inContainer: (MAPIStoreObject *) newContainer
- (id) init
{
// NSString *urlString;
if ((self = [super initWithSOGoObject: newSOGoObject inContainer: newContainer]))
if ((self = [super init]))
{
usesAltNameSpace = NO;
// urlString = [[self url] stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
versionsMessage = nil;
}
return self;
@ -104,12 +100,25 @@ static Class SOGoMailFolderK;
[super dealloc];
}
- (SOGoMailFolder *) specialFolderFromAccount: (SOGoMailAccount *) accountFolder
inContext: (WOContext *) woContext
{
[self subclassResponsibility: _cmd];
return nil;
- (void) addProperties: (NSDictionary *) newProperties
{
NSString *newDisplayName;
NSMutableDictionary *propsCopy;
NSNumber *key;
key = MAPIPropertyKey (PR_DISPLAY_NAME_UNICODE);
newDisplayName = [newProperties objectForKey: key];
if (newDisplayName)
{
[(SOGoMailFolder *) sogoObject renameTo: newDisplayName];
propsCopy = [newProperties mutableCopy];
[propsCopy removeObjectForKey: key];
[propsCopy autorelease];
newProperties = propsCopy;
}
[super addProperties: newProperties];
}
- (MAPIStoreMessageTable *) messageTable