]> granicus.if.org Git - transmission/commitdiff
don't archive group images; update group images when colors change
authorMitchell Livingston <livings124@transmissionbt.com>
Sat, 31 May 2008 03:11:59 +0000 (03:11 +0000)
committerMitchell Livingston <livings124@transmissionbt.com>
Sat, 31 May 2008 03:11:59 +0000 (03:11 +0000)
macosx/GroupsController.m

index ff857586fc538818768f22839cbb6ab6b1514e1e..cb02c26035e585834778d5c0e4088411a188a607 100644 (file)
@@ -157,7 +157,10 @@ GroupsController * fGroupsInstance = nil;
 
 - (NSColor *) setColor: (NSColor *) color forIndex: (int) index
 {
-    [[fGroups objectAtIndex: [self rowValueForIndex: index]] setObject: color forKey: @"Color"];
+    NSMutableDictionary * dict = [fGroups objectAtIndex: [self rowValueForIndex: index]];
+    [dict removeObjectForKey: @"Icon"];
+    
+    [dict setObject: color forKey: @"Color"];
     
     [[GroupsController groups] saveGroups];
     [[NSNotificationCenter defaultCenter] postNotificationName: @"UpdateGroups" object: self];
@@ -296,7 +299,19 @@ GroupsController * fGroupsInstance = nil;
 
 - (void) saveGroups
 {
-    [[NSUserDefaults standardUserDefaults] setObject: [NSArchiver archivedDataWithRootObject: fGroups] forKey: @"Groups"];
+    //don't archive the icon
+    NSMutableArray * groups = [NSMutableArray arrayWithCapacity: [fGroups count]];
+    NSEnumerator * enumerator = [fGroups objectEnumerator];
+    NSDictionary * dict;
+    while ((dict = [enumerator nextObject]))
+    {
+        NSMutableDictionary * newDict = [dict mutableCopy];
+        [newDict removeObjectForKey: @"Icon"];
+        [groups addObject: newDict];
+        [newDict release];
+    }
+    
+    [[NSUserDefaults standardUserDefaults] setObject: [NSArchiver archivedDataWithRootObject: groups] forKey: @"Groups"];
 }
 
 - (NSImage *) imageForGroup: (NSMutableDictionary *) dict