Merged [13645] and [13646]: Fixed one of the longest-standing Adium bugs: The Color...
[adiumx.git] / Source / AIToolbarController.m
blob56109343a12dfbb9aa18183ea247dbd6b5ff36a7
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 // $Id$
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];
40         if(!itemDict){
41                 itemDict = [NSMutableDictionary dictionary];
42         }
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];
59         NSString                        *type;
60         NSDictionary            *availableItems;
62         //Add our toolbar items
63         while((type = [enumerator nextObject])){
64                 if((availableItems = [toolbarItems objectForKey:type])){
65                         [items addEntriesFromDictionary:availableItems];
66                 }
67         }
69         return items;
72 @end