00001 /***************************************************************************** 00002 * simple_prefs.h: Simple Preferences for Mac OS X 00003 ***************************************************************************** 00004 * Copyright (C) 2008 the VideoLAN team 00005 * $Id: 2c11578e6b4916fb0982b8963fe95b71e836a584 $ 00006 * 00007 * Authors: Felix Paul Kühne <fkuehne at videolan dot org> 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; if not, write to the Free Software 00021 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 00022 *****************************************************************************/ 00023 00024 #import <Cocoa/Cocoa.h> 00025 #import "intf.h" 00026 #import <vlc_common.h> 00027 00028 @interface VLCSimplePrefs : NSObject 00029 { 00030 IBOutlet id o_audio_dolby_pop; 00031 IBOutlet id o_audio_dolby_txt; 00032 IBOutlet id o_audio_effects_box; 00033 IBOutlet id o_audio_enable_ckb; 00034 IBOutlet id o_audio_general_box; 00035 IBOutlet id o_audio_headphone_ckb; 00036 IBOutlet id o_audio_lang_fld; 00037 IBOutlet id o_audio_lang_txt; 00038 IBOutlet id o_audio_last_box; 00039 IBOutlet id o_audio_last_ckb; 00040 IBOutlet id o_audio_lastpwd_sfld; 00041 IBOutlet id o_audio_lastpwd_txt; 00042 IBOutlet id o_audio_lastuser_fld; 00043 IBOutlet id o_audio_lastuser_txt; 00044 IBOutlet id o_audio_norm_ckb; 00045 IBOutlet id o_audio_norm_fld; 00046 IBOutlet id o_audio_norm_stepper; 00047 IBOutlet id o_audio_spdif_ckb; 00048 IBOutlet id o_audio_view; 00049 IBOutlet id o_audio_visual_pop; 00050 IBOutlet id o_audio_visual_txt; 00051 IBOutlet id o_audio_vol_fld; 00052 IBOutlet id o_audio_vol_sld; 00053 IBOutlet id o_audio_vol_txt; 00054 00055 IBOutlet id o_hotkeys_change_btn; 00056 IBOutlet id o_hotkeys_change_lbl; 00057 IBOutlet id o_hotkeys_change_keys_lbl; 00058 IBOutlet id o_hotkeys_change_taken_lbl; 00059 IBOutlet id o_hotkeys_change_win; 00060 IBOutlet id o_hotkeys_change_cancel_btn; 00061 IBOutlet id o_hotkeys_change_ok_btn; 00062 IBOutlet id o_hotkeys_clear_btn; 00063 IBOutlet id o_hotkeys_lbl; 00064 IBOutlet id o_hotkeys_listbox; 00065 IBOutlet id o_hotkeys_view; 00066 00067 IBOutlet id o_input_avi_pop; 00068 IBOutlet id o_input_avi_txt; 00069 IBOutlet id o_input_cachelevel_pop; 00070 IBOutlet id o_input_cachelevel_txt; 00071 IBOutlet id o_input_cachelevel_custom_txt; 00072 IBOutlet id o_input_caching_box; 00073 IBOutlet id o_input_httpproxy_fld; 00074 IBOutlet id o_input_httpproxy_txt; 00075 IBOutlet id o_input_httpproxypwd_sfld; 00076 IBOutlet id o_input_httpproxypwd_txt; 00077 IBOutlet id o_input_mux_box; 00078 IBOutlet id o_input_net_box; 00079 IBOutlet id o_input_postproc_fld; 00080 IBOutlet id o_input_postproc_txt; 00081 IBOutlet id o_input_rtsp_ckb; 00082 IBOutlet id o_input_skipLoop_txt; 00083 IBOutlet id o_input_skipLoop_pop; 00084 IBOutlet id o_input_serverport_fld; 00085 IBOutlet id o_input_serverport_txt; 00086 IBOutlet id o_input_view; 00087 00088 IBOutlet id o_intf_art_pop; 00089 IBOutlet id o_intf_art_txt; 00090 IBOutlet id o_intf_embedded_ckb; 00091 IBOutlet id o_intf_fspanel_ckb; 00092 IBOutlet id o_intf_appleremote_ckb; 00093 IBOutlet id o_intf_mediakeys_ckb; 00094 IBOutlet id o_intf_mediakeys_bg_ckb; 00095 IBOutlet id o_intf_lang_pop; 00096 IBOutlet id o_intf_lang_txt; 00097 IBOutlet id o_intf_network_box; 00098 IBOutlet id o_intf_view; 00099 IBOutlet id o_intf_update_ckb; 00100 IBOutlet id o_intf_last_update_lbl; 00101 00102 IBOutlet id o_osd_encoding_pop; 00103 IBOutlet id o_osd_encoding_txt; 00104 IBOutlet id o_osd_font_box; 00105 IBOutlet id o_osd_font_btn; 00106 IBOutlet id o_osd_font_color_pop; 00107 IBOutlet id o_osd_font_color_txt; 00108 IBOutlet id o_osd_font_fld; 00109 IBOutlet id o_osd_font_size_pop; 00110 IBOutlet id o_osd_font_size_txt; 00111 IBOutlet id o_osd_font_txt; 00112 IBOutlet id o_osd_lang_box; 00113 IBOutlet id o_osd_lang_fld; 00114 IBOutlet id o_osd_lang_txt; 00115 IBOutlet id o_osd_osd_box; 00116 IBOutlet id o_osd_osd_ckb; 00117 IBOutlet id o_osd_view; 00118 00119 IBOutlet id o_sprefs_basic_box; 00120 IBOutlet id o_sprefs_basicFull_matrix; 00121 IBOutlet id o_sprefs_cancel_btn; 00122 IBOutlet id o_sprefs_controls_box; 00123 IBOutlet id o_sprefs_reset_btn; 00124 IBOutlet id o_sprefs_save_btn; 00125 IBOutlet id o_sprefs_win; 00126 00127 IBOutlet id o_video_black_ckb; 00128 IBOutlet id o_video_device_pop; 00129 IBOutlet id o_video_device_txt; 00130 IBOutlet id o_video_display_box; 00131 IBOutlet id o_video_enable_ckb; 00132 IBOutlet id o_video_fullscreen_ckb; 00133 IBOutlet id o_video_onTop_ckb; 00134 IBOutlet id o_video_output_pop; 00135 IBOutlet id o_video_output_txt; 00136 IBOutlet id o_video_skipFrames_ckb; 00137 IBOutlet id o_video_snap_box; 00138 IBOutlet id o_video_snap_folder_btn; 00139 IBOutlet id o_video_snap_folder_fld; 00140 IBOutlet id o_video_snap_folder_txt; 00141 IBOutlet id o_video_snap_format_pop; 00142 IBOutlet id o_video_snap_format_txt; 00143 IBOutlet id o_video_snap_prefix_fld; 00144 IBOutlet id o_video_snap_prefix_txt; 00145 IBOutlet id o_video_snap_seqnum_ckb; 00146 IBOutlet id o_video_view; 00147 00148 BOOL b_audioSettingChanged; 00149 BOOL b_intfSettingChanged; 00150 BOOL b_videoSettingChanged; 00151 BOOL b_osdSettingChanged; 00152 BOOL b_inputSettingChanged; 00153 BOOL b_hotkeyChanged; 00154 id o_currentlyShownCategoryView; 00155 00156 NSOpenPanel *o_selectFolderPanel; 00157 NSArray *o_hotkeyDescriptions; 00158 NSArray *o_hotkeysNonUseableKeys; 00159 NSMutableArray *o_hotkeySettings; 00160 NSNumber *o_keyInTransition; 00161 00162 intf_thread_t *p_intf; 00163 } 00164 + (VLCSimplePrefs *)sharedInstance; 00165 - (NSString *)OSXKeyToString:(int)val; 00166 00167 /* toolbar */ 00168 - (NSToolbarItem *) toolbar: (NSToolbar *)o_toolbar 00169 itemForItemIdentifier: (NSString *)o_itemIdent 00170 willBeInsertedIntoToolbar: (BOOL)b_willBeInserted; 00171 - (NSArray *)toolbarDefaultItemIdentifiers: (NSToolbar *)toolbar; 00172 - (NSArray *)toolbarAllowedItemIdentifiers: (NSToolbar *)toolbar; 00173 00174 - (void)initStrings; 00175 - (void)resetControls; 00176 - (void)showSimplePrefs; 00177 00178 - (IBAction)buttonAction:(id)sender; 00179 - (void)sheetDidEnd:(NSWindow *)o_sheet 00180 returnCode:(int)i_return 00181 contextInfo:(void *)o_context; 00182 00183 - (void)saveChangedSettings; 00184 00185 /* interface */ 00186 - (IBAction)interfaceSettingChanged:(id)sender; 00187 - (void)showInterfaceSettings; 00188 00189 /* audio */ 00190 - (IBAction)audioSettingChanged:(id)sender; 00191 - (void)showAudioSettings; 00192 00193 /* video */ 00194 - (IBAction)videoSettingChanged:(id)sender; 00195 - (void)showVideoSettings; 00196 00197 /* OSD / subtitles */ 00198 - (IBAction)osdSettingChanged:(id)sender; 00199 - (IBAction)showFontPicker:(id)sender; 00200 - (void)showOSDSettings; 00201 - (void)changeFont:(id)sender; 00202 00203 /* input & codecs */ 00204 - (IBAction)inputSettingChanged:(id)sender; 00205 - (void)showInputSettings; 00206 00207 /* hotkeys */ 00208 - (IBAction)hotkeySettingChanged:(id)sender; 00209 - (void)showHotkeySettings; 00210 - (int)numberOfRowsInTableView:(NSTableView *)aTableView; 00211 - (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex; 00212 - (BOOL)changeHotkeyTo: (int)i_theNewKey; 00213 00214 @end 00215 00216 @interface VLCHotkeyChangeWindow : NSWindow 00217 00218 @end 00219 00220 @interface VLCSimplePrefsWindow : NSWindow 00221 00222 @end
1.5.6