Deleting a mail folder doesn't create the Trash mailbox.
This commit is contained in:
Luc Charland
2012-09-25 10:29:24 -04:00
parent 129880f8c5
commit dfe369dd20
3 changed files with 54 additions and 28 deletions

View File

@@ -86,6 +86,8 @@
- (BOOL) create;
- (BOOL) ensureTrashFolder;
- (NSException *) expunge;
- (NSException *) renameTo: (NSString *) newName;

View File

@@ -414,17 +414,15 @@ static NSString *defaultUserID = @"anyone";
{
// If our Trash folder doesn't exist when we try to copy messages
// to it, we create it.
result = [[client status: folderName flags: [NSArray arrayWithObject: @"UIDVALIDITY"]]
objectForKey: @"result"];
b = [self ensureTrashFolder];
if (![result boolValue])
[imap4 createMailbox: folderName
atURL: [[self mailAccountFolder] imap4URL]];
if (b)
{
result = [[client copyUids: uids toFolder: folderName]
objectForKey: @"result"];
result = [[client copyUids: uids toFolder: folderName]
objectForKey: @"result"];
b = [result boolValue];
b = [result boolValue];
}
}
}
else
@@ -956,6 +954,24 @@ static NSString *defaultUserID = @"anyone";
return rc;
}
- (BOOL) ensureTrashFolder
{
SOGoMailFolder *trashFolder;
BOOL rc;
trashFolder = [[self mailAccountFolder] trashFolderInContext: context];
rc = NO;
if (![trashFolder isKindOfClass: [NSException class]])
{
rc = [trashFolder exists];
if (!rc)
rc = [trashFolder create];
}
if (!rc)
[self errorWithFormat: @"Cannot create Trash Mailbox"];
return rc;
}
- (NSException *) delete
{
NSException *error;