X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fmacosx%2Fintf.h;h=81c71aa16042b574e3f484e995f2582468ffcbc4;hb=408f769e5768bf1c8dbc840bef1c560a91de6d5f;hp=90860ad10d1c065e9c514dbca3a68842bbe4dac7;hpb=fbce9b9638ce65acc8c4c8bb1c9d7405d4378bc8;p=vlc diff --git a/modules/gui/macosx/intf.h b/modules/gui/macosx/intf.h index 90860ad10d..81c71aa160 100644 --- a/modules/gui/macosx/intf.h +++ b/modules/gui/macosx/intf.h @@ -1,13 +1,13 @@ /***************************************************************************** * intf.h: MacOS X interface module ***************************************************************************** - * Copyright (C) 2002-2006 the VideoLAN team + * Copyright (C) 2002-2009 the VideoLAN team * $Id$ * * Authors: Jon Lech Johansen * Christophe Massiot * Derk-Jan Hartman - * Felix KŸhne + * Felix Paul Kühne * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,7 +24,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include #include #include #include @@ -36,7 +40,6 @@ /***************************************************************************** * Local prototypes. *****************************************************************************/ -int ExecuteOnMainThread( id target, SEL sel, void * p_arg ); unsigned int CocoaKeyToVLC( unichar i_key ); #define VLCIntf [[VLCMain sharedInstance] getIntf] @@ -51,234 +54,265 @@ unsigned int CocoaKeyToVLC( unichar i_key ); @"/System/Library/CoreServices/SystemVersion.plist"] \ objectForKey: @"ProductVersion"] floatValue] -/* switch this to 1, if you want to use Obj-C with GC */ -#define GC_ENABLED 0 - /***************************************************************************** * intf_sys_t: description and status of the interface *****************************************************************************/ struct intf_sys_t { NSAutoreleasePool * o_pool; - NSPort * o_sendport; - - /* the current input */ - input_thread_t * p_input; /* special actions */ - vlc_bool_t b_mute; + bool b_mute; int i_play_status; /* interface update */ - vlc_bool_t b_intf_update; - 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; - vlc_bool_t b_intf_show; + bool b_intf_update; + bool b_playlist_update; + bool b_playmode_update; + bool b_current_title_update; + bool b_fullscreen_update; + bool b_volume_update; + bool b_intf_show; /* menus handlers */ - vlc_bool_t b_input_update; - vlc_bool_t b_aout_update; - vlc_bool_t b_vout_update; + bool b_input_update; + bool b_aout_update; + bool b_vout_update; /* The messages window */ msg_subscription_t * p_sub; - }; +static void MsgCallback( msg_cb_data_t *, msg_item_t *, unsigned ); + /***************************************************************************** * VLCMain interface *****************************************************************************/ @class AppleRemote; +@class VLCInformation; +@class VLControllerWindow; +@class VLCEmbeddedWindow; +@class VLCControls; +@class VLCPlaylist; @interface VLCMain : NSObject { intf_thread_t *p_intf; /* The main intf object */ id o_prefs; /* VLCPrefs */ + id o_sprefs; /* VLCSimplePrefs */ id o_about; /* VLAboutBox */ id o_open; /* VLCOpen */ id o_wizard; /* VLCWizard */ id o_extended; /* VLCExtended */ id o_bookmarks; /* VLCBookmarks */ + id o_vlm; /* VLCVLMController */ id o_embedded_list; /* VLCEmbeddedList*/ - id o_interaction_list; /* VLCInteractionList*/ - id o_sfilters; /* VLCsFilters */ + id o_coredialogs; /* VLCCoreDialogProvider */ + VLCInformation * o_info; /* VLCInformation */ +#ifdef UPDATE_CHECK id o_update; /* VLCUpdate */ +#endif id o_eyetv; /* VLCEyeTVController */ - BOOL nib_main_loaded; /* reference to the main-nib */ - 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_sfilters_loaded; /* reference to the sfilters-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 */ - IBOutlet id 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; /* main interface 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 */ - IBOutlet id o_btn_playlist; /* btn playlist */ + BOOL nib_main_loaded; /* main nibfile */ + BOOL nib_open_loaded; /* open nibfile */ + BOOL nib_about_loaded; /* about nibfile */ + BOOL nib_wizard_loaded; /* wizard nibfile */ + BOOL nib_extended_loaded; /* extended nibfile */ + BOOL nib_bookmarks_loaded; /* bookmarks nibfile */ + BOOL nib_prefs_loaded; /* preferences nibfile */ + BOOL nib_update_loaded; /* update nibfile */ + BOOL nib_info_loaded; /* information panel nibfile */ + BOOL nib_vlm_loaded; /* VLM Panel nibfile */ + BOOL nib_coredialogs_loaded; /* CoreDialogs nibfile */ + + IBOutlet VLControllerWindow * o_window; /* main window */ + IBOutlet NSView * o_playlist_view; /* playlist view */ + IBOutlet id o_scrollfield; /* info field */ + IBOutlet NSTextField * o_timefield; /* time field */ + IBOutlet NSSlider * o_timeslider; /* time slider */ + BOOL b_time_remaining; /* show remaining time or playtime ? */ + IBOutlet VLCEmbeddedWindow * o_embedded_window; /* Embedded Vout Window */ + float f_slider; /* slider value */ + float f_slider_old; /* old slider val */ + 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 id o_info; /* VLCInfo */ - - 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 id o_info_window; /* Info panel */ + IBOutlet VLCControls * o_controls; /* VLCControls */ + IBOutlet VLCPlaylist * o_playlist; /* VLCPlaylist */ + + IBOutlet NSTextView * o_messages; /* messages tv */ + IBOutlet NSWindow * o_msgs_panel; /* messages panel */ + NSMutableArray * o_msg_arr; /* messages array */ + NSLock * o_msg_lock; /* messages lock */ + BOOL b_msg_arr_changed; /* did the array change? */ + IBOutlet NSButton * o_msgs_crashlog_btn; /* messages open crashlog */ + IBOutlet NSButton * o_msgs_save_btn; /* save the log as rtf */ + + /* CrashReporter panel */ + IBOutlet NSButton * o_crashrep_dontSend_btn; + IBOutlet NSButton * o_crashrep_send_btn; + IBOutlet NSTextView * o_crashrep_fld; + IBOutlet NSTextField * o_crashrep_title_txt; + IBOutlet NSTextField * o_crashrep_desc_txt; + IBOutlet NSWindow * o_crashrep_win; + IBOutlet NSButton * o_crashrep_includeEmail_ckb; + IBOutlet NSTextField * o_crashrep_includeEmail_txt; /* main menu */ - 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; - 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_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_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 NSMenuItem * o_mi_open_vlm; + + 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_addSub; + IBOutlet NSMenuItem * o_mi_deinterlace; + IBOutlet NSMenu * o_mu_deinterlace; + IBOutlet NSMenuItem * o_mi_ffmpeg_pp; + IBOutlet NSMenuItem * o_mu_ffmpeg_pp; + IBOutlet NSMenuItem * o_mi_teletext; + IBOutlet NSMenuItem * o_mi_teletext_transparent; + IBOutlet NSMenuItem * o_mi_teletext_index; + IBOutlet NSMenuItem * o_mi_teletext_red; + IBOutlet NSMenuItem * o_mi_teletext_green; + IBOutlet NSMenuItem * o_mi_teletext_yellow; + IBOutlet NSMenuItem * o_mi_teletext_blue; + + 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; @@ -291,6 +325,16 @@ struct intf_sys_t int i_lastShownVolume; + input_state_e cachedInputState; + + /* the manage thread */ + pthread_t manage_thread; + + /* The timer that update the interface */ + NSTimer * interfaceTimer; + + NSURLConnection * crashLogURLConnection; + AppleRemote * o_remote; BOOL b_remote_button_hold; /* true as long as the user holds the left,right,plus or minus on the remote control */ } @@ -300,19 +344,24 @@ struct intf_sys_t - (intf_thread_t *)getIntf; - (void)setIntf:(intf_thread_t *)p_mainintf; +- (void)controlTintChanged; + - (id)getControls; +- (id)getSimplePreferences; +- (id)getPreferences; - (id)getPlaylist; +- (BOOL)isPlaylistCollapsed; - (id)getInfo; - (id)getWizard; - (id)getBookmarks; - (id)getEmbeddedList; -- (id)getInteractionList; +- (id)getCoreDialogProvider; - (id)getMainIntfPgbar; - (id)getControllerWindow; - (id)getVoutMenu; - (id)getEyeTVController; - (void)applicationWillTerminate:(NSNotification *)notification; -- (NSString *)localizedString:(char *)psz; +- (NSString *)localizedString:(const char *)psz; - (char *)delocalizeString:(NSString *)psz; - (NSString *)wrapString: (NSString *)o_in_string toWidth: (int)i_width; - (BOOL)hasDefinedShortcutKey:(NSEvent *)o_event; @@ -326,11 +375,12 @@ struct intf_sys_t - (void)setScrollField:(NSString *)o_string stopAfter:(int )timeout; - (void)resetScrollField; -- (void)updateMessageArray; +- (void)updateMessageDisplay; - (void)playStatusUpdated:(int) i_status; - (void)setSubmenusEnabled:(BOOL)b_enabled; - (void)manageVolumeSlider; - (IBAction)timesliderUpdate:(id)sender; +- (IBAction)timeFieldWasClicked:(id)sender; - (IBAction)clearRecentItems:(id)sender; - (void)openRecentItem:(id)sender; @@ -339,13 +389,15 @@ struct intf_sys_t - (IBAction)intfOpenFileGeneric:(id)sender; - (IBAction)intfOpenDisc:(id)sender; - (IBAction)intfOpenNet:(id)sender; +- (IBAction)intfOpenCapture:(id)sender; - (IBAction)showWizard:(id)sender; +- (IBAction)showVLM:(id)sender; - (IBAction)showExtended:(id)sender; - (IBAction)showBookmarks:(id)sender; -- (IBAction)showSFilters:(id)sender; - (IBAction)viewAbout:(id)sender; +- (IBAction)showLicense:(id)sender; - (IBAction)viewPreferences:(id)sender; - (IBAction)checkForUpdate:(id)sender; - (IBAction)viewHelp:(id)sender; @@ -357,6 +409,10 @@ struct intf_sys_t - (IBAction)openCrashLog:(id)sender; - (IBAction)viewErrorsAndWarnings:(id)sender; - (IBAction)showMessagesPanel:(id)sender; +- (IBAction)showInformationPanel:(id)sender; + +- (IBAction)crashReporterAction:(id)sender; +- (IBAction)saveDebugLog:(id)sender; - (IBAction)togglePlaylist:(id)sender; - (void)updateTogglePlaylistState; @@ -368,3 +424,17 @@ struct intf_sys_t @interface VLCMain (Internal) - (void)handlePortMessage:(NSPortMessage *)o_msg; @end + +/***************************************************************************** + * VLCApplication interface + *****************************************************************************/ + +@interface VLCApplication : NSApplication +{ + BOOL b_justJumped; +} + +- (void)sendEvent: (NSEvent*)event; +- (void)resetJump; + +@end