* Fixed the objectSpecifier of `AIStatusItem`s to be based on the unique ID rather...
[adiumx.git] / Source / AIAccountListPreferencesPlugin.m
blobd163e1228c20f044df5975ada70bd24ccfff5492
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 "AIAccountListPreferencesPlugin.h"
18 #import "AIAccountListPreferences.h"
19 #import <Adium/AIMenuControllerProtocol.h>
20 #import <AIUtilities/AIMenuAdditions.h>
22 /*!
23  * @class AIAccountListPreferencesPlugin
24  * @brief Manages the accounts configuration preferences
25  */
26 @implementation AIAccountListPreferencesPlugin
28 /*!
29  * @brief Install the plugin
30  */
31 - (void)installPlugin
33         accountListPreferences = [[AIAccountListPreferences preferencePaneForPlugin:self] retain];
34         
35         [[adium notificationCenter] addObserver:self
36                                                                    selector:@selector(editAccount:)
37                                                                            name:@"AIEditAccount"
38                                                                          object:nil];
41 - (void)dealloc
43         [[adium notificationCenter] removeObserver:self];
44         [accountListPreferences release];
46         [super dealloc];
49 /*!
50  * @brief Edit an account
51  *
52  * @param inNotification An AIEditAccount notification whose object is the AIAccount to edit
53  */
54 - (void)editAccount:(NSNotification *)inNotification
56         AIAccount       *account = [inNotification object];
57         
58         //Open the preferences to the accounts pane
59         [[adium preferenceController] openPreferencesToCategoryWithIdentifier:@"Accounts"];
61         //Then edit the account
62         [accountListPreferences editAccount:account];
65 @end