From: Pierre d'Herbemont Date: Sat, 2 Aug 2008 00:38:50 +0000 (+0200) Subject: macosx: Use a toolbar to display controls. (Doesn't look like a toolbar though) X-Git-Tag: 0.9.0-test3~17 X-Git-Url: https://git.sesse.net/?p=vlc;a=commitdiff_plain;h=676a627a1ff186119ec05f690e34645a3e003431 macosx: Use a toolbar to display controls. (Doesn't look like a toolbar though) Also, make sure we do use the slider. --- diff --git a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/classes.nib b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/classes.nib deleted file mode 100644 index cf8b18b5ab..0000000000 --- a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/classes.nib +++ /dev/null @@ -1,838 +0,0 @@ - - - - - IBClasses - - - CLASS - VLCTimeField - LANGUAGE - ObjC - SUPERCLASS - NSTextField - - - CLASS - VLCControllerView - LANGUAGE - ObjC - SUPERCLASS - NSView - - - CLASS - VLCEmbeddedWindow - LANGUAGE - ObjC - OUTLETS - - o_btn_backward - id - o_btn_forward - id - o_btn_fullscreen - id - o_btn_play - id - o_slider - id - o_time - id - o_view - id - - SUPERCLASS - NSWindow - - - CLASS - VLCPlaylistCommon - LANGUAGE - ObjC - OUTLETS - - o_outline_view - id - o_tc_author - id - o_tc_duration - id - o_tc_name - id - - SUPERCLASS - NSObject - - - ACTIONS - - checkForUpdate - id - clearRecentItems - id - intfOpenCapture - id - intfOpenDisc - id - intfOpenFile - id - intfOpenFileGeneric - id - intfOpenNet - id - openCrashLog - id - openDocumentation - id - openDonate - id - openForum - id - openReadMe - id - openRecentItem - id - openWebsite - id - showBookmarks - id - showExtended - id - showInformationPanel - id - showLicense - id - showMessagesPanel - id - showWizard - id - timesliderUpdate - id - togglePlaylist - id - viewAbout - id - viewErrorsAndWarnings - id - viewHelp - id - viewPreferences - id - - CLASS - VLCMain - LANGUAGE - ObjC - OUTLETS - - o_about - id - o_bookmarks - id - o_btn_equalizer - id - o_btn_ff - id - o_btn_fullscreen - id - o_btn_next - id - o_btn_play - id - o_btn_playlist - id - o_btn_prev - id - o_btn_rewind - id - o_btn_stop - id - o_controls - id - o_dmi_mute - id - o_dmi_next - id - o_dmi_play - id - o_dmi_previous - id - o_dmi_stop - id - o_embedded_list - id - o_embedded_window - id - o_extended - id - o_eyetv - id - o_info - id - o_interaction_list - id - o_main_pgbar - id - o_messages - id - o_mi_about - id - o_mi_add_intf - id - o_mi_aspect_ratio - id - o_mi_audiotrack - id - o_mi_bookmarks - id - o_mi_bring_atf - id - o_mi_bwd - id - o_mi_bwd1m - id - o_mi_bwd5m - id - o_mi_channels - id - o_mi_chapter - id - o_mi_checkForUpdate - id - o_mi_clear - id - o_mi_close_window - id - o_mi_controller - id - o_mi_copy - id - o_mi_crop - id - o_mi_cut - id - o_mi_deinterlace - id - o_mi_device - id - o_mi_documentation - id - o_mi_donation - id - o_mi_double_window - id - o_mi_equalizer - id - o_mi_errorsAndWarnings - id - o_mi_extended - id - o_mi_faster - id - o_mi_ffmpeg_pp - id - o_mi_fittoscreen - id - o_mi_floatontop - id - o_mi_forum - id - o_mi_fullscreen - id - o_mi_fwd - id - o_mi_fwd1m - id - o_mi_fwd5m - id - o_mi_half_window - id - o_mi_help - id - o_mi_hide - id - o_mi_hide_others - id - o_mi_info - id - o_mi_license - id - o_mi_loop - id - o_mi_messages - id - o_mi_minimize - id - o_mi_mute - id - o_mi_next - id - o_mi_normal_window - id - o_mi_open_capture - id - o_mi_open_disc - id - o_mi_open_file - id - o_mi_open_generic - id - o_mi_open_net - id - o_mi_open_recent - id - o_mi_open_recent_cm - id - o_mi_open_wizard - id - o_mi_paste - id - o_mi_play - id - o_mi_playlist - id - o_mi_prefs - id - o_mi_previous - id - o_mi_program - id - o_mi_quit - id - o_mi_random - id - o_mi_readme - id - o_mi_repeat - id - o_mi_screen - id - o_mi_select_all - id - o_mi_services - id - o_mi_show_all - id - o_mi_slower - id - o_mi_snapshot - id - o_mi_sprefs - id - o_mi_stop - id - o_mi_subtitle - id - o_mi_title - id - o_mi_videotrack - id - o_mi_visual - id - o_mi_vol_down - id - o_mi_vol_up - id - o_mi_website - id - o_msgs_btn_crashlog - id - o_msgs_panel - id - o_mu_add_intf - id - o_mu_aspect_ratio - id - o_mu_audio - id - o_mu_audiotrack - id - o_mu_channels - id - o_mu_chapter - id - o_mu_controls - id - o_mu_crop - id - o_mu_deinterlace - id - o_mu_device - id - o_mu_edit - id - o_mu_ffmpeg_pp - id - o_mu_file - id - o_mu_help - id - o_mu_program - id - o_mu_screen - id - o_mu_subtitle - id - o_mu_title - id - o_mu_video - id - o_mu_videotrack - id - o_mu_visual - id - o_mu_window - id - o_open - id - o_playlist - id - o_playlist_view - id - o_prefs - id - o_scrollfield - id - o_sprefs - id - o_timefield - id - o_timeslider - id - o_update - id - o_vmi_fullscreen - id - o_vmi_mute - id - o_vmi_next - id - o_vmi_play - id - o_vmi_prev - id - o_vmi_snapshot - id - o_vmi_stop - id - o_vmi_voldown - id - o_vmi_volup - id - o_volumeslider - id - o_vout_menu - id - o_window - id - o_wizard - id - - SUPERCLASS - NSObject - - - CLASS - NSApplication - LANGUAGE - ObjC - SUPERCLASS - NSResponder - - - CLASS - FirstResponder - LANGUAGE - ObjC - SUPERCLASS - NSObject - - - CLASS - ITSlider - LANGUAGE - ObjC - SUPERCLASS - NSSlider - - - CLASS - NSObject - LANGUAGE - ObjC - - - ACTIONS - - backward - id - faster - id - forward - id - goToSpecificTime - id - loop - id - mute - id - next - id - pause - id - play - id - position - id - prev - id - random - id - repeat - id - repeatButtonAction - id - showPosition - id - slower - id - stop - id - toggleVar - id - toogleFullscreen - id - volumeDown - id - volumeSliderUpdated - id - volumeUp - id - windowAction - id - - CLASS - VLCControls - LANGUAGE - ObjC - OUTLETS - - o_btn_addNode - id - o_btn_repeat - id - o_btn_shuffle - id - o_fs_panel - id - o_main - id - o_specificTime_cancel_btn - id - o_specificTime_enter_fld - id - o_specificTime_goTo_lbl - id - o_specificTime_mi - id - o_specificTime_ok_btn - id - o_specificTime_sec_lbl - id - o_specificTime_stepper - id - o_specificTime_win - id - o_volumeslider - id - - SUPERCLASS - NSObject - - - CLASS - VLCPlaylistView - LANGUAGE - ObjC - SUPERCLASS - NSOutlineView - - - CLASS - VLCVoutView - LANGUAGE - ObjC - OUTLETS - - o_window - id - - SUPERCLASS - NSView - - - CLASS - VLCControllerWindow - LANGUAGE - ObjC - SUPERCLASS - NSWindow - - - CLASS - MPSlider - LANGUAGE - ObjC - SUPERCLASS - NSSlider - - - CLASS - VLCFSPanel - LANGUAGE - ObjC - SUPERCLASS - NSWindow - - - CLASS - VLCEmbeddedVoutView - LANGUAGE - ObjC - SUPERCLASS - VLCVoutView - - - ACTIONS - - bandSliderUpdated - id - changePreset - id - enable - id - preampSliderUpdated - id - toggleWindow - id - twopass - id - - CLASS - VLCEqualizer - LANGUAGE - ObjC - OUTLETS - - o_btn_equalizer - id - o_ckb_2pass - id - o_ckb_enable - id - o_fld_preamp - id - o_popup_presets - id - o_slider_band1 - id - o_slider_band10 - id - o_slider_band2 - id - o_slider_band3 - id - o_slider_band4 - id - o_slider_band5 - id - o_slider_band6 - id - o_slider_band7 - id - o_slider_band8 - id - o_slider_band9 - id - o_slider_preamp - id - o_window - id - - SUPERCLASS - NSObject - - - CLASS - VLBrushedMetalImageView - LANGUAGE - ObjC - SUPERCLASS - NSImageView - - - ACTIONS - - addNode - id - deleteItem - id - playItem - id - preparseItem - id - recursiveExpandNode - id - savePlaylist - id - searchItem - id - selectAll - id - servicesChange - id - sortNodeByAuthor - id - sortNodeByName - id - - CLASS - VLCPlaylist - LANGUAGE - ObjC - OUTLETS - - o_btn_addNode - id - o_btn_playlist - id - o_controller - id - o_ctx_menu - id - o_mi_addNode - id - o_mi_delete - id - o_mi_info - id - o_mi_play - id - o_mi_preparse - id - o_mi_recursive_expand - id - o_mi_save_playlist - id - o_mi_selectall - id - o_mi_services - id - o_mi_sort_author - id - o_mi_sort_name - id - o_mm_mi_services - id - o_mm_mu_services - id - o_mu_services - id - o_outline_view - id - o_playlist_view - id - o_playlist_wizard - id - o_random_ckb - id - o_save_accessory_popup - id - o_save_accessory_text - id - o_save_accessory_view - id - o_search_field - id - o_status_field - id - o_tc_author - id - o_tc_duration - id - o_tc_name - id - o_tc_sortColumn - id - - SUPERCLASS - VLCPlaylistCommon - - - ACTIONS - - add - id - clear - id - edit - id - edit_cancel - id - edit_ok - id - extract - id - goToBookmark - id - remove - id - - CLASS - VLCBookmarks - LANGUAGE - ObjC - OUTLETS - - o_bookmarks_window - id - o_btn_add - id - o_btn_clear - id - o_btn_edit - id - o_btn_extract - id - o_btn_rm - id - o_edit_btn_cancel - id - o_edit_btn_ok - id - o_edit_fld_bytes - id - o_edit_fld_name - id - o_edit_fld_time - id - o_edit_lbl_bytes - id - o_edit_lbl_name - id - o_edit_lbl_time - id - o_edit_window - id - o_tbl_dataTable - id - - SUPERCLASS - NSObject - - - IBVersion - 1 - - diff --git a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/info.nib b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/info.nib deleted file mode 100644 index 624fd7a254..0000000000 --- a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/info.nib +++ /dev/null @@ -1,20 +0,0 @@ - - - - - IBFramework Version - 667 - IBLastKnownRelativeProjectPath - ../../vlc.xcodeproj - IBOldestOS - 5 - IBOpenObjects - - 2211 - - IBSystem Version - 9E17 - targetFramework - IBCocoaFramework - - diff --git a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib index 96a39abc11..01c106e307 100644 Binary files a/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib and b/extras/package/macosx/Resources/English.lproj/MainMenu.nib/keyedobjects.nib differ diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h index 718a83bdab..7c6cf98eaf 100644 --- a/modules/gui/macosx/intf.h +++ b/modules/gui/macosx/intf.h @@ -94,6 +94,10 @@ struct intf_sys_t *****************************************************************************/ @class AppleRemote; @class VLCInformation; +@class VLControllerWindow; +@class VLCEmbeddedWindow; +@class VLCControls; +@class VLCPlaylist; @interface VLCMain : NSObject { intf_thread_t *p_intf; /* The main intf object */ @@ -121,171 +125,173 @@ struct intf_sys_t BOOL nib_update_loaded; /* update nibfile */ BOOL nib_info_loaded; /* information panel nibfile */ - IBOutlet id o_window; /* main window */ - IBOutlet id o_playlist_view;/* playlist view */ + IBOutlet VLControllerWindow * o_window; /* main window */ + IBOutlet NSView * o_playlist_view;/* playlist view */ IBOutlet id o_scrollfield; /* info field */ - IBOutlet id o_timefield; /* time field */ - IBOutlet id o_timeslider; /* time slider */ - IBOutlet id o_embedded_window; /* Embedded Vout Window */ + IBOutlet NSTextField * o_timefield; /* time field */ + IBOutlet NSSlider * o_timeslider; /* time slider */ + IBOutlet VLCEmbeddedWindow * o_embedded_window; /* Embedded Vout Window */ float f_slider; /* slider value */ float f_slider_old; /* old slider val */ - IBOutlet id o_volumeslider; /* volume slider */ - - IBOutlet id o_main_pgbar; /* playlist window progress bar */ - IBOutlet id o_btn_prev; /* btn previous */ - IBOutlet id o_btn_rewind; /* btn rewind */ - IBOutlet id o_btn_play; /* btn play */ - IBOutlet id o_btn_stop; /* btn stop */ - IBOutlet id o_btn_ff; /* btn fast forward */ - IBOutlet id o_btn_next; /* btn next */ - IBOutlet id o_btn_fullscreen;/* btn fullscreen (embedded vout window) */ - IBOutlet id o_btn_playlist; /* btn playlist */ - IBOutlet id o_btn_equalizer; /* eq btn */ + IBOutlet NSSlider * o_volumeslider; /* volume slider */ + + IBOutlet NSView * toolbarMediaControl; /* view with the controls */ + + IBOutlet NSProgressIndicator * o_main_pgbar; /* playlist window progress bar */ + IBOutlet NSButton * o_btn_prev; /* btn previous */ + IBOutlet NSButton * o_btn_rewind; /* btn rewind */ + IBOutlet NSButton * o_btn_play; /* btn play */ + IBOutlet NSButton * o_btn_stop; /* btn stop */ + IBOutlet NSButton * o_btn_ff; /* btn fast forward */ + IBOutlet NSButton * o_btn_next; /* btn next */ + IBOutlet NSButton * o_btn_fullscreen;/* btn fullscreen (embedded vout window) */ + IBOutlet NSButton * o_btn_playlist; /* btn playlist */ + IBOutlet NSButton * o_btn_equalizer; /* eq btn */ NSImage * o_img_play; /* btn play img */ NSImage * o_img_pause; /* btn pause img */ NSImage * o_img_play_pressed; /* btn play img */ NSImage * o_img_pause_pressed; /* btn pause img */ - IBOutlet id o_controls; /* VLCControls */ - IBOutlet id o_playlist; /* VLCPlaylist */ + IBOutlet VLCControls * o_controls; /* VLCControls */ + IBOutlet VLCPlaylist * o_playlist; /* VLCPlaylist */ IBOutlet id o_messages; /* messages tv */ IBOutlet id o_msgs_panel; /* messages panel */ NSMutableArray * o_msg_arr; /* messages array */ NSLock * o_msg_lock; /* messages lock */ - IBOutlet id o_msgs_btn_crashlog; /* messages open crashlog */ + IBOutlet NSButton * o_msgs_btn_crashlog; /* messages open crashlog */ /* main menu */ - IBOutlet id o_mi_about; - IBOutlet id o_mi_prefs; - IBOutlet id o_mi_sprefs; - 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; - IBOutlet id o_mi_quit; - - IBOutlet id o_mu_file; - IBOutlet id o_mi_open_file; - IBOutlet id o_mi_open_generic; - IBOutlet id o_mi_open_disc; - IBOutlet id o_mi_open_net; - IBOutlet id o_mi_open_capture; - 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; - IBOutlet id o_mi_copy; - IBOutlet id o_mi_paste; - IBOutlet id o_mi_clear; - IBOutlet id o_mi_select_all; - - IBOutlet id o_mu_controls; - IBOutlet id o_mi_play; - IBOutlet id o_mi_stop; - IBOutlet id o_mi_faster; - IBOutlet id o_mi_slower; - IBOutlet id o_mi_previous; - IBOutlet id o_mi_next; - IBOutlet id o_mi_random; - IBOutlet id o_mi_repeat; - IBOutlet id o_mi_loop; - IBOutlet id o_mi_fwd; - IBOutlet id o_mi_bwd; - IBOutlet id o_mi_fwd1m; - IBOutlet id o_mi_bwd1m; - IBOutlet id o_mi_fwd5m; - IBOutlet id o_mi_bwd5m; - IBOutlet id o_mi_program; - IBOutlet id o_mu_program; - IBOutlet id o_mi_title; - IBOutlet id o_mu_title; - IBOutlet id o_mi_chapter; - IBOutlet id o_mu_chapter; - - IBOutlet id o_mu_audio; - IBOutlet id o_mi_vol_up; - IBOutlet id o_mi_vol_down; - IBOutlet id o_mi_mute; - IBOutlet id o_mi_audiotrack; - IBOutlet id o_mu_audiotrack; - IBOutlet id o_mi_channels; - IBOutlet id o_mu_channels; - IBOutlet id o_mi_device; - IBOutlet id o_mu_device; - IBOutlet id o_mi_visual; - IBOutlet id o_mu_visual; - - IBOutlet id o_mu_video; - IBOutlet id o_mi_half_window; - IBOutlet id o_mi_normal_window; - IBOutlet id o_mi_double_window; - 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; - IBOutlet id o_mu_screen; - IBOutlet id o_mi_aspect_ratio; - IBOutlet id o_mu_aspect_ratio; - IBOutlet id o_mi_crop; - IBOutlet id o_mu_crop; - IBOutlet id o_mi_subtitle; - 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; - IBOutlet id o_mi_bring_atf; - - IBOutlet id o_mu_help; - IBOutlet id o_mi_help; - IBOutlet id o_mi_readme; - IBOutlet id o_mi_documentation; - IBOutlet id o_mi_license; - IBOutlet id o_mi_website; - IBOutlet id o_mi_donation; - IBOutlet id o_mi_forum; - IBOutlet id o_mi_errorsAndWarnings; + IBOutlet NSMenuItem * o_mi_about; + IBOutlet NSMenuItem * o_mi_prefs; + IBOutlet NSMenuItem * o_mi_sprefs; + IBOutlet NSMenuItem * o_mi_checkForUpdate; + IBOutlet NSMenuItem * o_mi_add_intf; + IBOutlet NSMenu * o_mu_add_intf; + IBOutlet NSMenuItem * o_mi_services; + IBOutlet NSMenuItem * o_mi_hide; + IBOutlet NSMenuItem * o_mi_hide_others; + IBOutlet NSMenuItem * o_mi_show_all; + IBOutlet NSMenuItem * o_mi_quit; + + IBOutlet NSMenu * o_mu_file; + IBOutlet NSMenuItem * o_mi_open_file; + IBOutlet NSMenuItem * o_mi_open_generic; + IBOutlet NSMenuItem * o_mi_open_disc; + IBOutlet NSMenuItem * o_mi_open_net; + IBOutlet NSMenuItem * o_mi_open_capture; + IBOutlet NSMenuItem * o_mi_open_recent; + IBOutlet NSMenuItem * o_mi_open_recent_cm; + IBOutlet NSMenuItem * o_mi_open_wizard; + + IBOutlet NSMenu * o_mu_edit; + IBOutlet NSMenuItem * o_mi_cut; + IBOutlet NSMenuItem * o_mi_copy; + IBOutlet NSMenuItem * o_mi_paste; + IBOutlet NSMenuItem * o_mi_clear; + IBOutlet NSMenuItem * o_mi_select_all; + + IBOutlet NSMenu * o_mu_controls; + IBOutlet NSMenuItem * o_mi_play; + IBOutlet NSMenuItem * o_mi_stop; + IBOutlet NSMenuItem * o_mi_faster; + IBOutlet NSMenuItem * o_mi_slower; + IBOutlet NSMenuItem * o_mi_previous; + IBOutlet NSMenuItem * o_mi_next; + IBOutlet NSMenuItem * o_mi_random; + IBOutlet NSMenuItem * o_mi_repeat; + IBOutlet NSMenuItem * o_mi_loop; + IBOutlet NSMenuItem * o_mi_fwd; + IBOutlet NSMenuItem * o_mi_bwd; + IBOutlet NSMenuItem * o_mi_fwd1m; + IBOutlet NSMenuItem * o_mi_bwd1m; + IBOutlet NSMenuItem * o_mi_fwd5m; + IBOutlet NSMenuItem * o_mi_bwd5m; + IBOutlet NSMenuItem * o_mi_program; + IBOutlet NSMenuItem * o_mu_program; + IBOutlet NSMenuItem * o_mi_title; + IBOutlet NSMenu * o_mu_title; + IBOutlet NSMenuItem * o_mi_chapter; + IBOutlet NSMenu * o_mu_chapter; + + IBOutlet NSMenu * o_mu_audio; + IBOutlet NSMenuItem * o_mi_vol_up; + IBOutlet NSMenuItem * o_mi_vol_down; + IBOutlet NSMenuItem * o_mi_mute; + IBOutlet NSMenuItem * o_mi_audiotrack; + IBOutlet NSMenu * o_mu_audiotrack; + IBOutlet NSMenuItem * o_mi_channels; + IBOutlet NSMenu * o_mu_channels; + IBOutlet NSMenuItem * o_mi_device; + IBOutlet NSMenu * o_mu_device; + IBOutlet NSMenuItem * o_mi_visual; + IBOutlet NSMenu * o_mu_visual; + + IBOutlet NSMenu * o_mu_video; + IBOutlet NSMenuItem * o_mi_half_window; + IBOutlet NSMenuItem * o_mi_normal_window; + IBOutlet NSMenuItem * o_mi_double_window; + IBOutlet NSMenuItem * o_mi_fittoscreen; + IBOutlet NSMenuItem * o_mi_fullscreen; + IBOutlet NSMenuItem * o_mi_floatontop; + IBOutlet NSMenuItem * o_mi_snapshot; + IBOutlet NSMenuItem * o_mi_videotrack; + IBOutlet NSMenu * o_mu_videotrack; + IBOutlet NSMenuItem * o_mi_screen; + IBOutlet NSMenu * o_mu_screen; + IBOutlet NSMenuItem * o_mi_aspect_ratio; + IBOutlet NSMenu * o_mu_aspect_ratio; + IBOutlet NSMenuItem * o_mi_crop; + IBOutlet NSMenu * o_mu_crop; + IBOutlet NSMenuItem * o_mi_subtitle; + IBOutlet NSMenu * o_mu_subtitle; + IBOutlet NSMenuItem * o_mi_deinterlace; + IBOutlet NSMenu * o_mu_deinterlace; + IBOutlet NSMenuItem * o_mi_ffmpeg_pp; + IBOutlet NSMenuItem * o_mu_ffmpeg_pp; + + IBOutlet NSMenu * o_mu_window; + IBOutlet NSMenuItem * o_mi_minimize; + IBOutlet NSMenuItem * o_mi_close_window; + IBOutlet NSMenuItem * o_mi_controller; + IBOutlet NSMenuItem * o_mi_equalizer; + IBOutlet NSMenuItem * o_mi_extended; + IBOutlet NSMenuItem * o_mi_bookmarks; + IBOutlet NSMenuItem * o_mi_playlist; + IBOutlet NSMenuItem * o_mi_info; + IBOutlet NSMenuItem * o_mi_messages; + IBOutlet NSMenuItem * o_mi_bring_atf; + + IBOutlet NSMenu * o_mu_help; + IBOutlet NSMenuItem * o_mi_help; + IBOutlet NSMenuItem * o_mi_readme; + IBOutlet NSMenuItem * o_mi_documentation; + IBOutlet NSMenuItem * o_mi_license; + IBOutlet NSMenuItem * o_mi_website; + IBOutlet NSMenuItem * o_mi_donation; + IBOutlet NSMenuItem * o_mi_forum; + IBOutlet NSMenuItem * o_mi_errorsAndWarnings; /* dock menu */ - IBOutlet id o_dmi_play; - IBOutlet id o_dmi_stop; - IBOutlet id o_dmi_next; - IBOutlet id o_dmi_previous; - IBOutlet id o_dmi_mute; + IBOutlet NSMenuItem * o_dmi_play; + IBOutlet NSMenuItem * o_dmi_stop; + IBOutlet NSMenuItem * o_dmi_next; + IBOutlet NSMenuItem * o_dmi_previous; + IBOutlet NSMenuItem * o_dmi_mute; /* vout menu */ - IBOutlet id o_vout_menu; - IBOutlet id o_vmi_play; - IBOutlet id o_vmi_stop; - IBOutlet id o_vmi_prev; - IBOutlet id o_vmi_next; - IBOutlet id o_vmi_volup; - IBOutlet id o_vmi_voldown; - IBOutlet id o_vmi_mute; - IBOutlet id o_vmi_fullscreen; - IBOutlet id o_vmi_snapshot; + IBOutlet NSMenu * o_vout_menu; + IBOutlet NSMenuItem * o_vmi_play; + IBOutlet NSMenuItem * o_vmi_stop; + IBOutlet NSMenuItem * o_vmi_prev; + IBOutlet NSMenuItem * o_vmi_next; + IBOutlet NSMenuItem * o_vmi_volup; + IBOutlet NSMenuItem * o_vmi_voldown; + IBOutlet NSMenuItem * o_vmi_mute; + IBOutlet NSMenuItem * o_vmi_fullscreen; + IBOutlet NSMenuItem * o_vmi_snapshot; bool b_small_window; diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index 21e98d6b24..a1b38da6da 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -387,8 +387,9 @@ static VLCMain *_o_sharedMainInstance = nil; if( nib_main_loaded ) return; [self initStrings]; - [o_window setExcludedFromWindowsMenu: TRUE]; - [o_msgs_panel setExcludedFromWindowsMenu: TRUE]; + + [o_window setExcludedFromWindowsMenu: YES]; + [o_msgs_panel setExcludedFromWindowsMenu: YES]; [o_msgs_panel setDelegate: self]; i_key = config_GetInt( p_intf, "key-quit" ); @@ -509,6 +510,72 @@ static VLCMain *_o_sharedMainInstance = nil; nib_main_loaded = TRUE; } +#pragma mark Toolbar delegate +/* Our item identifiers */ +static NSString * VLCToolbarMediaControl = @"VLCToolbarMediaControl"; + +- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar +{ + NSLog(@"toolbarAllowedItemIdentifiers %s", __func__); + + return [NSArray arrayWithObjects: +// NSToolbarCustomizeToolbarItemIdentifier, +// NSToolbarFlexibleSpaceItemIdentifier, +// NSToolbarSpaceItemIdentifier, +// NSToolbarSeparatorItemIdentifier, + VLCToolbarMediaControl, + nil ]; +} + +- (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) toolbar +{ + NSLog(@"toolbarAllowedItemIdentifiers %s", __func__); + + return [NSArray arrayWithObjects: + VLCToolbarMediaControl, + nil ]; +} + +- (NSToolbarItem *) toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag +{ + NSLog(@"toolbarAllowedItemIdentifiers %s", __func__); + NSToolbarItem *toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdentifier] autorelease]; + + + if( [itemIdentifier isEqual: VLCToolbarMediaControl] ) + { + [toolbarItem setLabel:@"Media Controls"]; + [toolbarItem setPaletteLabel:@"Media Controls"]; + + NSSize size = toolbarMediaControl.frame.size; + [toolbarItem setView:toolbarMediaControl]; + [toolbarItem setMinSize:size]; + size.width += 1000.; + [toolbarItem setMaxSize:size]; + + // Hack: For some reason we need to make sure + // that the those element are on top + // Add them again will put them frontmost + [toolbarMediaControl addSubview:o_scrollfield]; + [toolbarMediaControl addSubview:o_timeslider]; + [toolbarMediaControl addSubview:o_timefield]; + [toolbarMediaControl addSubview:o_main_pgbar]; + + /* TODO: setup a menu */ + } + else + { + /* itemIdentifier referred to a toolbar item that is not + * provided or supported by us or Cocoa + * Returning nil will inform the toolbar + * that this kind of item is not supported */ + toolbarItem = nil; + } + return toolbarItem; +} + +#pragma mark - + - (void)controlTintChanged { BOOL b_playing = NO; @@ -553,7 +620,7 @@ static VLCMain *_o_sharedMainInstance = nil; - (void)initStrings { - [o_window setTitle: _NS("VLC - Controller")]; + [o_window setTitle: _NS("VLC")]; [self setScrollField:_NS("VLC media player") stopAfter:-1]; /* button controls */ @@ -1230,11 +1297,20 @@ static VLCMain *_o_sharedMainInstance = nil; /* TODO: fix i_size use */ b_plmul = p_playlist->items.i_size > 1; - p_input = vlc_object_find( p_playlist, VLC_OBJECT_INPUT, - FIND_CHILD ); - + p_input = playlist_CurrentInput( p_playlist ); + bool b_buffering = NO; + if( ( b_input = ( p_input != NULL ) ) ) { + /* seekable streams */ + int state = input_GetState( p_input ); + if ( state == INIT_S || + state == OPENING_S || + state == BUFFERING_S ) + { + b_buffering = YES; + } + /* seekable streams */ b_seekable = var_GetBool( p_input, "seekable" ); @@ -1247,12 +1323,25 @@ static VLCMain *_o_sharedMainInstance = nil; } pl_Release( p_intf ); + if( b_buffering ) + { + [o_main_pgbar startAnimation:self]; + [o_main_pgbar setIndeterminate:YES]; + [o_main_pgbar setHidden:NO]; + } + else + { + [o_main_pgbar stopAnimation:self]; + [o_main_pgbar setHidden:YES]; + } + [o_btn_stop setEnabled: b_input]; [o_btn_ff setEnabled: b_seekable]; [o_btn_rewind setEnabled: b_seekable]; [o_btn_prev setEnabled: (b_plmul || b_chapters)]; [o_btn_next setEnabled: (b_plmul || b_chapters)]; + NSLog(@"seekable %d", b_seekable); [o_timeslider setFloatValue: 0.0]; [o_timeslider setEnabled: b_seekable]; [o_timefield setStringValue: @"00:00"];