3 * PreferencesController.h
5 * Preferences window controller.
7 * Copyright (c) 2002 iThink Software
12 #import <Cocoa/Cocoa.h>
14 @class CustomMenuTableView, MainController, ITKeyCombo;
16 @interface PreferencesController : NSObject
18 IBOutlet NSButton *albumArtworkCheckbox;
19 IBOutlet NSButton *albumCheckbox;
20 IBOutlet NSTableView *allTableView;
21 IBOutlet NSPopUpButton *appearanceEffectPopup;
22 IBOutlet NSSlider *appearanceSpeedSlider;
23 IBOutlet NSButton *artistCheckbox;
24 IBOutlet NSButton *audioscrobblerEnabledCheckbox;
25 IBOutlet NSTextField *audioscrobblerPasswordTextField;
26 IBOutlet NSTextField *audioscrobblerStatusTextField;
27 IBOutlet NSButton *audioscrobblerUseCacheCheckbox;
28 IBOutlet NSTextField *audioscrobblerUserTextField;
29 IBOutlet NSPopUpButton *backgroundStylePopup;
30 IBOutlet NSColorWell *backgroundColorWell;
31 IBOutlet NSPopUpButton *backgroundColorPopup;
32 IBOutlet NSTextField *clientPasswordTextField;
33 IBOutlet NSButton *composerCheckbox;
34 IBOutlet NSTextField *hostTextField;
35 IBOutlet NSTableView *hotKeysTableView;
36 IBOutlet NSButton *launchAtLoginCheckbox;
37 IBOutlet NSButton *launchPlayerAtLaunchCheckbox;
38 IBOutlet NSTextField *locationTextField;
39 IBOutlet NSView *manualView;
40 IBOutlet CustomMenuTableView *menuTableView;
41 IBOutlet NSButton *nameCheckbox;
42 IBOutlet NSTextField *nameTextField;
43 IBOutlet NSPanel *passwordPanel;
44 IBOutlet NSTextField *passwordPanelMessage;
45 IBOutlet NSButton *passwordPanelOKButton;
46 IBOutlet NSTextField *passwordPanelTextField;
47 IBOutlet NSTextField *passwordPanelTitle;
48 IBOutlet NSTextField *passwordTextField;
49 IBOutlet NSButton *playCountCheckbox;
50 IBOutlet NSMatrix *positionMatrix;
51 IBOutlet NSButton *ratingCheckbox;
52 IBOutlet NSButton *runScriptsCheckbox;
53 IBOutlet NSPopUpButton *screenPopup;
54 IBOutlet NSTextField *selectedPlayerTextField;
55 IBOutlet NSBox *selectPlayerBox;
56 IBOutlet NSPanel *selectPlayerSheet;
57 IBOutlet NSButton *selectSharedPlayerButton;
58 IBOutlet NSButton *shareMenuTunesCheckbox;
59 IBOutlet NSButton *sharingPanelOKButton;
60 IBOutlet NSTableView *sharingTableView;
61 IBOutlet NSButton *showOnChangeCheckbox;
62 IBOutlet NSButton *showScriptsButton;
63 IBOutlet NSTextField *songsInAdvance;
64 IBOutlet NSButton *trackNumberCheckbox;
65 IBOutlet NSButton *trackTimeCheckbox;
66 IBOutlet NSButton *useSharedMenuTunesCheckbox;
67 IBOutlet NSSlider *vanishDelaySlider;
68 IBOutlet NSPopUpButton *vanishEffectPopup;
69 IBOutlet NSSlider *vanishSpeedSlider;
70 IBOutlet NSWindow *window;
71 IBOutlet NSPopUpButton *windowSizingPopup;
72 IBOutlet NSView *zeroConfView;
74 MainController *controller;
76 NSMutableArray *availableItems;
77 NSMutableArray *myItems;
78 NSArray *submenuItems;
79 NSArray *effectClasses;
81 NSArray *hotKeysArray, *hotKeyNamesArray;
82 NSMutableDictionary *hotKeysDictionary;
85 + (PreferencesController *)sharedPrefs;
86 + (NSString *)getKeychainItemPasswordForUser:(NSString *)user;
89 - (void)setController:(id)object;
91 - (BOOL)showPasswordPanel;
92 - (BOOL)showInvalidPasswordPanel;
94 - (IBAction)changeGeneralSetting:(id)sender;
95 - (IBAction)changeSharingSetting:(id)sender;
96 - (IBAction)changeStatusWindowSetting:(id)sender;
97 - (void)resetRemotePlayerTextFields;
99 - (IBAction)clearHotKey:(id)sender;
100 - (IBAction)editHotKey:(id)sender;
101 - (IBAction)showPrefsWindow:(id)sender;
103 - (void)registerDefaults;
104 - (void)deletePressedInTableView:(NSTableView *)tableView;