diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.h b/SoObjects/Appointments/SOGoAppointmentFolder.h index 4a56a3eea..7a1a5250a 100644 --- a/SoObjects/Appointments/SOGoAppointmentFolder.h +++ b/SoObjects/Appointments/SOGoAppointmentFolder.h @@ -61,6 +61,9 @@ - (NSString *) calendarColor; - (void) setCalendarColor: (NSString *) newColor; +- (NSString *) syncTag; +- (void) setSyncTag: (NSString *) newSyncTag; + /* selection */ - (NSArray *) calendarUIDs; diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.m b/SoObjects/Appointments/SOGoAppointmentFolder.m index 0ba6b50ab..bae8fa3d1 100644 --- a/SoObjects/Appointments/SOGoAppointmentFolder.m +++ b/SoObjects/Appointments/SOGoAppointmentFolder.m @@ -329,6 +329,47 @@ static Class sogoAppointmentFolderKlass = Nil; [settings synchronize]; } +- (NSString *) syncTag +{ + NSUserDefaults *settings; + NSDictionary *syncTags; + NSString *syncTag; + + settings = [[context activeUser] userSettings]; + syncTags = [[settings objectForKey: @"Calendar"] + objectForKey: @"FolderSyncTags"]; + syncTag = [syncTags objectForKey: [self folderReference]]; + if (!syncTag) + syncTag = @""; + + return syncTag; +} + +#warning this code shares a lot with the colour code +- (void) setSyncTag: (NSString *) newSyncTag +{ + NSUserDefaults *settings; + NSMutableDictionary *calendarSettings; + NSMutableDictionary *syncTags; + + settings = [[context activeUser] userSettings]; + calendarSettings = [settings objectForKey: @"Calendar"]; + if (!calendarSettings) + { + calendarSettings = [NSMutableDictionary dictionary]; + [settings setObject: calendarSettings + forKey: @"Calendar"]; + } + syncTags = [calendarSettings objectForKey: @"FolderSyncTags"]; + if (!syncTags) + { + syncTags = [NSMutableDictionary dictionary]; + [calendarSettings setObject: syncTags forKey: @"FolderSyncTags"]; + } + [syncTags setObject: newSyncTag forKey: [self folderReference]]; + [settings synchronize]; +} + /* logging */ - (id) debugLogger