From bfea0c43b99cbc76312f6a50a6b64bd48c2d4458 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 7 Feb 2011 15:26:42 +0000 Subject: [PATCH] Monotone-Parent: 56f579d41c63981db591c91450d6286b9ca53078 Monotone-Revision: 27dc3c974ed1585b54e4d58d5ab193527645b95b Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-02-07T15:26:42 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 ++++ OpenChange/MAPIStoreDeletedItemsContext.h | 4 +-- OpenChange/MAPIStoreDeletedItemsContext.m | 43 +++++++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b34cb1e98..fd7996ea1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-02-07 Ludovic Marcotte + + * OpenChange/MAPIStoreDeletedItemsContext.m: now a subclass of + MAPIStoreMailContext and make use of the trash folder as module + folder. + 2011-02-06 Wolfgang Sourdeau * OpenChange/MAPIStoreMailMessageTable.m (-setSordOrder): diff --git a/OpenChange/MAPIStoreDeletedItemsContext.h b/OpenChange/MAPIStoreDeletedItemsContext.h index d4cc79f31..01e265e15 100644 --- a/OpenChange/MAPIStoreDeletedItemsContext.h +++ b/OpenChange/MAPIStoreDeletedItemsContext.h @@ -23,9 +23,9 @@ #ifndef MAPISTOREDELETEDITEMSCONTEXT_H #define MAPISTOREDELETEDITEMSCONTEXT_H -#import "MAPIStoreFSBaseContext.h" +#import "MAPIStoreMailContext.h" -@interface MAPIStoreDeletedItemsContext : MAPIStoreFSBaseContext +@interface MAPIStoreDeletedItemsContext : MAPIStoreMailContext @end diff --git a/OpenChange/MAPIStoreDeletedItemsContext.m b/OpenChange/MAPIStoreDeletedItemsContext.m index 5cc4263c9..493a91ed9 100644 --- a/OpenChange/MAPIStoreDeletedItemsContext.m +++ b/OpenChange/MAPIStoreDeletedItemsContext.m @@ -22,8 +22,15 @@ #import +#import + #import "MAPIStoreMapping.h" +#import + +#import "MAPIApplication.h" +#import "MAPIStoreAuthenticator.h" + #import "MAPIStoreDeletedItemsContext.h" @implementation MAPIStoreDeletedItemsContext @@ -39,4 +46,40 @@ withID: 0x170001]; } +- (void) setupModuleFolder +{ + SOGoUserFolder *userFolder; + SOGoMailAccounts *accountsFolder; + SOGoMailAccount *accountFolder; + SOGoFolder *currentContainer; + + userFolder = [SOGoUserFolder objectWithName: [authenticator username] + inContainer: MAPIApp]; + [parentFoldersBag addObject: userFolder]; + // [self logWithFormat: @"userFolder: %@", userFolder]; + [woContext setClientObject: userFolder]; + + accountsFolder = [userFolder lookupName: @"Mail" + inContext: woContext + acquire: NO]; + [parentFoldersBag addObject: accountsFolder]; + // [self logWithFormat: @"accountsFolder: %@", accountsFolder]; + [woContext setClientObject: accountsFolder]; + + accountFolder = [accountsFolder lookupName: @"0" + inContext: woContext + acquire: NO]; + [parentFoldersBag addObject: accountFolder]; + [woContext setClientObject: accountFolder]; + + moduleFolder = [accountFolder trashFolderInContext: nil]; + [moduleFolder retain]; + currentContainer = [moduleFolder container]; + while (currentContainer != (SOGoFolder *) accountFolder) + { + [parentFoldersBag addObject: currentContainer]; + currentContainer = [currentContainer container]; + } +} + @end