Accelerated basic page loading by caching the user language
parent
1080bee3ba
commit
cf0e0691f6
|
@ -35,6 +35,9 @@ extern NSString *SOGoWeekStartFirst4DayWeek;
|
|||
extern NSString *SOGoWeekStartFirstFullWeek;
|
||||
|
||||
@interface SOGoUserDefaults : SOGoDefaultsSource
|
||||
{
|
||||
NSString *userLanguage;
|
||||
}
|
||||
|
||||
+ (SOGoUserDefaults *) defaultsForUser: (NSString *) userId
|
||||
inDomain: (NSString *) domainId;
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <Foundation/NSDictionary.h>
|
||||
#import <Foundation/NSSet.h>
|
||||
#import <Foundation/NSString.h>
|
||||
#import <Foundation/NSTimeZone.h>
|
||||
|
||||
|
@ -91,6 +92,22 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek";
|
|||
return ud;
|
||||
}
|
||||
|
||||
- (id) init
|
||||
{
|
||||
if ((self = [super init]))
|
||||
{
|
||||
userLanguage = nil;
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
[userLanguage release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (BOOL) _migrateLastModule
|
||||
{
|
||||
BOOL rc;
|
||||
|
@ -355,21 +372,25 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek";
|
|||
|
||||
- (NSString *) language
|
||||
{
|
||||
NSString *language;
|
||||
NSArray *supportedLanguages;
|
||||
|
||||
/* see SOGoDomainDefaults for the meaning of this */
|
||||
language = [source objectForKey: @"SOGoLanguage"];
|
||||
if (!(language && [language isKindOfClass: [NSString class]]))
|
||||
language = [(SOGoDomainDefaults *) parentSource language];
|
||||
|
||||
/* make sure the language is part of the supported languages */
|
||||
supportedLanguages = [[SOGoSystemDefaults sharedSystemDefaults]
|
||||
supportedLanguages];
|
||||
if (![supportedLanguages containsObject: language])
|
||||
language = [parentSource stringForKey: @"SOGoLanguage"];
|
||||
|
||||
return language;
|
||||
if (!userLanguage)
|
||||
{
|
||||
/* see SOGoDomainDefaults for the meaning of this */
|
||||
userLanguage = [source objectForKey: @"SOGoLanguage"];
|
||||
if (!(userLanguage && [userLanguage isKindOfClass: [NSString class]]))
|
||||
userLanguage = [(SOGoDomainDefaults *) parentSource language];
|
||||
|
||||
supportedLanguages = [[SOGoSystemDefaults sharedSystemDefaults]
|
||||
supportedLanguages];
|
||||
|
||||
/* make sure the language is part of the supported languages */
|
||||
if (![supportedLanguages containsObject: userLanguage])
|
||||
userLanguage = [parentSource stringForKey: @"SOGoLanguage"];
|
||||
[userLanguage retain];
|
||||
}
|
||||
|
||||
return userLanguage;
|
||||
}
|
||||
|
||||
- (void) setMailShowSubscribedFoldersOnly: (BOOL) newValue
|
||||
|
|
Loading…
Reference in New Issue