2 // AIAddBookmarkPlugin.m
5 // Created by Erik Beerepoot on 30/07/07.
6 // Copyright 2007 Adium. Licensed under the GNU GPL.
9 #import "AIAddBookmarkPlugin.h"
10 #import "AINewBookmarkWindowController.h"
11 #import <AIUtilities/AIToolbarUtilities.h>
12 #import <Adium/AIToolbarControllerProtocol.h>
13 #import <Adium/AIInterfaceControllerProtocol.h>
14 #import <Adium/AIContactControllerProtocol.h>
15 #import <AIUtilities/AIImageAdditions.h>
16 #import <Adium/AIChat.h>
17 #import <Adium/AIListBookmark.h>
19 #define TOOLBAR_ITEM_IDENTIFIER @"AddBookmark"
20 #define ADD_BOOKMARK @"Add Bookmark"
22 @implementation AIAddBookmarkPlugin
25 * @brief initializes the plugin - installs toolbaritem
30 NSToolbarItem *chatItem = [AIToolbarUtilities toolbarItemWithIdentifier:TOOLBAR_ITEM_IDENTIFIER
32 paletteLabel:ADD_BOOKMARK
33 toolTip:@"Bookmark the current chat"
35 settingSelector:@selector(setImage:)
36 itemContent:[NSImage imageNamed:@"AddressBook" forClass:[self class] loadLazily:YES]
37 action:@selector(addBookmark:)
40 [[adium toolbarController] registerToolbarItem:chatItem forToolbarType:@"MessageWindow"];
44 - (void)uninstallPlugin
50 * @brief ask delegate to prompt the user with a create bookmark window
52 - (void)addBookmark:(id)sender
54 [AINewBookmarkWindowController promptForNewBookmarkForChat:[[adium interfaceController] activeChat]
55 onWindow:[[[adium interfaceController] activeChat] window]
56 notifyingTarget:self];
58 // @brief: create a bookmark for the given chat with the given name in the given group
59 - (void)createBookmarkForChat:(AIChat *)chat withName:(NSString *)name inGroup:(AIListGroup *)group
61 AIListBookmark *bookmark = [[adium contactController] bookmarkForChat:chat];
62 [bookmark setDisplayName:name];
64 [[adium contactController] moveContact:bookmark
66 [bookmark setVisible:YES];