]> err.no Git - scalable-opengroupware.org/blob - UI/MailerUI/WOContext+UIxMailer.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1017 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / MailerUI / WOContext+UIxMailer.m
1 /*
2   Copyright (C) 2004-2005 SKYRIX Software AG
3
4   This file is part of OpenGroupware.org.
5
6   OGo is free software; you can redistribute it and/or modify it under
7   the terms of the GNU Lesser General Public License as published by the
8   Free Software Foundation; either version 2, or (at your option) any
9   later version.
10
11   OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12   WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14   License for more details.
15
16   You should have received a copy of the GNU Lesser General Public
17   License along with OGo; see the file COPYING.  If not, write to the
18   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19   02111-1307, USA.
20 */
21
22 #include "WOContext+UIxMailer.h"
23 #include "UIxMailFormatter.h"
24 #include "common.h"
25
26 #include <SoObjects/SOGo/SOGoUser.h>
27
28 @implementation WOContext(UIxMailer)
29
30 // TODO: make configurable
31 // TODO: cache!
32
33 - (NSFormatter *)mailSubjectFormatter {
34   return [[[UIxSubjectFormatter alloc] init] autorelease];
35 }
36
37 - (NSFormatter *)mailDateFormatter
38 {
39   NSTimeZone *userTZ;
40   NSString *userTZString;
41   id userPrefs;
42   static id dateFormatter = nil;
43
44   if (!dateFormatter)
45     {
46       dateFormatter = [UIxMailDateFormatter new];
47       userPrefs = [[self activeUser] userDefaults];
48       userTZString = [userPrefs stringForKey: @"timezonename"];
49       if ([userTZString length] > 0)
50         {
51           userTZ = [NSTimeZone timeZoneWithName: userTZString];
52           [dateFormatter setTimeZone: userTZ];
53         }
54     }
55
56   return dateFormatter;
57 }
58
59 - (NSFormatter *)mailEnvelopeAddressFormatter {
60   return [[[UIxEnvelopeAddressFormatter alloc] init] autorelease];
61 }
62 - (NSFormatter *)mailEnvelopeFullAddressFormatter {
63   return [[[UIxEnvelopeAddressFormatter alloc] 
64             initWithMaxLength:256 generateFullEMail:YES] autorelease];
65 }
66
67 @end /* WOContext(UIxMailer) */