3 * PreferencesController
4 * Preferences window controller
6 * Original Author : Kent Sutherland <ksuther@ithinksw.com>
7 * Responsibility : Kent Sutherland <ksuther@ithinksw.com>
9 * Copyright (c) 2002 iThink Software.
15 #import <Cocoa/Cocoa.h>
17 @class CustomMenuTableView, MainController, ITKeyCombo;
19 @interface PreferencesController : NSObject
21 IBOutlet NSButton *albumCheckbox;
22 IBOutlet NSTableView *allTableView;
23 IBOutlet NSPopUpButton *appearanceEffectPopup;
24 IBOutlet NSSlider *appearanceSpeedSlider;
25 IBOutlet NSButton *artistCheckbox;
26 IBOutlet NSTextField *hostTextField;
27 IBOutlet NSTableView *hotKeysTableView;
28 IBOutlet NSButton *launchAtLoginCheckbox;
29 IBOutlet NSButton *launchPlayerAtLaunchCheckbox;
30 IBOutlet NSView *manualView;
31 IBOutlet CustomMenuTableView *menuTableView;
32 IBOutlet NSButton *nameCheckbox;
33 IBOutlet NSTextField *nameTextField;
34 IBOutlet NSTextField *passwordTextField;
35 IBOutlet NSButton *ratingCheckbox;
36 IBOutlet NSBox *selectPlayerBox;
37 IBOutlet NSPanel *selectPlayerSheet;
38 IBOutlet NSButton *selectSharedPlayerButton;
39 IBOutlet NSButton *shareMenuTunesCheckbox;
40 IBOutlet NSTableView *sharingTableView;
41 IBOutlet NSButton *showOnChangeCheckbox;
42 IBOutlet NSTextField *songsInAdvance;
43 IBOutlet NSButton *trackNumberCheckbox;
44 IBOutlet NSButton *trackTimeCheckbox;
45 IBOutlet NSButton *usePasswordCheckbox;
46 IBOutlet NSButton *useSharedMenuTunesCheckbox;
47 IBOutlet NSSlider *vanishDelaySlider;
48 IBOutlet NSPopUpButton *vanishEffectPopup;
49 IBOutlet NSSlider *vanishSpeedSlider;
50 IBOutlet NSWindow *window;
51 IBOutlet NSView *zeroConfView;
53 MainController *controller;
55 NSMutableArray *availableItems;
56 NSMutableArray *myItems;
57 NSArray *submenuItems;
59 NSArray *hotKeysArray, *hotKeyNamesArray;
60 NSMutableDictionary *hotKeysDictionary;
63 + (PreferencesController *)sharedPrefs;
66 - (void)setController:(id)object;
68 - (IBAction)changeGeneralSetting:(id)sender;
69 - (IBAction)changeSharingSetting:(id)sender;
70 - (IBAction)changeStatusWindowSetting:(id)sender;
71 - (IBAction)clearHotKey:(id)sender;
72 - (IBAction)editHotKey:(id)sender;
73 - (IBAction)showPrefsWindow:(id)sender;
75 - (void)registerDefaults;
76 - (void)deletePressedInTableView:(NSTableView *)tableView;