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 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;
54 MainController *controller;
56 NSMutableArray *availableItems;
57 NSMutableArray *myItems;
58 NSArray *submenuItems;
61 NSString *currentHotKey;
62 NSMutableDictionary *hotKeysDictionary;
65 + (PreferencesController *)sharedPrefs;
68 - (void)setController:(id)object;
70 - (IBAction)showPrefsWindow:(id)sender;
72 - (IBAction)changeGeneralSetting:(id)sender;
73 - (IBAction)changeStatusWindowSetting:(id)sender;
74 - (IBAction)changeHotKey:(id)sender;
76 - (void)registerDefaults;
78 - (IBAction)cancelHotKey:(id)sender;
79 - (IBAction)clearHotKey:(id)sender;
80 - (IBAction)okHotKey:(id)sender;
82 - (void)setCurrentHotKey:(NSString *)key;
83 - (void)setKeyCombo:(ITKeyCombo *)newCombo;
85 - (void)deletePressedInTableView:(NSTableView *)tableView;