William Bowling is sharing code with you

Bitbucket is a code hosting site. Unlimited public and private repositories. Free for small teams.

Don't show this again

wbowling / adium (fork of adium / adium)

Fork of Adium for patches/improvements

Clone this repository (size: 338.7 MB): HTTPS / SSH
hg clone https://bitbucket.org/wbowling/adium
hg clone ssh://hg@bitbucket.org/wbowling/adium

adium / Source / ESStatusPreferencesPlugin.m

//
//  ESStatusPreferencesPlugin.m
//  Adium
//
//  Created by Evan Schoenberg on 2/26/05.
//  Copyright 2006 The Adium Team. All rights reserved.
//

#import "ESStatusPreferencesPlugin.h"
#import "ESStatusAdvancedPreferences.h"
#import "ESStatusPreferences.h"
#import <Adium/AIMenuControllerProtocol.h>
#import "AIStatusController.h"
#import <AIUtilities/AIMenuAdditions.h>
#import <AIUtilities/AIDictionaryAdditions.h>
#import <AIUtilities/AIStringAdditions.h>

#define STATUS_DEFAULT_PREFS @"StatusDefaults"

/*!
 * @class ESStatusPreferencesPlugin
 * @brief Component to install our status preferences pane
 */
@implementation ESStatusPreferencesPlugin

/*!
 * @brief Install
 *
 * Install our preference pane, and add a menu item to the Status menu which opens it.
 */
- (void)installPlugin
{
        NSMenuItem *menuItem;
        
        //Install our preference view
    preferences = [[ESStatusPreferences preferencePaneForPlugin:self] retain];
        advancedPreferences = [[ESStatusAdvancedPreferences preferencePaneForPlugin:self] retain];

        //Add our menu item
        menuItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]] initWithTitle:[AILocalizedString(@"Edit Status Menu",nil) stringByAppendingEllipsis]
                                                                                                                                        target:self
                                                                                                                                        action:@selector(showStatusPreferences:)
                                                                                                                         keyEquivalent:@""];
        [adium.menuController addMenuItem:menuItem toLocation:LOC_Status_Additions];
        
        //Register defaults
    [adium.preferenceController registerDefaults:[NSDictionary dictionaryNamed:STATUS_DEFAULT_PREFS 
                                                                                                                                                forClass:[self class]] 
                                                                                  forGroup:PREF_GROUP_STATUS_PREFERENCES];      
        
}

/*!
 * Open the preferences to the status pane
 */
- (void)showStatusPreferences:(id)sender
{
        [adium.preferenceController openPreferencesToCategoryWithIdentifier:@"Status"];
}

@end