Monotone-Parent: 0bad93574cbb34f80f8e581a8347fec75a28f612

Monotone-Revision: 31bbff0f57dce6334191e5cabb61c655e5022a37

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2010-08-09T14:17:22
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2010-08-09 14:17:22 +00:00
parent fc12cf9fd9
commit 308de80e6a
7 changed files with 86 additions and 17 deletions
+55 -13
View File
@@ -25,6 +25,7 @@
#import <NGObjWeb/WOResourceManager.h>
#import <SOGo/NSArray+Utilities.h>
#import <SOGo/NSDictionary+Utilities.h>
#import <SOGo/SOGoUser.h>
#import <SOGo/SOGoUserDefaults.h>
@@ -44,6 +45,8 @@
item = nil;
title = nil;
toolbar = nil;
udKeys = nil;
usKeys = nil;
additionalJSFiles = nil;
additionalCSSFiles = nil;
}
@@ -56,6 +59,8 @@
[item release];
[title release];
[toolbar release];
[udKeys release];
[usKeys release];
[additionalJSFiles release];
[additionalCSSFiles release];
[super dealloc];
@@ -453,30 +458,67 @@
return [ud language];
}
- (NSString *) userSettings
/* UserDefaults, UserSettings */
- (NSString *) _dictionaryWithKeys: (NSArray *) keys
fromSource: (SOGoDefaultsSource *) source
{
SOGoUserSettings *us;
NSString *jsonResult;
NSString *key;
int count, max;
NSMutableDictionary *dict;
us = [[context activeUser] userSettings];
jsonResult = [[us source] jsonRepresentation];
if (!jsonResult)
jsonResult = @"{}";
max = [keys count];
return jsonResult;
dict = [NSMutableDictionary dictionaryWithCapacity: max];
for (count = 0; count < max; count++)
{
key = [keys objectAtIndex: count];
[dict setObject: [source objectForKey: key]
forKey: key];
}
return [dict jsonRepresentation];
}
- (void) setUserDefaultsKeys: (NSString *) newKeys
{
[udKeys release];
udKeys = [[newKeys componentsSeparatedByString: @","] trimmedComponents];
[udKeys retain];
}
- (BOOL) hasUserDefaultsKeys
{
return ([udKeys count] > 0);
}
- (NSString *) userDefaults
{
SOGoUserDefaults *ud;
NSString *jsonResult;
ud = [[context activeUser] userDefaults];
jsonResult = [[ud source] jsonRepresentation];
if (!jsonResult)
jsonResult = @"{}";
return jsonResult;
return [self _dictionaryWithKeys: udKeys fromSource: ud];
}
- (void) setUserSettingsKeys: (NSString *) newKeys
{
[usKeys release];
usKeys = [[newKeys componentsSeparatedByString: @","] trimmedComponents];
[usKeys retain];
}
- (BOOL) hasUserSettingsKeys
{
return ([usKeys count] > 0);
}
- (NSString *) userSettings
{
SOGoUserSettings *us;
us = [[context activeUser] userSettings];
return [self _dictionaryWithKeys: usKeys fromSource: us];
}
/* browser/os identification */