aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPGroupNode.m
diff options
context:
space:
mode:
Diffstat (limited to 'Source/SPGroupNode.m')
-rw-r--r--Source/SPGroupNode.m17
1 files changed, 16 insertions, 1 deletions
diff --git a/Source/SPGroupNode.m b/Source/SPGroupNode.m
index debc0b84..e1a0dfb3 100644
--- a/Source/SPGroupNode.m
+++ b/Source/SPGroupNode.m
@@ -61,11 +61,25 @@ static NSString *SPGroupNodeIsExpandedKey = @"SPGroupNodeIsExpanded";
return self;
}
+- (id)initWithDictionary:(NSDictionary *)dict
+{
+ if ((self = [self initWithName:[dict objectForKey:SPFavoritesGroupNameKey]])) {
+ [self setNodeIsExpanded:[(NSNumber *)[dict objectForKey:SPFavoritesGroupIsExpandedKey] boolValue]];
+ }
+
+ return self;
+}
+
+ (SPGroupNode *)groupNodeWithName:(NSString *)name
{
return [[[self alloc] initWithName:name] autorelease];
}
++ (SPGroupNode *)groupNodeWithDictionary:(NSDictionary *)dict
+{
+ return [[[self alloc] initWithDictionary:dict] autorelease];
+}
+
#pragma mark -
#pragma mark Copying protocol methods
@@ -84,6 +98,7 @@ static NSString *SPGroupNodeIsExpandedKey = @"SPGroupNodeIsExpanded";
- (id)initWithCoder:(NSCoder *)coder
{
+#warning This is not a valid initializer.
[self setNodeName:[coder decodeObjectForKey:SPGroupNodeNameKey]];
[self setNodeIsExpanded:[[coder decodeObjectForKey:SPGroupNodeIsExpandedKey] boolValue]];
@@ -108,7 +123,7 @@ static NSString *SPGroupNodeIsExpandedKey = @"SPGroupNodeIsExpanded";
- (void)dealloc
{
- if (nodeName) [nodeName release], nodeName = nil;
+ if (nodeName) SPClear(nodeName);
[super dealloc];
}