HAY GUYS LETS SHIP
[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 *albumCheckbox;
22     IBOutlet NSTableView *allTableView;
23     IBOutlet NSButton *artistCheckbox;
24     IBOutlet NSTextField *keyComboField;
25     IBOutlet NSPanel *keyComboPanel;
26     IBOutlet NSButton *launchAtLoginCheckbox;
27     IBOutlet NSButton *launchPlayerAtLaunchCheckbox;
28     IBOutlet CustomMenuTableView *menuTableView;
29     IBOutlet NSButton *nameCheckbox;
30     IBOutlet NSButton *nextTrackButton;
31     IBOutlet NSButton *playPauseButton;
32     IBOutlet NSButton *previousTrackButton;
33     IBOutlet NSButton *ratingCheckbox;
34     IBOutlet NSButton *ratingDecrementButton;
35     IBOutlet NSButton *ratingIncrementButton;
36     IBOutlet NSTextField *songsInAdvance;
37     IBOutlet NSButton *toggleLoopButton;
38     IBOutlet NSButton *toggleShuffleButton;
39     IBOutlet NSButton *trackInfoButton;
40     IBOutlet NSButton *trackNumberCheckbox;
41     IBOutlet NSButton *trackTimeCheckbox;
42     IBOutlet NSButton *upcomingSongsButton;
43     IBOutlet NSButton *showPlayerButton;
44     IBOutlet NSButton *volumeDecrementButton;
45     IBOutlet NSButton *volumeIncrementButton;
46     IBOutlet NSWindow *window;
47     IBOutlet NSPopUpButton *appearanceEffectPopup;
48     IBOutlet NSPopUpButton *vanishEffectPopup;
49     IBOutlet NSSlider *appearanceSpeedSlider;
50     IBOutlet NSSlider *vanishSpeedSlider;
51     IBOutlet NSSlider *vanishDelaySlider;
52     IBOutlet NSButton *showOnChangeCheckbox;
53
54     MainController *controller;
55     NSUserDefaults *df;
56     NSMutableArray *availableItems;
57     NSMutableArray *myItems;
58     NSArray        *submenuItems;
59     
60     ITKeyCombo *combo;
61     NSString *currentHotKey;
62     NSMutableDictionary *hotKeysDictionary;
63 }
64
65 + (PreferencesController *)sharedPrefs;
66
67 - (id)controller;
68 - (void)setController:(id)object;
69
70 - (IBAction)showPrefsWindow:(id)sender;
71
72 - (IBAction)changeGeneralSetting:(id)sender;
73 - (IBAction)changeStatusWindowSetting:(id)sender;
74 - (IBAction)changeHotKey:(id)sender;
75
76 - (void)registerDefaults;
77
78 - (IBAction)cancelHotKey:(id)sender;
79 - (IBAction)clearHotKey:(id)sender;
80 - (IBAction)okHotKey:(id)sender;
81
82 - (void)setCurrentHotKey:(NSString *)key;
83 - (void)setKeyCombo:(ITKeyCombo *)newCombo;
84
85 - (void)deletePressedInTableView:(NSTableView *)tableView;
86
87 @end