X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fmacosx%2Fintf.h;h=51f457c5c40562ad6d024ca689a5e6fe3ac89fcf;hb=4d5313d3ba36313301b1aad37770507589cab04e;hp=6eb88e062c52d1df31ebcf08775b6df9cfe2e198;hpb=9c623237a0965223c78d8544708d7c1bac62d1ec;p=vlc diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h index 6eb88e062c..51f457c5c4 100644 --- a/modules/gui/macosx/intf.h +++ b/modules/gui/macosx/intf.h @@ -1,7 +1,7 @@ /***************************************************************************** * intf.h: MacOS X interface module ***************************************************************************** - * Copyright (C) 2002-2004 VideoLAN + * Copyright (C) 2002-2005 the VideoLAN team * $Id$ * * Authors: Jon Lech Johansen @@ -27,37 +27,27 @@ #include #include #include +#include #include /***************************************************************************** - * VLCApplication interface + * Local prototypes. *****************************************************************************/ -@interface VLCApplication : NSApplication -{ - intf_thread_t *p_intf; -} - -- (NSString *)localizedString:(char *)psz; -- (char *)delocalizeString:(NSString *)psz; -- (NSString *)wrapString: (NSString *)o_in_string toWidth: (int)i_width; - -- (void)setIntf:(intf_thread_t *)p_intf; -- (intf_thread_t *)getIntf; -- (BOOL)hasDefinedShortcutKey:(NSEvent *)o_event; +int ExecuteOnMainThread( id target, SEL sel, void * p_arg ); +unsigned int CocoaKeyToVLC( unichar i_key ); -@end +#define VLCIntf [[VLCMain sharedInstance] getIntf] -#define _NS(s) [NSApp localizedString: _(s)] +#define _NS(s) [[VLCMain sharedInstance] localizedString: _(s)] /* Get an alternate version of the string. * This string is stored as '1:string' but when displayed it only displays * the translated string. the translation should be '1:translatedstring' though */ -#define _ANS(s) [[NSApp localizedString: _(s)] substringFromIndex:2] +#define _ANS(s) [[[VLCMain sharedInstance] localizedString: _(s)] substringFromIndex:2] -int ExecuteOnMainThread( id target, SEL sel, void * p_arg ); -int PlaylistChanged( vlc_object_t *p_this, const char *psz_variable, - vlc_value_t old_val, vlc_value_t new_val, void *param ); -unsigned int CocoaKeyToVLC( unichar i_key ); +#define MACOS_VERSION [[[NSDictionary dictionaryWithContentsOfFile: \ + @"/System/Library/CoreServices/SystemVersion.plist"] \ + objectForKey: @"ProductVersion"] floatValue] /***************************************************************************** * intf_sys_t: description and status of the interface @@ -67,16 +57,20 @@ struct intf_sys_t NSAutoreleasePool * o_pool; NSPort * o_sendport; + /* the current input */ + input_thread_t * p_input; + /* special actions */ - vlc_bool_t b_playing; vlc_bool_t b_mute; + int i_play_status; /* interface update */ vlc_bool_t b_intf_update; - vlc_bool_t b_play_status; vlc_bool_t b_playlist_update; + vlc_bool_t b_playmode_update; vlc_bool_t b_current_title_update; vlc_bool_t b_fullscreen_update; + vlc_bool_t b_volume_update; /* menus handlers */ vlc_bool_t b_input_update; @@ -92,9 +86,23 @@ struct intf_sys_t *****************************************************************************/ @interface VLCMain : NSObject { + intf_thread_t *p_intf; /* The main intf object */ id o_prefs; /* VLCPrefs */ + id o_about; /* VLAboutBox */ + id o_open; /* VLCOpen */ + id o_wizard; /* VLCWizard */ + id o_extended; /* VLCExtended */ + id o_bookmarks; /* VLCBookmarks */ + id o_update; /* VLCUpdate */ + BOOL nib_open_loaded; /* reference to the open-nib */ + BOOL nib_about_loaded; /* reference to the about-nib */ + BOOL nib_wizard_loaded; /* reference to the wizard-nib */ + BOOL nib_extended_loaded; /* reference to the extended-nib */ + BOOL nib_bookmarks_loaded; /* reference to the bookmarks-nib */ + BOOL nib_update_loaded; /* reference to the update-nib */ IBOutlet id o_window; /* main window */ + IBOutlet id o_playlist_view;/* playlist view */ IBOutlet id o_scrollfield; /* info field */ IBOutlet id o_timefield; /* time field */ IBOutlet id o_timeslider; /* time slider */ @@ -109,6 +117,7 @@ struct intf_sys_t IBOutlet id o_btn_ff; /* btn fast forward */ IBOutlet id o_btn_next; /* btn next */ IBOutlet id o_btn_fullscreen;/* btn fullscreen */ + IBOutlet id o_btn_playlist; /* btn playlist */ NSImage * o_img_play; /* btn play img */ NSImage * o_img_pause; /* btn pause img */ @@ -139,8 +148,10 @@ struct intf_sys_t IBOutlet id o_mi_about; IBOutlet id o_mi_prefs; + IBOutlet id o_mi_checkForUpdate; IBOutlet id o_mi_add_intf; IBOutlet id o_mu_add_intf; + IBOutlet id o_mi_services; IBOutlet id o_mi_hide; IBOutlet id o_mi_hide_others; IBOutlet id o_mi_show_all; @@ -153,6 +164,7 @@ struct intf_sys_t IBOutlet id o_mi_open_net; IBOutlet id o_mi_open_recent; IBOutlet id o_mi_open_recent_cm; + IBOutlet id o_mi_open_wizard; IBOutlet id o_mu_edit; IBOutlet id o_mi_cut; @@ -204,6 +216,7 @@ struct intf_sys_t IBOutlet id o_mi_fittoscreen; IBOutlet id o_mi_fullscreen; IBOutlet id o_mi_floatontop; + IBOutlet id o_mi_snapshot; IBOutlet id o_mi_videotrack; IBOutlet id o_mu_videotrack; IBOutlet id o_mi_screen; @@ -212,11 +225,16 @@ struct intf_sys_t IBOutlet id o_mu_subtitle; IBOutlet id o_mi_deinterlace; IBOutlet id o_mu_deinterlace; + IBOutlet id o_mi_ffmpeg_pp; + IBOutlet id o_mu_ffmpeg_pp; IBOutlet id o_mu_window; IBOutlet id o_mi_minimize; IBOutlet id o_mi_close_window; IBOutlet id o_mi_controller; + IBOutlet id o_mi_equalizer; + IBOutlet id o_mi_extended; + IBOutlet id o_mi_bookmarks; IBOutlet id o_mi_playlist; IBOutlet id o_mi_info; IBOutlet id o_mi_messages; @@ -235,20 +253,42 @@ struct intf_sys_t IBOutlet id o_dmi_next; IBOutlet id o_dmi_previous; IBOutlet id o_dmi_mute; + + bool b_small_window; + + mtime_t i_end_scroll; + + NSSize o_size_with_playlist; + + int i_lastShownVolume; } ++ (VLCMain *)sharedInstance; + +- (intf_thread_t *)getIntf; +- (void)setIntf:(intf_thread_t *)p_mainintf; + - (id)getControls; - (id)getPlaylist; +- (id)getInfo; +- (id)getWizard; +- (id)getBookmarks; - (void)terminate; +- (NSString *)localizedString:(char *)psz; +- (char *)delocalizeString:(NSString *)psz; +- (NSString *)wrapString: (NSString *)o_in_string toWidth: (int)i_width; +- (BOOL)hasDefinedShortcutKey:(NSEvent *)o_event; - (void)initStrings; - (void)manage; - (void)manageIntf:(NSTimer *)o_timer; - (void)setupMenus; +- (void)setScrollField:(NSString *)o_string stopAfter:(int )timeout; +- (void)resetScrollField; - (void)updateMessageArray; -- (void)playStatusUpdated:(BOOL)b_pause; +- (void)playStatusUpdated:(int) i_status; - (void)setSubmenusEnabled:(BOOL)b_enabled; - (void)manageVolumeSlider; - (IBAction)timesliderUpdate:(id)sender; @@ -256,15 +296,31 @@ struct intf_sys_t - (IBAction)clearRecentItems:(id)sender; - (void)openRecentItem:(id)sender; +- (IBAction)intfOpenFile:(id)sender; +- (IBAction)intfOpenFileGeneric:(id)sender; +- (IBAction)intfOpenDisc:(id)sender; +- (IBAction)intfOpenNet:(id)sender; + +- (IBAction)showWizard:(id)sender; +- (IBAction)showExtended:(id)sender; +- (IBAction)showBookmarks:(id)sender; + +- (IBAction)viewAbout:(id)sender; - (IBAction)viewPreferences:(id)sender; +- (IBAction)checkForUpdate:(id)sender; - (IBAction)closeError:(id)sender; - (IBAction)openReadMe:(id)sender; - (IBAction)openDocumentation:(id)sender; - (IBAction)reportABug:(id)sender; - (IBAction)openWebsite:(id)sender; - (IBAction)openLicense:(id)sender; +- (IBAction)openForum:(id)sender; +- (IBAction)openDonate:(id)sender; - (IBAction)openCrashLog:(id)sender; +- (IBAction)togglePlaylist:(id)sender; +- (void)updateTogglePlaylistState; + - (void)windowDidBecomeKey:(NSNotification *)o_notification; @end