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 NSPopUpButton *backgroundStylePopup;
27 IBOutlet NSColorWell *backgroundColorWell;
28 IBOutlet NSTextField *clientPasswordTextField;
29 IBOutlet NSTextField *hostTextField;
30 IBOutlet NSTableView *hotKeysTableView;
31 IBOutlet NSButton *launchAtLoginCheckbox;
32 IBOutlet NSButton *launchPlayerAtLaunchCheckbox;
33 IBOutlet NSTextField *locationTextField;
34 IBOutlet NSView *manualView;
35 IBOutlet CustomMenuTableView *menuTableView;
36 IBOutlet NSButton *nameCheckbox;
37 IBOutlet NSTextField *nameTextField;
38 IBOutlet NSPanel *passwordPanel;
39 IBOutlet NSTextField *passwordPanelMessage;
40 IBOutlet NSButton *passwordPanelOKButton;
41 IBOutlet NSTextField *passwordPanelTextField;
42 IBOutlet NSTextField *passwordPanelTitle;
43 IBOutlet NSTextField *passwordTextField;
44 IBOutlet NSButton *ratingCheckbox;
45 IBOutlet NSTextField *selectedPlayerTextField;
46 IBOutlet NSBox *selectPlayerBox;
47 IBOutlet NSPanel *selectPlayerSheet;
48 IBOutlet NSButton *selectSharedPlayerButton;
49 IBOutlet NSButton *shareMenuTunesCheckbox;
50 IBOutlet NSButton *sharingPanelOKButton;
51 IBOutlet NSTableView *sharingTableView;
52 IBOutlet NSButton *showOnChangeCheckbox;
53 IBOutlet NSTextField *songsInAdvance;
54 IBOutlet NSButton *trackNumberCheckbox;
55 IBOutlet NSButton *trackTimeCheckbox;
56 IBOutlet NSButton *usePasswordCheckbox;
57 IBOutlet NSButton *useSharedMenuTunesCheckbox;
58 IBOutlet NSSlider *vanishDelaySlider;
59 IBOutlet NSPopUpButton *vanishEffectPopup;
60 IBOutlet NSSlider *vanishSpeedSlider;
61 IBOutlet NSWindow *window;
62 IBOutlet NSView *zeroConfView;
64 MainController *controller;
66 NSMutableArray *availableItems;
67 NSMutableArray *myItems;
68 NSArray *submenuItems;
70 NSArray *hotKeysArray, *hotKeyNamesArray;
71 NSMutableDictionary *hotKeysDictionary;
74 + (PreferencesController *)sharedPrefs;
77 - (void)setController:(id)object;
79 - (BOOL)showPasswordPanel;
80 - (BOOL)showInvalidPasswordPanel;
82 - (IBAction)changeGeneralSetting:(id)sender;
83 - (IBAction)changeSharingSetting:(id)sender;
84 - (IBAction)changeStatusWindowSetting:(id)sender;
85 - (void)resetRemotePlayerTextFields;
87 - (IBAction)clearHotKey:(id)sender;
88 - (IBAction)editHotKey:(id)sender;
89 - (IBAction)showPrefsWindow:(id)sender;
90 - (IBAction)showTestWindow:(id)sender;
92 - (void)registerDefaults;
93 - (void)deletePressedInTableView:(NSTableView *)tableView;