2005-06-02 18:16:43 +00:00
|
|
|
/* AppController */
|
|
|
|
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
|
2022-06-30 23:57:51 +00:00
|
|
|
@class FileTreeViewController;
|
2007-03-09 01:16:06 +00:00
|
|
|
@class PlaybackController;
|
|
|
|
@class PlaylistController;
|
|
|
|
@class PlaylistView;
|
|
|
|
@class PlaylistLoader;
|
2022-06-24 07:29:50 +00:00
|
|
|
@class PreferencesController;
|
2005-06-02 18:16:43 +00:00
|
|
|
|
2022-02-07 05:49:27 +00:00
|
|
|
@interface AppController : NSObject {
|
|
|
|
IBOutlet NSObjectController *currentEntryController;
|
|
|
|
|
2007-02-18 23:41:44 +00:00
|
|
|
IBOutlet PlaybackController *playbackController;
|
2007-03-09 01:16:06 +00:00
|
|
|
|
2022-02-07 05:49:27 +00:00
|
|
|
IBOutlet PlaylistController *playlistController;
|
2007-03-09 01:16:06 +00:00
|
|
|
IBOutlet PlaylistLoader *playlistLoader;
|
2022-02-07 05:49:27 +00:00
|
|
|
|
2007-11-24 20:16:27 +00:00
|
|
|
IBOutlet NSWindow *mainWindow;
|
2022-02-07 05:49:27 +00:00
|
|
|
IBOutlet NSWindow *miniWindow;
|
2022-06-30 23:57:51 +00:00
|
|
|
IBOutlet NSSplitView *mainView;
|
2022-02-07 05:49:27 +00:00
|
|
|
|
2008-01-23 03:03:46 +00:00
|
|
|
IBOutlet NSSegmentedControl *playbackButtons;
|
2006-09-02 16:09:20 +00:00
|
|
|
IBOutlet NSButton *fileButton;
|
2005-06-05 18:52:35 +00:00
|
|
|
IBOutlet NSButton *shuffleButton;
|
|
|
|
IBOutlet NSButton *repeatButton;
|
2022-02-07 05:49:27 +00:00
|
|
|
IBOutlet NSButton *randomizeButton;
|
2007-11-24 20:16:27 +00:00
|
|
|
|
|
|
|
IBOutlet NSTextField *totalTimeField;
|
2006-09-02 16:09:20 +00:00
|
|
|
|
2007-02-17 19:33:31 +00:00
|
|
|
IBOutlet PlaylistView *playlistView;
|
2022-02-07 05:49:27 +00:00
|
|
|
|
2007-02-17 19:33:31 +00:00
|
|
|
IBOutlet NSMenuItem *showIndexColumn;
|
|
|
|
IBOutlet NSMenuItem *showTitleColumn;
|
2022-02-07 05:49:27 +00:00
|
|
|
IBOutlet NSMenuItem *showAlbumArtistColumn;
|
2007-02-17 19:33:31 +00:00
|
|
|
IBOutlet NSMenuItem *showArtistColumn;
|
|
|
|
IBOutlet NSMenuItem *showAlbumColumn;
|
|
|
|
IBOutlet NSMenuItem *showGenreColumn;
|
|
|
|
IBOutlet NSMenuItem *showLengthColumn;
|
|
|
|
IBOutlet NSMenuItem *showTrackColumn;
|
|
|
|
IBOutlet NSMenuItem *showYearColumn;
|
2022-02-07 05:49:27 +00:00
|
|
|
|
|
|
|
IBOutlet NSMenu *dockMenu;
|
|
|
|
IBOutlet NSMenuItem *currentArtistItem;
|
|
|
|
|
|
|
|
IBOutlet NSWindowController *spotlightWindowController;
|
|
|
|
|
2022-06-30 23:57:51 +00:00
|
|
|
IBOutlet FileTreeViewController *fileTreeViewController;
|
|
|
|
|
2022-06-24 07:29:50 +00:00
|
|
|
IBOutlet PreferencesController *preferencesController;
|
|
|
|
|
2022-02-07 05:49:27 +00:00
|
|
|
NSOperationQueue *queue; // Since we are the app delegate, we take care of the op queue
|
|
|
|
|
|
|
|
NSMutableSet *expandedNodes;
|
|
|
|
|
|
|
|
BOOL miniMode;
|
2005-06-02 18:16:43 +00:00
|
|
|
}
|
2005-06-07 19:28:44 +00:00
|
|
|
|
2022-02-07 05:49:27 +00:00
|
|
|
@property(strong) IBOutlet NSButton *infoButton;
|
|
|
|
@property(strong) IBOutlet NSButton *infoButtonMini;
|
2021-02-18 22:02:10 +00:00
|
|
|
|
2007-05-26 14:43:31 +00:00
|
|
|
- (IBAction)openURL:(id)sender;
|
2007-03-02 01:36:52 +00:00
|
|
|
|
2006-09-02 16:09:20 +00:00
|
|
|
- (IBAction)openFiles:(id)sender;
|
2005-06-02 18:16:43 +00:00
|
|
|
- (IBAction)delEntries:(id)sender;
|
|
|
|
- (IBAction)savePlaylist:(id)sender;
|
2020-11-25 00:03:49 +00:00
|
|
|
|
2022-06-22 02:30:30 +00:00
|
|
|
- (IBAction)privacyPolicy:(id)sender;
|
|
|
|
|
2019-11-16 22:49:30 +00:00
|
|
|
- (IBAction)feedback:(id)sender;
|
2006-04-04 01:08:21 +00:00
|
|
|
|
2008-02-14 21:09:07 +00:00
|
|
|
- (void)initDefaults;
|
|
|
|
|
2022-02-07 05:49:27 +00:00
|
|
|
// Fun stuff
|
2005-06-02 18:16:43 +00:00
|
|
|
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag;
|
|
|
|
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename;
|
|
|
|
- (void)application:(NSApplication *)theApplication openFiles:(NSArray *)filenames;
|
|
|
|
|
2006-09-02 16:09:20 +00:00
|
|
|
- (void)registerHotKeys;
|
2007-10-03 22:26:39 +00:00
|
|
|
|
|
|
|
- (void)clickPlay;
|
2019-11-14 03:13:59 +00:00
|
|
|
- (void)clickPause;
|
|
|
|
- (void)clickStop;
|
2007-10-03 22:26:39 +00:00
|
|
|
- (void)clickPrev;
|
|
|
|
- (void)clickNext;
|
2013-10-04 11:16:09 +00:00
|
|
|
- (void)clickSpam;
|
2022-02-07 05:49:27 +00:00
|
|
|
- (void)clickSeek:(NSTimeInterval)position;
|
2007-10-03 22:26:39 +00:00
|
|
|
|
2008-02-15 15:27:34 +00:00
|
|
|
- (IBAction)increaseFontSize:(id)sender;
|
|
|
|
- (IBAction)decreaseFontSize:(id)sender;
|
|
|
|
- (void)changeFontSize:(float)size;
|
|
|
|
|
2022-02-07 05:49:27 +00:00
|
|
|
- (void)nodeExpanded:(NSNotification *)notification;
|
|
|
|
- (void)nodeCollapsed:(NSNotification *)notification;
|
2013-10-11 10:03:23 +00:00
|
|
|
|
2013-10-11 19:02:05 +00:00
|
|
|
- (IBAction)toggleMiniMode:(id)sender;
|
2021-02-06 22:12:19 +00:00
|
|
|
- (IBAction)toggleToolbarStyle:(id)sender;
|
2013-10-11 19:02:05 +00:00
|
|
|
|
2022-06-29 05:58:13 +00:00
|
|
|
- (BOOL)pathSuggesterEmpty;
|
|
|
|
+ (BOOL)globalPathSuggesterEmpty;
|
2022-06-24 07:29:50 +00:00
|
|
|
- (void)showPathSuggester;
|
|
|
|
+ (void)globalShowPathSuggester;
|
|
|
|
|
2022-02-07 05:49:27 +00:00
|
|
|
@property NSWindow *mainWindow;
|
|
|
|
@property NSWindow *miniWindow;
|
2022-01-16 15:32:47 +00:00
|
|
|
|
2013-10-11 19:02:05 +00:00
|
|
|
@property BOOL miniMode;
|
|
|
|
|
2022-02-07 05:49:27 +00:00
|
|
|
@property(nonatomic) BOOL floatingMiniWindow;
|
2021-03-02 21:04:59 +00:00
|
|
|
|
2005-06-02 18:16:43 +00:00
|
|
|
@end
|