Put NSAutoreleasePool usage around other distributed notification observer methods
[adiumx.git] / Source / AIToolbarController.m
bloba9d5263e25d81d6128afe5c91f5ba6db0d27b051
1 /* 
2  * Adium is the legal property of its developers, whose names are listed in the copyright file included
3  * with this source distribution.
4  * 
5  * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6  * General Public License as published by the Free Software Foundation; either version 2 of the License,
7  * or (at your option) any later version.
8  * 
9  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
11  * Public License for more details.
12  * 
13  * You should have received a copy of the GNU General Public License along with this program; if not,
14  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
15  */
17 #import "AIToolbarController.h"
19 @implementation AIToolbarController
21 - (id)init
23         if ((self = [super init])) {
24                 toolbarItems = [[NSMutableDictionary alloc] init];
25         }
26         
27         return self;
30 - (void)controllerDidLoad
34 - (void)controllerWillClose
36         [toolbarItems release];
39 - (void)registerToolbarItem:(NSToolbarItem *)item forToolbarType:(NSString *)type
41         NSMutableDictionary             *itemDict = [toolbarItems objectForKey:type];
43         if (!itemDict) {
44                 itemDict = [NSMutableDictionary dictionary];
45         }
47         [itemDict setObject:item forKey:[item itemIdentifier]];
48         [toolbarItems setObject:itemDict forKey:type];
51 - (void)unregisterToolbarItem:(NSToolbarItem *)item forToolbarType:(NSString *)type
53         NSMutableDictionary             *itemDict = [toolbarItems objectForKey:type];
54         [itemDict removeObjectForKey:[item itemIdentifier]];
57 - (NSDictionary *)toolbarItemsForToolbarTypes:(NSArray *)types
59         NSMutableDictionary     *items = [NSMutableDictionary dictionary];
61         NSEnumerator            *enumerator = [types objectEnumerator];
62         NSString                        *type;
63         NSDictionary            *availableItems;
65         //Add our toolbar items
66         while ((type = [enumerator nextObject])) {
67                 if ((availableItems = [toolbarItems objectForKey:type])) {
68                         [items addEntriesFromDictionary:availableItems];
69                 }
70         }
72         return items;
75 @end