diff --git a/UI/MailerUI/UIxMailListView.h b/UI/MailerUI/UIxMailListView.h index c98cb4ba5..7d7fd458a 100644 --- a/UI/MailerUI/UIxMailListView.h +++ b/UI/MailerUI/UIxMailListView.h @@ -22,9 +22,10 @@ #ifndef UIXMAILLISTVIEW_H #define UIXMAILLISTVIEW_H -#include +#import @class EOQualifier; +@class SOGoDateFormatter; @interface UIxMailListView : UIxComponent { @@ -33,6 +34,8 @@ unsigned firstMessageNumber; id message; EOQualifier *qualifier; + SOGoDateFormatter *dateFormatter; + NSTimeZone *userTimeZone; } - (NSString *)defaultSortKey; diff --git a/UI/MailerUI/UIxMailListView.m b/UI/MailerUI/UIxMailListView.m index 86844b861..f0a2ff930 100644 --- a/UI/MailerUI/UIxMailListView.m +++ b/UI/MailerUI/UIxMailListView.m @@ -26,15 +26,24 @@ object. */ -#define messagesPerPage 50 +#import +#import +#import +#import +#import +#import +#import +#import +#import -#include "common.h" -#include -#include -#include +#import +#import +#import +#import #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)