2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
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.
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.
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.
19 #import "AIToolbarController.h"
21 #define TOOLBAR_DEFAULT_PREFS @"ToolbarPrefs"
22 #define TOOLBAR_ITEMS_PREFIX @"ToolbarItems_"
24 @implementation AIToolbarController
26 - (void)initController
28 toolbarItems = [[NSMutableDictionary alloc] init];
31 - (void)closeController
33 [toolbarItems release];
36 - (void)registerToolbarItem:(NSToolbarItem *)item forToolbarType:(NSString *)type
38 NSMutableDictionary *itemDict = [toolbarItems objectForKey:type];
41 itemDict = [NSMutableDictionary dictionary];
44 [itemDict setObject:item forKey:[item itemIdentifier]];
45 [toolbarItems setObject:itemDict forKey:type];
48 - (void)unregisterToolbarItem:(NSToolbarItem *)item forToolbarType:(NSString *)type
50 NSMutableDictionary *itemDict = [toolbarItems objectForKey:type];
51 [itemDict removeObjectForKey:[item itemIdentifier]];
54 - (NSDictionary *)toolbarItemsForToolbarTypes:(NSArray *)types
56 NSMutableDictionary *items = [NSMutableDictionary dictionary];
58 NSEnumerator *enumerator = [types objectEnumerator];
60 NSDictionary *availableItems;
62 //Add our toolbar items
63 while((type = [enumerator nextObject])){
64 if((availableItems = [toolbarItems objectForKey:type])){
65 [items addEntriesFromDictionary:availableItems];