diff --git a/ChangeLog b/ChangeLog index b7849ff96..00bc76dec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2007-08-22 Wolfgang Sourdeau + * SoObjects/SOGo/SOGoUser.m ([SOGoUser -language]): change the + algorithm to return, in order, the user's defined language or the + first browser language or, finally, the default language. + ([SOGoUser -messageForwarding]): new method that returns the user + preference for message forwarding: "inline" or "attached", + defaulting to "attached". + * SoObjects/Mailer/SOGoMailObject+Draft.m ([SOGoMailObject -contentForInlineForward]): new method that returns the content of the message for inline forwarding based on the SOGoMailForward diff --git a/SoObjects/SOGo/SOGoUser.h b/SoObjects/SOGo/SOGoUser.h index 5d4bd9ad3..335e371ec 100644 --- a/SoObjects/SOGo/SOGoUser.h +++ b/SoObjects/SOGo/SOGoUser.h @@ -103,6 +103,7 @@ extern NSString *SOGoWeekStartFirstFullWeek; - (NSArray *) mailAccounts; - (NSArray *) allIdentities; - (NSDictionary *) primaryIdentity; +- (NSString *) messageForwarding; /* folders */ diff --git a/SoObjects/SOGo/SOGoUser.m b/SoObjects/SOGo/SOGoUser.m index 3dc5273a5..9dedfae46 100644 --- a/SoObjects/SOGo/SOGoUser.m +++ b/SoObjects/SOGo/SOGoUser.m @@ -25,6 +25,8 @@ #import #import #import +#import +#import #import #import @@ -310,10 +312,20 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek"; - (NSString *) language { + NSArray *bLanguages; + WOContext *context; + if (!language) { language = [[self userDefaults] stringForKey: @"Language"]; - if (!language) + if (![language length]) + { + context = [[WOApplication application] context]; + bLanguages = [[context request] browserLanguages]; + if ([bLanguages count] > 0) + language = [bLanguages objectAtIndex: 0]; + } + if (![language length]) language = defaultLanguage; [language retain]; } @@ -452,6 +464,18 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek"; return [[defaultAccount objectForKey: @"identities"] objectAtIndex: 0]; } +- (NSString *) messageForwarding +{ + NSString *messageForwarding; + + messageForwarding + = [[self userDefaults] stringForKey: @"MessageForwarding"]; + if (![messageForwarding length]) + messageForwarding = @"attached"; + + return messageForwarding; +} + /* folders */ // TODO: those methods should check whether the traversal stack in the context