Updated Address Book scripts to work with new AppleScript API.
[adiumx.git] / Source / AIAddBookmarkPlugin.m
blob8b1c736add1f9dd35c8db2c322b8549d34fedd15
1 //
2 //  AIAddBookmarkPlugin.m
3 //  Adium
4 //
5 //  Created by Erik Beerepoot on 30/07/07.
6 //  Copyright 2007 Adium. Licensed under the GNU GPL.
7 //
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
23 /*!
24  * @name installPlugin
25  * @brief initializes the plugin - installs toolbaritem
26  */
27 - (void)installPlugin
29         
30         NSToolbarItem   *chatItem = [AIToolbarUtilities toolbarItemWithIdentifier:TOOLBAR_ITEM_IDENTIFIER
31                                                                                                                                                   label:ADD_BOOKMARK
32                                                                                                                                    paletteLabel:ADD_BOOKMARK
33                                                                                                                                                 toolTip:@"Bookmark the current chat"
34                                                                                                                                                  target:self
35                                                                                                                                 settingSelector:@selector(setImage:)
36                                                                                                                                         itemContent:[NSImage imageNamed:@"AddressBook" forClass:[self class] loadLazily:YES]
37                                                                                                                                                  action:@selector(addBookmark:)
38                                                                                                                                                    menu:nil];
39         
40         [[adium toolbarController] registerToolbarItem:chatItem forToolbarType:@"MessageWindow"];
41         
44 - (void)uninstallPlugin
48 /*!
49  * @name addBookmark
50  * @brief ask delegate to prompt the user with a create bookmark window
51  */
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];
63         
64         [[adium contactController] moveContact:bookmark
65                                                                 intoObject:group];
66         [bookmark setVisible:YES];
69 @end