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