Commit 343baae5 authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx: implemented the Video category of the SimplePrefs panel. vout module...

macosx: implemented the Video category of the SimplePrefs panel. vout module and display device selectors are left as an exercise for the reader.
parent 429e624c
......@@ -3,429 +3,9 @@
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{CLASS = MPSlider; LANGUAGE = ObjC; SUPERCLASS = NSSlider; },
{CLASS = NSDatePicker; LANGUAGE = ObjC; SUPERCLASS = NSControl; },
{
ACTIONS = {showPanel = id; };
CLASS = VLAboutBox;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{CLASS = VLBrushedMetalImageView; LANGUAGE = ObjC; SUPERCLASS = NSImageView; },
{CLASS = VLCApplication; LANGUAGE = ObjC; SUPERCLASS = NSApplication; },
{CLASS = VLCControllerView; LANGUAGE = ObjC; SUPERCLASS = NSView; },
{CLASS = VLCControllerWindow; LANGUAGE = ObjC; SUPERCLASS = NSWindow; },
{
ACTIONS = {
backward = id;
faster = id;
forward = id;
loop = id;
mute = id;
next = id;
pause = id;
play = id;
position = id;
prev = id;
random = id;
repeat = id;
slower = id;
stop = id;
toggleVar = id;
volumeDown = id;
volumeSliderUpdated = id;
volumeUp = id;
windowAction = id;
};
CLASS = VLCControls;
LANGUAGE = ObjC;
OUTLETS = {
"o_btn_fullscreen" = id;
"o_main" = id;
"o_open" = id;
"o_volumeslider" = id;
};
SUPERCLASS = NSObject;
},
{
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;
},
{
ACTIONS = {
createOutlineGroup = id;
deleteOutlineGroup = id;
infoCancel = id;
infoOk = id;
toggleInfoPanel = id;
togglePlaylistInfoPanel = id;
};
CLASS = VLCInfo;
LANGUAGE = ObjC;
OUTLETS = {
"o_author_lbl" = id;
"o_author_txt" = id;
"o_btn_cancel" = id;
"o_btn_ok" = id;
"o_info_window" = id;
"o_outline_view" = id;
"o_title_lbl" = id;
"o_title_txt" = id;
"o_uri_lbl" = id;
"o_uri_txt" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
clearRecentItems = id;
closeError = id;
openCrashLog = id;
openDocumentation = id;
openLicense = id;
openReadMe = id;
openRecentItem = id;
openWebsite = id;
reportABug = id;
timesliderUpdate = id;
viewAbout = id;
viewPreferences = id;
};
CLASS = VLCMain;
LANGUAGE = ObjC;
OUTLETS = {
"o_btn_ff" = id;
"o_btn_fullscreen" = id;
"o_btn_next" = id;
"o_btn_play" = 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_err_btn_dismiss" = id;
"o_err_btn_msgs" = id;
"o_err_bug_lbl" = id;
"o_err_ckbk_surpress" = id;
"o_err_lbl" = id;
"o_err_msg" = id;
"o_error" = id;
"o_info" = id;
"o_messages" = id;
"o_mi_about" = id;
"o_mi_add_intf" = id;
"o_mi_audiotrack" = id;
"o_mi_bring_atf" = id;
"o_mi_bwd" = id;
"o_mi_channels" = id;
"o_mi_chapter" = id;
"o_mi_clear" = id;
"o_mi_close_window" = id;
"o_mi_controller" = id;
"o_mi_copy" = id;
"o_mi_cut" = id;
"o_mi_deinterlace" = id;
"o_mi_device" = id;
"o_mi_documentation" = id;
"o_mi_double_window" = id;
"o_mi_equalizer" = id;
"o_mi_faster" = id;
"o_mi_ffmpeg_pp" = id;
"o_mi_fittoscreen" = id;
"o_mi_floatontop" = id;
"o_mi_fullscreen" = id;
"o_mi_fwd" = id;
"o_mi_half_window" = 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_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_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_reportabug" = 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_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_audio" = id;
"o_mu_audiotrack" = id;
"o_mu_channels" = id;
"o_mu_chapter" = id;
"o_mu_controls" = 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_playlist" = id;
"o_prefs" = id;
"o_scrollfield" = id;
"o_timefield" = id;
"o_timeslider" = id;
"o_volumeslider" = id;
"o_window" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
openDisc = id;
openDiscMenusChanged = id;
openDiscStepperChanged = id;
openDiscTypeChanged = id;
openFile = id;
openFileBrowse = id;
openFileGeneric = id;
openFileStreamChanged = id;
openNet = id;
openNetModeChanged = id;
openNetStepperChanged = id;
openVTSBrowse = id;
panelCancel = id;
panelOk = id;
subCloseSheet = id;
subDelayStepperChanged = id;
subFileBrowse = id;
subFpsStepperChanged = id;
subOverride = id;
subSettings = id;
subsChanged = id;
};
CLASS = VLCOpen;
LANGUAGE = ObjC;
OUTLETS = {
"o_btn_cancel" = id;
"o_btn_ok" = id;
"o_disc_chapter" = id;
"o_disc_chapter_lbl" = id;
"o_disc_chapter_stp" = id;
"o_disc_device" = id;
"o_disc_device_lbl" = id;
"o_disc_dvd_menus" = id;
"o_disc_title" = id;
"o_disc_title_lbl" = id;
"o_disc_title_stp" = id;
"o_disc_type" = id;
"o_disc_videots_btn_browse" = id;
"o_disc_videots_folder" = id;
"o_file_btn_browse" = id;
"o_file_path" = id;
"o_file_stream" = id;
"o_file_sub_align_lbl" = id;
"o_file_sub_align_pop" = id;
"o_file_sub_btn_browse" = id;
"o_file_sub_btn_settings" = id;
"o_file_sub_ckbox" = id;
"o_file_sub_delay" = id;
"o_file_sub_delay_lbl" = id;
"o_file_sub_delay_stp" = id;
"o_file_sub_encoding_lbl" = id;
"o_file_sub_encoding_pop" = id;
"o_file_sub_file_box" = id;
"o_file_sub_font_box" = id;
"o_file_sub_fps" = id;
"o_file_sub_fps_lbl" = id;
"o_file_sub_fps_stp" = id;
"o_file_sub_ok_btn" = id;
"o_file_sub_override" = id;
"o_file_sub_path" = id;
"o_file_sub_sheet" = id;
"o_file_sub_size_lbl" = id;
"o_file_sub_size_pop" = id;
"o_mrl" = id;
"o_mrl_lbl" = id;
"o_net_http_url" = id;
"o_net_http_url_lbl" = id;
"o_net_mode" = id;
"o_net_udp_port" = id;
"o_net_udp_port_lbl" = id;
"o_net_udp_port_stp" = id;
"o_net_udpm_addr" = id;
"o_net_udpm_addr_lbl" = id;
"o_net_udpm_port" = id;
"o_net_udpm_port_lbl" = id;
"o_net_udpm_port_stp" = id;
"o_output_ckbox" = id;
"o_panel" = id;
"o_playlist" = id;
"o_sout_options" = id;
"o_tabview" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
announceChanged = id;
outputChanged = id;
outputCloseSheet = id;
outputFileBrowse = id;
outputInfoChanged = id;
outputMethodChanged = id;
outputSettings = id;
streamPortStepperChanged = id;
streamTTLStepperChanged = id;
transcodeChanged = id;
transcodeInfoChanged = id;
};
CLASS = VLCOutput;
LANGUAGE = ObjC;
OUTLETS = {
"o_btn_browse" = id;
"o_btn_ok" = id;
"o_channel_name" = id;
"o_channel_name_lbl" = id;
"o_display" = id;
"o_dump_chkbox" = id;
"o_file_chkbox" = id;
"o_file_field" = id;
"o_http_chkbox" = id;
"o_method" = id;
"o_misc_lbl" = id;
"o_mux_lbl" = id;
"o_mux_selector" = id;
"o_open_panel" = id;
"o_options_lbl" = id;
"o_output_ckbox" = id;
"o_output_settings" = id;
"o_output_sheet" = id;
"o_rtsp_chkbox" = id;
"o_sap_chkbox" = id;
"o_sdp_url" = id;
"o_sdp_url_lbl" = id;
"o_slp_chkbox" = id;
"o_stream_address" = id;
"o_stream_address_lbl" = id;
"o_stream_port" = id;
"o_stream_port_lbl" = id;
"o_stream_port_stp" = id;
"o_stream_ttl" = id;
"o_stream_ttl_lbl" = id;
"o_stream_ttl_stp" = id;
"o_stream_type" = id;
"o_stream_type_lbl" = id;
"o_transcode_audio_bitrate" = id;
"o_transcode_audio_bitrate_lbl" = id;
"o_transcode_audio_channels" = id;
"o_transcode_audio_channels_lbl" = id;
"o_transcode_audio_chkbox" = id;
"o_transcode_audio_selector" = id;
"o_transcode_lbl" = id;
"o_transcode_video_bitrate" = id;
"o_transcode_video_bitrate_lbl" = id;
"o_transcode_video_chkbox" = id;
"o_transcode_video_scale" = id;
"o_transcode_video_scale_lbl" = id;
"o_transcode_video_selector" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
deleteItem = id;
handlePopUp = id;
playItem = id;
searchItem = id;
selectAll = id;
sortNodeByAuthor = id;
sortNodeByName = id;
toggleWindow = id;
};
CLASS = VLCPlaylist;
LANGUAGE = ObjC;
OUTLETS = {
"o_btn_playlist" = id;
"o_controller" = id;
"o_ctx_menu" = id;
"o_loop_popup" = id;
"o_mi_delete" = id;
"o_mi_info" = id;
"o_mi_play" = id;
"o_mi_save_playlist" = id;
"o_mi_selectall" = id;
"o_mi_sort_author" = id;
"o_mi_sort_name" = id;
"o_outline_view" = id;
"o_random_ckb" = id;
"o_search_field" = id;
"o_status_field" = id;
"o_tc_author" = id;
"o_tc_duration" = id;
"o_tc_name" = id;
};
SUPERCLASS = NSObject;
},
{CLASS = VLCPlaylistView; LANGUAGE = ObjC; SUPERCLASS = NSOutlineView; },
{
ACTIONS = {advancedToggle = id; closePrefs = id; resetAll = id; savePrefs = id; };
......@@ -444,7 +24,12 @@
SUPERCLASS = NSObject;
},
{
ACTIONS = {audioSettingChanged = id; buttonAction = id; interfaceSettingChanged = id; };
ACTIONS = {
audioSettingChanged = id;
buttonAction = id;
interfaceSettingChanged = id;
videoSettingChanged = id;
};
CLASS = VLCSimplePrefs;
LANGUAGE = ObjC;
OUTLETS = {
......@@ -473,6 +58,7 @@
"o_audio_vol_txt" = id;
"o_intf_art_pop" = id;
"o_intf_art_txt" = id;
"o_intf_embedded_ckb" = id;
"o_intf_fspanel_ckb" = id;
"o_intf_lang_pop" = id;
"o_intf_lang_txt" = id;
......@@ -486,6 +72,26 @@
"o_sprefs_reset_btn" = id;
"o_sprefs_save_btn" = id;
"o_sprefs_win" = id;
"o_video_black_ckb" = id;
"o_video_device_pop" = id;
"o_video_device_txt" = id;
"o_video_display_box" = id;
"o_video_enable_ckb" = id;
"o_video_fullscreen_ckb" = id;
"o_video_onTop_ckb" = id;
"o_video_output_pop" = id;
"o_video_output_txt" = id;
"o_video_skipFrames_ckb" = id;
"o_video_snap_box" = id;
"o_video_snap_folder_btn" = id;
"o_video_snap_folder_fld" = id;
"o_video_snap_folder_txt" = id;
"o_video_snap_format_pop" = id;
"o_video_snap_format_txt" = id;
"o_video_snap_prefix_fld" = id;
"o_video_snap_prefix_txt" = id;
"o_video_snap_seqnum_ckb" = id;
"o_video_view" = id;
};
SUPERCLASS = NSObject;
}
......
......@@ -3,15 +3,15 @@
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>-145 -8 505 518 0 0 1280 778 </string>
<string>113 117 505 518 0 0 1280 778 </string>
<key>IBEditorPositions</key>
<dict>
<key>2311</key>
<string>345 417 590 241 0 0 1280 778 </string>
<string>345 406 590 264 0 0 1280 778 </string>
<key>2330</key>
<string>345 266 590 502 0 0 1280 778 </string>
<string>450 263 590 502 0 0 1280 778 </string>
<key>2440</key>
<string>179 151 586 376 0 0 1280 778 </string>
<string>345 343 590 389 0 0 1280 778 </string>
</dict>
<key>IBFramework Version</key>
<string>446.1</string>
......@@ -34,9 +34,10 @@
</array>
<key>IBOpenObjects</key>
<array>
<integer>2330</integer>
<integer>2265</integer>
<integer>2311</integer>
<integer>2440</integer>
<integer>2265</integer>
<integer>2330</integer>
</array>
<key>IBSystem Version</key>
<string>8S2167</string>
......
......@@ -393,6 +393,7 @@ static VLCTreeItem *o_root_item = nil;
p_item = module_GetConfig( p_module, &confsize );
if( !p_item ) continue;
if( !p_item->i_type ) break;
int i_category = -1;
int i_subcategory = -1;
int i_options = 0;
......
......@@ -50,14 +50,17 @@
IBOutlet id o_audio_vol_fld;
IBOutlet id o_audio_vol_sld;
IBOutlet id o_audio_vol_txt;
IBOutlet id o_intf_art_pop;
IBOutlet id o_intf_art_txt;
IBOutlet id o_intf_embedded_ckb;
IBOutlet id o_intf_fspanel_ckb;
IBOutlet id o_intf_lang_pop;
IBOutlet id o_intf_lang_txt;
IBOutlet id o_intf_meta_ckb;
IBOutlet id o_intf_network_box;
IBOutlet id o_intf_view;
IBOutlet id o_sprefs_basic_box;
IBOutlet id o_sprefs_basicFull_matrix;
IBOutlet id o_sprefs_cancel_btn;
......@@ -66,16 +69,40 @@
IBOutlet id o_sprefs_save_btn;
IBOutlet id o_sprefs_win;
IBOutlet id o_video_black_ckb;
IBOutlet id o_video_device_pop;
IBOutlet id o_video_device_txt;
IBOutlet id o_video_display_box;
IBOutlet id o_video_enable_ckb;
IBOutlet id o_video_fullscreen_ckb;
IBOutlet id o_video_onTop_ckb;
IBOutlet id o_video_output_pop;
IBOutlet id o_video_output_txt;
IBOutlet id o_video_skipFrames_ckb;
IBOutlet id o_video_snap_box;
IBOutlet id o_video_snap_folder_btn;
IBOutlet id o_video_snap_folder_fld;
IBOutlet id o_video_snap_folder_txt;
IBOutlet id o_video_snap_format_pop;
IBOutlet id o_video_snap_format_txt;
IBOutlet id o_video_snap_prefix_fld;
IBOutlet id o_video_snap_prefix_txt;
IBOutlet id o_video_snap_seqnum_ckb;
IBOutlet id o_video_view;
BOOL b_audioSettingChanged;
BOOL b_intfSettingChanged;
BOOL b_videoSettingChanged;
id o_currentlyShownCategoryView;
NSToolbar *o_sprefs_toolbar;
NSOpenPanel *o_selectFolderPanel;
intf_thread_t *p_intf;
}
+ (VLCSimplePrefs *)sharedInstance;
/* toolbar */
- (NSToolbarItem *) toolbar: (NSToolbar *)o_toolbar
itemForItemIdentifier: (NSString *)o_itemIdent
willBeInsertedIntoToolbar: (BOOL)b_willBeInserted;
......@@ -102,6 +129,8 @@
- (void)showAudioSettings;
/* video */
- (IBAction)videoSettingChanged:(id)sender;
- (void)showVideoSettings;
/* subtitles */
......
......@@ -27,6 +27,7 @@
static NSString* VLCSPrefsToolbarIdentifier = @"Our Simple Preferences Toolbar Identifier";
static NSString* VLCIntfSettingToolbarIdentifier = @"Intf Settings Item Identifier";
static NSString* VLCAudioSettingToolbarIdentifier = @"Audio Settings Item Identifier";
static NSString* VLCVideoSettingToolbarIdentifier = @"Video Settings Item Identifier";
@implementation VLCSimplePrefs
......@@ -111,35 +112,50 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
[o_toolbarItem setEnabled: YES];
[o_toolbarItem setAutovalidates: YES];
}
else if( [o_itemIdent isEqual: VLCVideoSettingToolbarIdentifier] )
{
o_toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: o_itemIdent] autorelease];
[o_toolbarItem setLabel: _NS("Video")];
[o_toolbarItem setPaletteLabel: _NS("General Video settings")];
[o_toolbarItem setToolTip: _NS("General Video settings")];
[o_toolbarItem setImage: [NSImage imageNamed: @"spref_cone_Video_64"]];
[o_toolbarItem setTarget: self];
[o_toolbarItem setAction: @selector(showVideoSettings)];
[o_toolbarItem setEnabled: YES];
[o_toolbarItem setAutovalidates: YES];
}
return o_toolbarItem;
}
- (NSArray *)toolbarDefaultItemIdentifiers: (NSToolbar *)toolbar
{
return [NSArray arrayWithObjects: VLCIntfSettingToolbarIdentifier, VLCAudioSettingToolbarIdentifier, NSToolbarFlexibleSpaceItemIdentifier, nil];
return [NSArray arrayWithObjects: VLCIntfSettingToolbarIdentifier, VLCAudioSettingToolbarIdentifier, VLCVideoSettingToolbarIdentifier, NSToolbarFlexibleSpaceItemIdentifier, nil];
}
- (NSArray *)toolbarAllowedItemIdentifiers: (NSToolbar *)toolbar
{
return [NSArray arrayWithObjects: VLCIntfSettingToolbarIdentifier, VLCAudioSettingToolbarIdentifier, NSToolbarFlexibleSpaceItemIdentifier, nil];
return [NSArray arrayWithObjects: VLCIntfSettingToolbarIdentifier, VLCAudioSettingToolbarIdentifier, VLCVideoSettingToolbarIdentifier, NSToolbarFlexibleSpaceItemIdentifier, nil];
}
- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar
{
return [NSArray arrayWithObjects: VLCIntfSettingToolbarIdentifier, VLCAudioSettingToolbarIdentifier, nil];
return [NSArray arrayWithObjects: VLCIntfSettingToolbarIdentifier, VLCAudioSettingToolbarIdentifier, VLCVideoSettingToolbarIdentifier, nil];
}
- (void)initStrings
{
[o_sprefs_reset_btn setEnabled: NO];
msg_Warn( p_intf, "localisation of the simple preferences not implemented!" );
}
- (void)resetControls
{
module_config_t *p_item;
int i, y;
int i, y = 0;
char *psz_tmp;
/**********************
......@@ -164,6 +180,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
[o_intf_meta_ckb setState: config_GetInt( p_intf, "fetch-meta" )];
[o_intf_fspanel_ckb setState: config_GetInt( p_intf, "macosx-fspanel" )];
[o_intf_embedded_ckb setState: config_GetInt( p_intf, "embeded-video" )];
/******************
......@@ -209,7 +226,28 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
/******************
* video settings *
******************/
[o_video_enable_ckb setState: config_GetInt( p_intf, "video" )];
[o_video_fullscreen_ckb setState: config_GetInt( p_intf, "fullscreen" )];
[o_video_onTop_ckb setState: config_GetInt( p_intf, "video-on-top" )];
[o_video_skipFrames_ckb setState: config_GetInt( p_intf, "skip-frames" )];
[o_video_black_ckb setState: config_GetInt( p_intf, "macosx-black" )];
msg_Warn( p_intf, "vout module and display device selectors not implemented!" );
if( config_GetPsz( p_intf, "snapshot-path" ) != NULL )
[o_video_snap_folder_fld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "snapshot-path" )]];
[o_video_snap_prefix_fld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "snapshot-prefix" )]];
[o_video_snap_seqnum_ckb setState: config_GetInt( p_intf, "snapshot-sequential" )];
[o_video_snap_format_pop removeAllItems];
p_item = config_FindConfig( VLC_OBJECT(p_intf), "snapshot-format" );
for( i = 0; p_item->ppsz_list[i] != nil; i++ )
{
[o_video_snap_format_pop addItemWithTitle: [NSString stringWithUTF8String: p_item->ppsz_list[i]]];
if( p_item->value.psz && !strcmp( p_item->value.psz, p_item->ppsz_list[i] ) )
y = i;
}
[o_video_snap_format_pop selectItemAtIndex: y];
/*******************
* codecs settings *
*******************/
......@@ -296,13 +334,17 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
config_PutInt( p_intf, "fetch-meta", [o_intf_meta_ckb state] );
config_PutInt( p_intf, "macosx-fspanel", [o_intf_fspanel_ckb state] );
config_PutInt( p_intf, "video-embeded", [o_intf_embedded_ckb state] );
/* okay, let's save our changes to vlcrc */
i = config_SaveConfigFile( p_intf, "main" );
i = config_SaveConfigFile( p_intf, "macosx" );
if( i != 0 )
msg_Err( p_intf, "An error occured while saving the Audio settings using SimplePrefs" );
{
msg_Err( p_intf, "An error occured while saving the Interface settings using SimplePrefs" );
i = 0;
}
b_intfSettingChanged = NO;
}
......@@ -345,13 +387,17 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
msg_Warn( p_intf, "visualizer not implemented!" );
if( [o_audio_last_ckb state] == NSOnState )
config_AddIntf( VLC_OBJECT( p_intf ), "audioscrobbler" );
else
config_RemoveIntf( VLC_OBJECT( p_intf ), "audioscrobbler" );
/* Last.FM is optional */
if( module_Exists( p_intf, "audioscrobbler" ) )
{
if( [o_audio_last_ckb state] == NSOnState )
config_AddIntf( VLC_OBJECT( p_intf ), "audioscrobbler" );
else
config_RemoveIntf( VLC_OBJECT( p_intf ), "audioscrobbler" );
config_PutPsz( p_intf, "lastfm-username", [[o_audio_lastuser_fld stringValue] UTF8String] );
config_PutPsz( p_intf, "lastfm-password", [[o_audio_lastuser_fld stringValue] UTF8String] );
config_PutPsz( p_intf, "lastfm-username", [[o_audio_lastuser_fld stringValue] UTF8String] );
config_PutPsz( p_intf, "lastfm-password", [[o_audio_lastuser_fld stringValue] UTF8String] );
}
/* okay, let's save our changes to vlcrc */
i = config_SaveConfigFile( p_intf, "main" );
......@@ -359,14 +405,47 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
i = i + config_SaveConfigFile( p_intf, "volnorm" );
if( i != 0 )
{
msg_Err( p_intf, "An error occured while saving the Audio settings using SimplePrefs" );
i = 0;
}
b_audioSettingChanged = NO;
}
/******************
* video settings *
******************/
if( b_videoSettingChanged )
{
config_PutInt( p_intf, "video", [o_video_enable_ckb state] );
config_PutInt( p_intf, "fullscreen", [o_video_fullscreen_ckb state] );
config_PutInt( p_intf, "video-on-top", [o_video_onTop_ckb state] );
config_PutInt( p_intf, "skip-frames", [o_video_skipFrames_ckb state] );
config_PutInt( p_intf, "macosx-black", [o_video_black_ckb state] );
msg_Warn( p_intf, "vout module and display device selectors not implemented!" );
config_PutPsz( p_intf, "snapshot-path", [[o_video_snap_folder_fld stringValue] UTF8String] );
config_PutPsz( p_intf, "snapshot-prefix", [[o_video_snap_prefix_fld stringValue] UTF8String] );
config_PutInt( p_intf, "snapshot-sequential", [o_video_snap_seqnum_ckb state] );
if( [o_video_snap_format_pop indexOfSelectedItem] >= 0 )
config_PutPsz( p_intf, "snapshot-format", [[[o_video_snap_format_pop selectedItem] title] UTF8String] );
i = config_SaveConfigFile( p_intf, "main" );
i = i + config_SaveConfigFile( p_intf, "macosx" );
if( i != 0 )
{
msg_Err( p_intf, "An error occured while saving the Video settings using SimplePrefs" );
i = 0;
}
b_videoSettingChanged = NO;
}
}
- (void)showSettingsForCategory: (id)o_new_category_view
{
msg_Dbg( p_intf, "switching to another category" );
NSRect o_win_rect, o_view_rect, o_old_view_rect;
o_win_rect = [o_sprefs_win frame];
o_view_rect = [o_new_category_view frame];
......@@ -427,4 +506,42 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
msg_Dbg( p_intf, "showing audio settings" );
[self showSettingsForCategory: o_audio_view];
}
- (IBAction)videoSettingChanged:(id)sender
{
if( sender == o_video_snap_folder_btn )
{
o_selectFolderPanel = [[NSOpenPanel alloc] init];
[o_selectFolderPanel setCanChooseDirectories: YES];
[o_selectFolderPanel setCanChooseFiles: NO];
[o_selectFolderPanel setResolvesAliases: YES];
[o_selectFolderPanel setAllowsMultipleSelection: NO];
[o_selectFolderPanel setMessage: _NS("Choose the Folder to save your video snapshots to.")];
[o_selectFolderPanel setCanCreateDirectories: YES];
[o_selectFolderPanel setPrompt: _NS("Choose")];
[o_selectFolderPanel beginSheetForDirectory: nil file: nil modalForWindow: o_sprefs_win
modalDelegate: self
didEndSelector: @selector(savePanelDidEnd:returnCode:contextInfo:)
contextInfo: nil];
}
else
b_videoSettingChanged = YES;
}
- (void)savePanelDidEnd:(NSOpenPanel * )panel returnCode: (int)returnCode contextInfo: (void *)contextInfo
{
if( returnCode == NSOKButton )
{
[o_video_snap_folder_fld setStringValue: [o_selectFolderPanel filename]];
b_videoSettingChanged = YES;
}
[o_selectFolderPanel release];
}
- (void)showVideoSettings
{
msg_Dbg( p_intf, "showing video settings" );
[self showSettingsForCategory: o_video_view];
}
@end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment