bugfix for new user without userSettings.mail

This commit is contained in:
Alexandre Cloutier
2014-09-09 13:50:42 -04:00
parent 06f81a032c
commit 7db526a5d9
2 changed files with 9 additions and 8 deletions
+4 -5
View File
@@ -156,12 +156,13 @@
co = [self clientObject];
us = [[context activeUser] userSettings];
moduleSettings = [us objectForKey: @"Mail"];
if (!(moduleSettings = [us objectForKey: @"Mail"]))
[us setObject:[NSMutableDictionary dictionnary] forKey: @"Mail"];
msguid = [co nameInContainer];
currentMailbox = [[co container] nameInContainer];
currentAccount = [[[co container] container] nameInContainer];
keyForMsgUIDs = [NSString stringWithFormat:@"/%@/%@", currentAccount, currentMailbox];
if (isCollapsing)
{
// Check if the module threadsCollapsed is created in the userSettings
@@ -196,14 +197,12 @@
if ((mailboxThreadsCollapsed = [threadsCollapsed objectForKey:keyForMsgUIDs]))
{
[mailboxThreadsCollapsed removeObject:msguid];
if ([mailboxThreadsCollapsed count] == 0)
[threadsCollapsed removeObjectForKey:keyForMsgUIDs];
}
}
// TODO : Manage errors
// TODO : Manage errors
}
[us synchronize];
}
+5 -3
View File
@@ -35,7 +35,7 @@ var messageCheckTimer;
// Variables for feature threadsCollapsing
var displayThreadElement = false;
var cachedThreadsCollapsed = UserSettings.Mail.threadsCollapsed;
var cachedThreadsCollapsed = (UserSettings.Mail ? UserSettings.Mail.threadsCollapsed: []);
/* We need to override this method since it is adapted to GCS-based folder
references, which we do not use here */
@@ -2608,8 +2608,10 @@ function onMenuToggleMessageFlag(event) {
function refreshUserSettingsCallback(http) {
var allUserSettings = http.response.evalJSON();
UserSettings.Mail = allUserSettings.Mail;
cachedThreadsCollapsed = UserSettings.Mail.threadsCollapsed;
if (UserSettings.Mail) {
UserSettings.Mail = allUserSettings.Mail;
cachedThreadsCollapsed = UserSettings.Mail.threadsCollapsed;
}
refreshMailbox();
}