Monotone-Parent: 360795eba52fb9152f5379fc602e210022498ae1

Monotone-Revision: 62917484785e9ce38f416c25ad860a0f28f415b0

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-08-15T19:10:56
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2011-08-15 19:10:56 +00:00
parent c3a407efef
commit a90afadebc
3 changed files with 25 additions and 3 deletions

View File

@ -1,5 +1,10 @@
2011-08-15 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/Mailer/SOGoMailAccount.m
(-toManyRelationshipKeysWithNamespaces:): new method, superseding
"toManyRelationshipKeys" that enables the returning of namespaces
"folders" or not.
* OpenChange/MAPIStoreMailMessage.m (-objectVersion): updated code
as in MAPIStoreGCSMessage's version.

View File

@ -77,6 +77,7 @@ typedef enum {
- (NSString *) encryption;
/* folder pathes */
- (NSArray *) toManyRelationshipKeysWithNamespaces: (BOOL) withNSs;
- (NSArray *) allFolderPaths;
- (BOOL) isInDraftsFolder;

View File

@ -174,21 +174,37 @@ static NSString *inboxFolderName = @"INBOX";
return [self _namespacesWithKey: @"shared"];
}
- (NSArray *) toManyRelationshipKeys
- (NSArray *) toManyRelationshipKeysWithNamespaces: (BOOL) withNSs
{
NSMutableArray *folders;
NSArray *imapFolders;
NSArray *imapFolders, *nss;
imapFolders = [[self imap4Connection] subfoldersForURL: [self imap4URL]];
folders = [imapFolders mutableCopy];
[folders autorelease];
[folders addObjectUniquely: [self draftsFolderNameInContext: nil]];
[self _appendNamespaces: folders];
if (withNSs)
[self _appendNamespaces: folders];
else
{ /* some implementation insist on returning NSs in the list of
folders... */
nss = [self otherUsersFolderNamespaces];
if (nss)
[folders removeObjectsInArray: nss];
nss = [self sharedFolderNamespaces];
if (nss)
[folders removeObjectsInArray: nss];
}
return [[folders stringsWithFormat: @"folder%@"]
resultsOfSelector: @selector (asCSSIdentifier)];
}
- (NSArray *) toManyRelationshipKeys
{
return [self toManyRelationshipKeysWithNamespaces: YES];
}
- (SOGoIMAPAclStyle) imapAclStyle
{
SOGoDomainDefaults *dd;