]> err.no Git - scalable-opengroupware.org/blobdiff - SOGo/SoObjects/Mailer/SOGoMailFolder.m
improved special mail folders
[scalable-opengroupware.org] / SOGo / SoObjects / Mailer / SOGoMailFolder.m
index 43a0e61a61655c939d5ee2a154afc7ee640c4b45..2e5591252bc687558ba262caf35f7f8f21eec006 100644 (file)
 
 #include "SOGoMailFolder.h"
 #include "SOGoMailObject.h"
+#include "SOGoMailAccount.h"
 #include "SOGoMailManager.h"
 #include "common.h"
 
 @implementation SOGoMailFolder
 
 - (void)dealloc {
-  [self->filenames release];
+  [self->filenames  release];
+  [self->folderType release];
   [super dealloc];
 }
 
 
 - (NSString *)outlookFolderClass {
   // TODO: detect Trash/Sent/Drafts folders
-  return @"IPF.Folder";
+  SOGoMailAccount *account;
+  NSString *n;
+
+  if (self->folderType != nil)
+    return self->folderType;
+  
+  account = [self mailAccountFolder];
+  n       = [self nameInContainer];
+  
+  if ([n isEqualToString:[account trashFolderNameInContext:nil]])
+    self->folderType = @"IPF.Trash";
+  else if ([n isEqualToString:[account inboxFolderNameInContext:nil]])
+    self->folderType = @"IPF.Inbox";
+  else if ([n isEqualToString:[account sentFolderNameInContext:nil]])
+    self->folderType = @"IPF.Sent";
+  else
+    self->folderType = @"IPF.Folder";
+  
+  return self->folderType;
 }
 
 /* operations */