]> err.no Git - scalable-opengroupware.org/blobdiff - UI/MailerUI/UIxMailListView.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1087 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / MailerUI / UIxMailListView.m
index 86844b86152180dc9b3a1e9b170f6b12dcb3ff3a..f0a2ff930345594c7fc47dbd1751d16886a8cbd2 100644 (file)
   object.
 */
 
-#define messagesPerPage 50
-
-#include "common.h"
-#include <SoObjects/Mailer/SOGoMailFolder.h>
-#include <SoObjects/Mailer/SOGoMailObject.h>
-#include <NGObjWeb/SoObject+SoDAV.h>
+#import <Foundation/NSCalendarDate.h>
+#import <Foundation/NSDictionary.h>
+#import <Foundation/NSValue.h>
+#import <NGObjWeb/WOResponse.h>
+#import <NGObjWeb/WORequest.h>
+#import <NGObjWeb/SoObject+SoDAV.h>
+#import <NGObjWeb/NSException+HTTP.h>
+#import <NGExtensions/NSNull+misc.h>
+#import <NGExtensions/NSString+misc.h>
+
+#import <SoObjects/Mailer/SOGoMailFolder.h>
+#import <SoObjects/Mailer/SOGoMailObject.h>
+#import <SoObjects/SOGo/SOGoDateFormatter.h>
+#import <SoObjects/SOGo/SOGoUser.h>
 
 #import "UIxMailListView.h"
 
+#define messagesPerPage 50
 static int attachmentFlagSize = 8096;
 
 @implementation UIxMailListView
@@ -45,6 +54,8 @@ static int attachmentFlagSize = 8096;
   [self->sortedUIDs release];
   [self->messages   release];
   [self->message    release];
+  [dateFormatter release];
+  [userTimeZone release];
   [super dealloc];
 }
 
@@ -71,6 +82,16 @@ static int attachmentFlagSize = 8096;
   return self->message;
 }
 
+- (NSString *) messageDate
+{
+  NSCalendarDate *messageDate;
+
+  messageDate = [[message objectForKey: @"envelope"] date];
+  [messageDate setTimeZone: userTimeZone];
+
+  return [dateFormatter formattedDateAndTime: messageDate];
+}
+
 - (void) setQualifier: (EOQualifier *) _msg 
 {
   ASSIGN(self->qualifier, _msg);
@@ -309,10 +330,17 @@ static int attachmentFlagSize = 8096;
   NSArray  *msgs;
   NSRange  r;
   unsigned len;
+  SOGoUser *user;
   
   if (self->messages != nil)
     return self->messages;
-  
+
+  user = [context activeUser];
+  if (!dateFormatter)
+    dateFormatter = [user dateFormatterInContext: context];
+  if (!userTimeZone)
+    ASSIGN (userTimeZone, [user timeZone]);
+
   r    = [self fetchBlock];
   uids = [self sortedUIDs];
   if ((len = [uids count]) > r.length)