Changed versions to 1.7.
[MenuTunes.git] / PreferencesController.h
index f1e3be7..5b2810b 100755 (executable)
-/* PreferencesController */
+/*
+ *     MenuTunes
+ *  PreferencesController
+ *    Preferences window controller
+ *
+ *  Original Author : Kent Sutherland <ksuther@ithinksw.com>
+ *   Responsibility : Kent Sutherland <ksuther@ithinksw.com>
+ *
+ *  Copyright (c) 2002 iThink Software.
+ *  All Rights Reserved
+ *
+ */
+
 
 #import <Cocoa/Cocoa.h>
 
-@class MenuTunes, KeyCombo;
+@class CustomMenuTableView, MainController, ITKeyCombo;
 
 @interface PreferencesController : NSObject
 {
+    IBOutlet NSButton *albumArtworkCheckbox;
     IBOutlet NSButton *albumCheckbox;
     IBOutlet NSTableView *allTableView;
+    IBOutlet NSPopUpButton *appearanceEffectPopup;
+    IBOutlet NSSlider *appearanceSpeedSlider;
     IBOutlet NSButton *artistCheckbox;
-    IBOutlet NSTextField *keyComboField;
-    IBOutlet NSPanel *keyComboPanel;
-    IBOutlet NSTableView *menuTableView;
+       IBOutlet NSButton *audioscrobblerEnabledCheckbox;
+       IBOutlet NSTextField *audioscrobblerPasswordTextField;
+       IBOutlet NSTextField *audioscrobblerStatusTextField;
+       IBOutlet NSButton *audioscrobblerUseCacheCheckbox;
+       IBOutlet NSTextField *audioscrobblerUserTextField;
+    IBOutlet NSPopUpButton *backgroundStylePopup;
+    IBOutlet NSColorWell *backgroundColorWell;
+    IBOutlet NSPopUpButton *backgroundColorPopup;
+    IBOutlet NSTextField *clientPasswordTextField;
+    IBOutlet NSButton *composerCheckbox;
+    IBOutlet NSTextField *hostTextField;
+    IBOutlet NSTableView *hotKeysTableView;
+    IBOutlet NSButton *launchAtLoginCheckbox;
+    IBOutlet NSButton *launchPlayerAtLaunchCheckbox;
+    IBOutlet NSTextField *locationTextField;
+    IBOutlet NSView *manualView;
+    IBOutlet CustomMenuTableView *menuTableView;
     IBOutlet NSButton *nameCheckbox;
-    IBOutlet NSButton *nextTrackButton;
-    IBOutlet NSButton *playPauseButton;
-    IBOutlet NSButton *previousTrackButton;
-    IBOutlet NSButton *songRatingCheckbox;
+    IBOutlet NSTextField *nameTextField;
+    IBOutlet NSPanel *passwordPanel;
+    IBOutlet NSTextField *passwordPanelMessage;
+    IBOutlet NSButton *passwordPanelOKButton;
+    IBOutlet NSTextField *passwordPanelTextField;
+    IBOutlet NSTextField *passwordPanelTitle;
+    IBOutlet NSTextField *passwordTextField;
+    IBOutlet NSButton *playCountCheckbox;
+    IBOutlet NSMatrix *positionMatrix;
+    IBOutlet NSButton *ratingCheckbox;
+    IBOutlet NSButton *runScriptsCheckbox;
+       IBOutlet NSPopUpButton *screenPopup;
+    IBOutlet NSTextField *selectedPlayerTextField;
+    IBOutlet NSBox *selectPlayerBox;
+    IBOutlet NSPanel *selectPlayerSheet;
+    IBOutlet NSButton *selectSharedPlayerButton;
+    IBOutlet NSButton *shareMenuTunesCheckbox;
+    IBOutlet NSButton *sharingPanelOKButton;
+    IBOutlet NSTableView *sharingTableView;
+    IBOutlet NSButton *showOnChangeCheckbox;
+    IBOutlet NSButton *showScriptsButton;
     IBOutlet NSTextField *songsInAdvance;
-    IBOutlet NSButton *trackInfoButton;
     IBOutlet NSButton *trackNumberCheckbox;
     IBOutlet NSButton *trackTimeCheckbox;
-    IBOutlet NSButton *upcomingSongsButton;
+    IBOutlet NSButton *useSharedMenuTunesCheckbox;
+    IBOutlet NSSlider *vanishDelaySlider;
+    IBOutlet NSPopUpButton *vanishEffectPopup;
+    IBOutlet NSSlider *vanishSpeedSlider;
     IBOutlet NSWindow *window;
-    IBOutlet NSButton *yearCheckbox;
-    
-    MenuTunes *mt;
-    NSMutableArray *availableItems, *myItems;
-    NSArray *submenuItems;
+    IBOutlet NSPopUpButton *windowSizingPopup;
+    IBOutlet NSView *zeroConfView;
+
+    MainController *controller;
+    NSUserDefaults *df;
+    NSMutableArray *availableItems;
+    NSMutableArray *myItems;
+    NSArray        *submenuItems;
+    NSArray        *effectClasses;
     
-    KeyCombo *combo, *playPauseCombo, *nextTrackCombo,
-             *prevTrackCombo, *trackInfoCombo, *upcomingSongsCombo;
-    NSString *setHotKey;
+    NSArray *hotKeysArray, *hotKeyNamesArray;
+    NSMutableDictionary *hotKeysDictionary;
 }
-- (id)initWithMenuTunes:(MenuTunes *)menutunes;
 
-- (IBAction)apply:(id)sender;
-- (IBAction)cancel:(id)sender;
-- (IBAction)cancelHotKey:(id)sender;
++ (PreferencesController *)sharedPrefs;
++ (NSString *)getKeychainItemPasswordForUser:(NSString *)user;
+
+- (id)controller;
+- (void)setController:(id)object;
+
+- (BOOL)showPasswordPanel;
+- (BOOL)showInvalidPasswordPanel;
+
+- (IBAction)changeGeneralSetting:(id)sender;
+- (IBAction)changeSharingSetting:(id)sender;
+- (IBAction)changeStatusWindowSetting:(id)sender;
+- (void)resetRemotePlayerTextFields;
+
 - (IBAction)clearHotKey:(id)sender;
-- (IBAction)okHotKey:(id)sender;
-- (IBAction)save:(id)sender;
-- (IBAction)setCurrentTrackInfo:(id)sender;
-- (IBAction)setNextTrack:(id)sender;
-- (IBAction)setPlayPause:(id)sender;
-- (IBAction)setPreviousTrack:(id)sender;
-- (IBAction)setUpcomingSongs:(id)sender;
-
-- (void)setHotKey:(NSString *)key;
-- (void)setKeyCombo:(KeyCombo *)newCombo;
+- (IBAction)editHotKey:(id)sender;
+- (IBAction)showPrefsWindow:(id)sender;
+
+- (void)registerDefaults;
+- (void)deletePressedInTableView:(NSTableView *)tableView;
+
 @end