Updating svn:mergeinfo
[adiumx.git] / Source / ESStatusPreferencesPlugin.m
blob98e8c902b48b0687519c6d5c531954db8c00252d
1 //
2 //  ESStatusPreferencesPlugin.m
3 //  Adium
4 //
5 //  Created by Evan Schoenberg on 2/26/05.
6 //  Copyright 2006 The Adium Team. All rights reserved.
7 //
9 #import "ESStatusPreferencesPlugin.h"
10 #import "ESStatusPreferences.h"
11 #import <Adium/AIMenuControllerProtocol.h>
12 #import "AIStatusController.h"
13 #import <AIUtilities/AIMenuAdditions.h>
14 #import <AIUtilities/AIDictionaryAdditions.h>
15 #import <AIUtilities/AIStringAdditions.h>
17 #define STATUS_DEFAULT_PREFS @"StatusDefaults"
19 /*!
20  * @class ESStatusPreferencesPlugin
21  * @brief Component to install our status preferences pane
22  */
23 @implementation ESStatusPreferencesPlugin
25 /*!
26  * @brief Install
27  *
28  * Install our preference pane, and add a menu item to the Status menu which opens it.
29  */
30 - (void)installPlugin
32         NSMenuItem *menuItem;
33         
34         //Install our preference view
35     preferences = [[ESStatusPreferences preferencePaneForPlugin:self] retain];
36         advancedPreferences = [[ESStatusAdvancedPreferences preferencePaneForPlugin:self] retain];
38         //Add our menu item
39         menuItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]] initWithTitle:[AILocalizedString(@"Edit Status Menu",nil) stringByAppendingEllipsis]
40                                                                                                                                         target:self
41                                                                                                                                         action:@selector(showStatusPreferences:)
42                                                                                                                          keyEquivalent:@""];
43         [[adium menuController] addMenuItem:menuItem toLocation:LOC_Status_Additions];
44         
45         //Register defaults
46     [[adium preferenceController] registerDefaults:[NSDictionary dictionaryNamed:STATUS_DEFAULT_PREFS 
47                                                                                                                                                 forClass:[self class]] 
48                                                                                   forGroup:PREF_GROUP_STATUS_PREFERENCES];      
49         
52 /*!
53  * Open the preferences to the status pane
54  */
55 - (void)showStatusPreferences:(id)sender
57         [[adium preferenceController] openPreferencesToCategoryWithIdentifier:@"Status"];
60 @end