Put NSAutoreleasePool usage around other distributed notification observer methods
[adiumx.git] / Source / ESContactServersideDisplayName.m
blobab9d8872309b36b2110a0cd8557c6d36ee51047e
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/AIInterfaceControllerProtocol.h>
18 #import "ESContactServersideDisplayName.h"
19 #import <Adium/AIListObject.h>
21 /*!
22  * @class ESContactServersideDisplayName
23  * @brief Tooltip component: Serverside Display Name
24  *
25  * Only shows the serverside display name if it is not the same as the normal display name.
26  */
27 @implementation ESContactServersideDisplayName
29 /*!
30  * @brief Install
31  */
32 - (void)installPlugin
34     //Install our tooltip entry
35     [[adium interfaceController] registerContactListTooltipEntry:self secondaryEntry:YES];
38 /*!
39  * @brief Tooltip label
40  *
41  * @result A label, or nil if no tooltip entry should be shown
42  */
43 - (NSString *)labelForObject:(AIListObject *)inObject
45     return AILocalizedString(@"Display Name",nil);
48 /*!
49  * @brief Tooltip entry
50  *
51  * @result The tooltip entry, or nil if no tooltip should be shown
52  */
53 - (NSAttributedString *)entryForObject:(AIListObject *)inObject
55     NSString                    *serverDisplayName;
56     NSAttributedString  *entry = nil;
57         
58     //Get the server display name
59     serverDisplayName = [inObject statusObjectForKey:@"Server Display Name"];
60     
61     //Return the correct string
62     if (serverDisplayName && ![serverDisplayName isEqualToString:[inObject displayName]]) {
63                 entry = [[NSAttributedString alloc] initWithString:serverDisplayName];
64     }
65         
66     return [entry autorelease];
69 @end