diff --git a/NEWS b/NEWS index ae681cab4..985c36746 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,10 @@ -2.3.5 (2016-01-DD) +2.3.6 (2016-01-XX) +------------------ + +New features + - Now able to sync only default mail folders when using EAS + +2.3.5 (2016-01-05) ------------------ Enhancements diff --git a/SoObjects/Mailer/SOGoMailAccount.m b/SoObjects/Mailer/SOGoMailAccount.m index 286d695c4..ff540d681 100644 --- a/SoObjects/Mailer/SOGoMailAccount.m +++ b/SoObjects/Mailer/SOGoMailAccount.m @@ -714,6 +714,7 @@ static NSString *inboxFolderName = @"INBOX"; NSDictionary *result, *nresult, *namespaceDict; NSMutableDictionary *folders; NGImap4Client *client; + SOGoUserDefaults *ud; NSArray *folderList; NSEnumerator *e; NSString *guid; @@ -721,7 +722,17 @@ static NSString *inboxFolderName = @"INBOX"; BOOL hasAnnotatemore; - folderList = [self allFolderPaths]; + ud = [[context activeUser] userDefaults]; + + if ([ud synchronizeOnlyDefaultMailFolders]) + folderList = [[NSArray arrayWithObjects: + [self inboxFolderNameInContext: context], + [self draftsFolderNameInContext: context], + [self sentFolderNameInContext: context], + [self trashFolderNameInContext: context], + nil] stringsWithFormat: @"/%@"]; + else + folderList = [self allFolderPaths]; folders = [NSMutableDictionary dictionary]; diff --git a/SoObjects/SOGo/SOGoUserDefaults.h b/SoObjects/SOGo/SOGoUserDefaults.h index ca84a661f..1a5889ea5 100644 --- a/SoObjects/SOGo/SOGoUserDefaults.h +++ b/SoObjects/SOGo/SOGoUserDefaults.h @@ -1,6 +1,6 @@ /* SOGoUserDefaults.h - this file is part of SOGo * - * Copyright (C) 2011-2015 Inverse inc. + * Copyright (C) 2011-2016 Inverse inc. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -93,6 +93,9 @@ extern NSString *SOGoWeekStartFirstFullWeek; - (void) setMailShowSubscribedFoldersOnly: (BOOL) newValue; - (BOOL) mailShowSubscribedFoldersOnly; +- (void) setSynchronizeOnlyDefaultMailFolders: (BOOL) newValue; +- (BOOL) synchronizeOnlyDefaultMailFolders; + - (void) setMailSortByThreads: (BOOL) newValue; - (BOOL) mailSortByThreads; diff --git a/SoObjects/SOGo/SOGoUserDefaults.m b/SoObjects/SOGo/SOGoUserDefaults.m index 100de9c95..b51fc1a6b 100644 --- a/SoObjects/SOGo/SOGoUserDefaults.m +++ b/SoObjects/SOGo/SOGoUserDefaults.m @@ -1,6 +1,6 @@ /* SOGoUserDefaults.m - this file is part of SOGo * - * Copyright (C) 2009-2015 Inverse inc. + * Copyright (C) 2009-2016 Inverse inc. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -405,6 +405,16 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek"; return [self boolForKey: @"SOGoMailShowSubscribedFoldersOnly"]; } +- (void) setSynchronizeOnlyDefaultMailFolders: (BOOL) newValue +{ + [self setBool: newValue forKey: @"SOGoMailSynchronizeOnlyDefaultFolders"]; +} + +- (BOOL) synchronizeOnlyDefaultMailFolders +{ + return [self boolForKey: @"SOGoMailSynchronizeOnlyDefaultFolders"]; +} + - (void) setMailSortByThreads: (BOOL) newValue { [self setBool: newValue forKey: @"SOGoMailSortByThreads"];