mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-03-11 01:41:22 +00:00
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:
10
ChangeLog
10
ChangeLog
@@ -1,5 +1,15 @@
|
||||
2010-08-09 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* UI/Common/UIxPageFrame.m (-setUserDefaultsKeys:)
|
||||
(-hasUserDefaultsKeys, -setUserSettingsKeys:)
|
||||
(-hasUserSettingsKeys): new accessor for determining explicitly
|
||||
which user defaults/settings keys are returned. The new
|
||||
corresponding ivars are "udKeys" and "usKeys" respectively.
|
||||
(-userDefaults, -userSettings): rewrote methods to create a
|
||||
dictionary containing only the requested keys (see above). Since
|
||||
the source are now explicitly queried, the values can now be
|
||||
inherited from the domain and system defaults.
|
||||
|
||||
* UI/WebServerResources/UIxFilterEditor.js (loadMailboxes): the
|
||||
first account is now always identitied with "0", therefore we no
|
||||
longer need the "firstMailAccount" variable.
|
||||
|
||||
@@ -40,6 +40,8 @@
|
||||
NSString *toolbar;
|
||||
id item;
|
||||
BOOL isPopup;
|
||||
NSArray *udKeys;
|
||||
NSArray *usKeys;
|
||||
NSMutableArray *additionalCSSFiles;
|
||||
NSMutableArray *additionalJSFiles;
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
className="UIxPageFrame"
|
||||
title="panelTitle"
|
||||
const:popup="YES"
|
||||
const:userDefaultsKeys="SOGoMailComposeMessageType,SOGoMailReplyPlacement,SOGoMailSignature"
|
||||
const:jsFiles="UIxMailToSelection.js,ckeditor/ckeditor.js,SOGoAutoCompletion.js">
|
||||
<script type="text/javascript">
|
||||
var mailIsReply = <var:string value="isMailReply"/>;
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
xmlns:label="OGo:label"
|
||||
className="UIxPageFrame"
|
||||
title="title"
|
||||
const:userDefaultsKeys="SOGoMailMessageCheck,SOGoMailListViewColumnsOrder"
|
||||
const:userSettingsKeys="Mail"
|
||||
const:jsFiles="dtree.js,MailerUIdTree.js,SOGoAutoCompletion.js,SOGoResizableTable.js,SOGoMailDataSource.js,SOGoDataTable.js">
|
||||
<script type="text/javascript">
|
||||
var textMailAccounts = '<var:string value="mailAccounts" const:escapeHTML="NO"/>';
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
xmlns:rsrc="OGo:url"
|
||||
xmlns:label="OGo:label"
|
||||
className="UIxPageFrame"
|
||||
const:userDefaultsKeys="SOGoCalendarCategoriesColors"
|
||||
const:userSettingsKeys="Calendar,ShowCompletedTasks"
|
||||
const:jsFiles="SchedulerUIDnD.js"
|
||||
title="title">
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -45,8 +45,19 @@
|
||||
><var:if condition="isPopup" const:negate="YES"
|
||||
><var:if condition="isUIxDebugEnabled"
|
||||
><div id="logConsole"><!-- space --></div></var:if>
|
||||
<div id="linkBanner" class="linkbanner">
|
||||
<var:if condition="canLogoff"
|
||||
<var:if condition="shortUserNameForDisplay" const:value="anonymous"
|
||||
const:negate="YES"><var:if condition="hasUserSettingsKeys"
|
||||
><script type="text/javascript">
|
||||
var UserSettings = <var:string value="userSettings" const:escapeHTML="NO"/>;
|
||||
</script
|
||||
></var:if><var:if condition="hasUserDefaultsKeys">
|
||||
<script type="text/javascript">
|
||||
var UserDefaults = <var:string value="userDefaults" const:escapeHTML="NO"/>;
|
||||
</script
|
||||
></var:if
|
||||
></var:if>
|
||||
<div id="linkBanner" class="linkbanner">
|
||||
<var:if condition="canLogoff"
|
||||
><a id="logoff" var:href="logoffPath"
|
||||
><var:string label:value="Disconnect"/> </a
|
||||
><span id="userIdentificationDisplay">
|
||||
@@ -127,8 +138,7 @@
|
||||
>var UserFolderURL = '<var:string value="userFolderPath" const:escapeHTML="NO"/>';
|
||||
var UserLogin = '<var:string value="shortUserNameForDisplay" const:escapeHTML="NO"/>';
|
||||
var UserLanguage = '<var:string value="userLanguage" const:escapeHTML="NO"/>';
|
||||
var UserSettings = <var:string value="userSettings" const:escapeHTML="NO"/>;
|
||||
var UserDefaults = <var:string value="userDefaults" const:escapeHTML="NO"/>;</var:if>
|
||||
</var:if>
|
||||
<var:string value="commonLocalizableStrings" const:escapeHTML="NO"/>
|
||||
<var:string value="productLocalizableStrings" const:escapeHTML="NO"/>
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user