From 228dd343c0f3c3dc1800839545c39c58e2c5525a Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 17 Jul 2006 17:28:29 +0000 Subject: [PATCH] Monotone-Parent: a2a755bb974fa1ddef5662d996422c2b90023444 Monotone-Revision: 19b97126f927844e30fc782a413c4551aa3ac925 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2006-07-17T17:28:29 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 ++++++ UI/MailerUI/WOContext+UIxMailer.m | 24 ++++++++++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b60a6708a..e5c67527b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2006-07-17 Wolfgang Sourdeau + * UI/MailerUI/WOContext+UIxMailer.m ([WOContext + -mailDateFormatter]): retrieve the timezone from the user settings + and pass it to the returned dateFormatter. Also, the dateFormatter + is kept in a static variable to avoid useless + creations/destructions. + * UI/MailerUI/UIxMailFormatter.m ([UIxMailDateFormatter -setTimeZone:newTimeZone]): new accessor to specify the timezone. diff --git a/UI/MailerUI/WOContext+UIxMailer.m b/UI/MailerUI/WOContext+UIxMailer.m index 9489b7d02..fb4b4432c 100644 --- a/UI/MailerUI/WOContext+UIxMailer.m +++ b/UI/MailerUI/WOContext+UIxMailer.m @@ -23,6 +23,8 @@ #include "UIxMailFormatter.h" #include "common.h" +#include + @implementation WOContext(UIxMailer) // TODO: make configurable @@ -32,8 +34,26 @@ return [[[UIxSubjectFormatter alloc] init] autorelease]; } -- (NSFormatter *)mailDateFormatter { - return [[[UIxMailDateFormatter alloc] init] autorelease]; +- (NSFormatter *)mailDateFormatter +{ + NSTimeZone *userTZ; + NSString *userTZString; + id userPrefs; + static id dateFormatter = nil; + + if (!dateFormatter) + { + dateFormatter = [UIxMailDateFormatter new]; + userPrefs = [[self activeUser] userDefaults]; + userTZString = [userPrefs stringForKey: @"timezonename"]; + if ([userTZString length] > 0) + { + userTZ = [NSTimeZone timeZoneWithName: userTZString]; + [dateFormatter setTimeZone: userTZ]; + } + } + + return dateFormatter; } - (NSFormatter *)mailEnvelopeAddressFormatter {