Put NSAutoreleasePool usage around other distributed notification observer methods
[adiumx.git] / Source / BGContactNotesPlugin.m
blob96f496123f3d3c73873f7ed642cbfb1069f03fcd
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 <Adium/AIContactControllerProtocol.h>
18 //#import "AIContactInfoWindowController.h"
19 //#import "AIContactListEditorPlugin.h"
20 #import <Adium/AIInterfaceControllerProtocol.h>
21 #import "BGContactNotesPlugin.h"
22 //#import <AddressBook/AddressBook.h>
23 #import <Adium/AIListObject.h>
25 #define KEY_AB_NOTE_SYNC                        @"AB Note Sync"
27 /*!
28  * @class BGContactNotesPlugin
29  * @brief Component to show contact notes in tooltips
30  */
31 @implementation BGContactNotesPlugin
33 /*!
34  * @brief Install
35  */
36 - (void)installPlugin
37 {    
38     //Install our tooltip entry
39     [[adium interfaceController] registerContactListTooltipEntry:self secondaryEntry:YES];
42 /*!
43  * @brief Tooltip label
44  *
45  * @result A label, or nil if no tooltip entry should be shown
46  */
47 - (NSString *)labelForObject:(AIListObject *)inObject
49     return AILocalizedString(@"Notes", "Short identifier for the 'notes' which can be entered for contacts. This will be shown in the contact list tooltips.");
52 /*!
53  * @brief Tooltip entry
54  *
55  * @result The tooltip entry, or nil if no tooltip should be shown
56  */
57 - (NSAttributedString *)entryForObject:(AIListObject *)inObject
59     NSAttributedString  *entry = nil;
60         NSString                        *currentNotes;
61     
62         if ((currentNotes = [inObject preferenceForKey:@"Notes" group:PREF_GROUP_NOTES ignoreInheritedValues:YES]) ||
63            (currentNotes = [inObject statusObjectForKey:@"Notes"])) {
64         entry = [[NSAttributedString alloc] initWithString:currentNotes];
65     }
66     
67     return [entry autorelease];
70 @end