Commit 84c65822 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx: Fix font chooser.

Switch back to quartztext, and use the NSFontPanel.
parent 722cd536
{
IBClasses = (
{
CLASS = FirstResponder;
LANGUAGE = ObjC;
SUPERCLASS = NSObject;
},
{
CLASS = NSApplication;
LANGUAGE = ObjC;
SUPERCLASS = NSResponder;
},
{
CLASS = NSObject;
LANGUAGE = ObjC;
},
{
CLASS = VLCHotkeyChangeWindow;
LANGUAGE = ObjC;
SUPERCLASS = NSWindow;
},
{
ACTIONS = {
buttonAction = id;
closePrefs = id;
resetAll = id;
savePrefs = id;
};
CLASS = VLCPrefs;
LANGUAGE = ObjC;
OUTLETS = {
"o_basicFull_matrix" = id;
"o_cancel_btn" = id;
"o_prefs_view" = id;
"o_prefs_window" = id;
"o_reset_btn" = id;
"o_save_btn" = id;
"o_title" = id;
"o_tree" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
audioSettingChanged = id;
buttonAction = id;
hotkeySettingChanged = id;
inputSettingChanged = id;
interfaceSettingChanged = id;
osdSettingChanged = id;
videoSettingChanged = id;
};
CLASS = VLCSimplePrefs;
LANGUAGE = ObjC;
OUTLETS = {
"o_audio_dolby_pop" = id;
"o_audio_dolby_txt" = id;
"o_audio_effects_box" = id;
"o_audio_enable_ckb" = id;
"o_audio_general_box" = id;
"o_audio_headphone_ckb" = id;
"o_audio_lang_fld" = id;
"o_audio_lang_txt" = id;
"o_audio_last_box" = id;
"o_audio_last_ckb" = id;
"o_audio_lastpwd_sfld" = id;
"o_audio_lastpwd_txt" = id;
"o_audio_lastuser_fld" = id;
"o_audio_lastuser_txt" = id;
"o_audio_norm_ckb" = id;
"o_audio_norm_fld" = id;
"o_audio_spdif_ckb" = id;
"o_audio_view" = id;
"o_audio_visual_pop" = id;
"o_audio_visual_txt" = id;
"o_audio_vol_fld" = id;
"o_audio_vol_sld" = id;
"o_audio_vol_txt" = id;
"o_hotkeys_change_btn" = id;
"o_hotkeys_change_cancel_btn" = id;
"o_hotkeys_change_keys_lbl" = id;
"o_hotkeys_change_lbl" = id;
"o_hotkeys_change_ok_btn" = id;
"o_hotkeys_change_taken_lbl" = id;
"o_hotkeys_change_win" = id;
"o_hotkeys_clear_btn" = id;
"o_hotkeys_lbl" = id;
"o_hotkeys_listbox" = id;
"o_hotkeys_view" = id;
"o_input_access_box" = id;
"o_input_avi_pop" = id;
"o_input_avi_txt" = id;
"o_input_bandwidth_ckb" = id;
"o_input_cachelevel_custom_txt" = id;
"o_input_cachelevel_pop" = id;
"o_input_cachelevel_txt" = id;
"o_input_caching_box" = id;
"o_input_dump_ckb" = id;
"o_input_httpproxy_fld" = id;
"o_input_httpproxy_txt" = id;
"o_input_httpproxypwd_sfld" = id;
"o_input_httpproxypwd_txt" = id;
"o_input_mux_box" = id;
"o_input_net_box" = id;
"o_input_postproc_fld" = id;
"o_input_postproc_txt" = id;
"o_input_record_ckb" = id;
"o_input_rtsp_ckb" = id;
"o_input_serverport_fld" = id;
"o_input_serverport_txt" = id;
"o_input_timeshift_ckb" = id;
"o_input_view" = 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;
"o_intf_network_box" = id;
"o_intf_view" = id;
"o_osd_encoding_pop" = id;
"o_osd_encoding_txt" = id;
"o_osd_font_box" = id;
"o_osd_font_btn" = id;
"o_osd_font_color_pop" = id;
"o_osd_font_color_txt" = id;
"o_osd_font_fld" = id;
"o_osd_font_size_pop" = id;
"o_osd_font_size_txt" = id;
"o_osd_font_txt" = id;
"o_osd_lang_box" = id;
"o_osd_lang_fld" = id;
"o_osd_lang_txt" = id;
"o_osd_osd_box" = id;
"o_osd_osd_ckb" = id;
"o_osd_view" = id;
"o_sprefs_basicFull_matrix" = id;
"o_sprefs_basic_box" = id;
"o_sprefs_cancel_btn" = id;
"o_sprefs_controls_box" = id;
"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;
}
);
IBVersion = 1;
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBClasses</key>
<array>
<dict>
<key>CLASS</key>
<string>NSApplication</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSResponder</string>
</dict>
<dict>
<key>CLASS</key>
<string>VLCHotkeyChangeWindow</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSWindow</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>audioSettingChanged</key>
<string>id</string>
<key>buttonAction</key>
<string>id</string>
<key>hotkeySettingChanged</key>
<string>id</string>
<key>inputSettingChanged</key>
<string>id</string>
<key>interfaceSettingChanged</key>
<string>id</string>
<key>osdSettingChanged</key>
<string>id</string>
<key>showFontPicker</key>
<string>id</string>
<key>videoSettingChanged</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>VLCSimplePrefs</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>o_audio_dolby_pop</key>
<string>id</string>
<key>o_audio_dolby_txt</key>
<string>id</string>
<key>o_audio_effects_box</key>
<string>id</string>
<key>o_audio_enable_ckb</key>
<string>id</string>
<key>o_audio_general_box</key>
<string>id</string>
<key>o_audio_headphone_ckb</key>
<string>id</string>
<key>o_audio_lang_fld</key>
<string>id</string>
<key>o_audio_lang_txt</key>
<string>id</string>
<key>o_audio_last_box</key>
<string>id</string>
<key>o_audio_last_ckb</key>
<string>id</string>
<key>o_audio_lastpwd_sfld</key>
<string>id</string>
<key>o_audio_lastpwd_txt</key>
<string>id</string>
<key>o_audio_lastuser_fld</key>
<string>id</string>
<key>o_audio_lastuser_txt</key>
<string>id</string>
<key>o_audio_norm_ckb</key>
<string>id</string>
<key>o_audio_norm_fld</key>
<string>id</string>
<key>o_audio_spdif_ckb</key>
<string>id</string>
<key>o_audio_view</key>
<string>id</string>
<key>o_audio_visual_pop</key>
<string>id</string>
<key>o_audio_visual_txt</key>
<string>id</string>
<key>o_audio_vol_fld</key>
<string>id</string>
<key>o_audio_vol_sld</key>
<string>id</string>
<key>o_audio_vol_txt</key>
<string>id</string>
<key>o_currentlyShownCategoryView</key>
<string>id</string>
<key>o_hotkeys_change_btn</key>
<string>id</string>
<key>o_hotkeys_change_cancel_btn</key>
<string>id</string>
<key>o_hotkeys_change_keys_lbl</key>
<string>id</string>
<key>o_hotkeys_change_lbl</key>
<string>id</string>
<key>o_hotkeys_change_ok_btn</key>
<string>id</string>
<key>o_hotkeys_change_taken_lbl</key>
<string>id</string>
<key>o_hotkeys_change_win</key>
<string>id</string>
<key>o_hotkeys_clear_btn</key>
<string>id</string>
<key>o_hotkeys_lbl</key>
<string>id</string>
<key>o_hotkeys_listbox</key>
<string>id</string>
<key>o_hotkeys_view</key>
<string>id</string>
<key>o_input_access_box</key>
<string>id</string>
<key>o_input_avi_pop</key>
<string>id</string>
<key>o_input_avi_txt</key>
<string>id</string>
<key>o_input_bandwidth_ckb</key>
<string>id</string>
<key>o_input_cachelevel_custom_txt</key>
<string>id</string>
<key>o_input_cachelevel_pop</key>
<string>id</string>
<key>o_input_cachelevel_txt</key>
<string>id</string>
<key>o_input_caching_box</key>
<string>id</string>
<key>o_input_dump_ckb</key>
<string>id</string>
<key>o_input_httpproxy_fld</key>
<string>id</string>
<key>o_input_httpproxy_txt</key>
<string>id</string>
<key>o_input_httpproxypwd_sfld</key>
<string>id</string>
<key>o_input_httpproxypwd_txt</key>
<string>id</string>
<key>o_input_mux_box</key>
<string>id</string>
<key>o_input_net_box</key>
<string>id</string>
<key>o_input_postproc_fld</key>
<string>id</string>
<key>o_input_postproc_txt</key>
<string>id</string>
<key>o_input_record_ckb</key>
<string>id</string>
<key>o_input_rtsp_ckb</key>
<string>id</string>
<key>o_input_serverport_fld</key>
<string>id</string>
<key>o_input_serverport_txt</key>
<string>id</string>
<key>o_input_timeshift_ckb</key>
<string>id</string>
<key>o_input_view</key>
<string>id</string>
<key>o_intf_art_pop</key>
<string>id</string>
<key>o_intf_art_txt</key>
<string>id</string>
<key>o_intf_embedded_ckb</key>
<string>id</string>
<key>o_intf_fspanel_ckb</key>
<string>id</string>
<key>o_intf_lang_pop</key>
<string>id</string>
<key>o_intf_lang_txt</key>
<string>id</string>
<key>o_intf_network_box</key>
<string>id</string>
<key>o_intf_view</key>
<string>id</string>
<key>o_osd_encoding_pop</key>
<string>id</string>
<key>o_osd_encoding_txt</key>
<string>id</string>
<key>o_osd_font_box</key>
<string>id</string>
<key>o_osd_font_btn</key>
<string>id</string>
<key>o_osd_font_color_pop</key>
<string>id</string>
<key>o_osd_font_color_txt</key>
<string>id</string>
<key>o_osd_font_fld</key>
<string>id</string>
<key>o_osd_font_size_pop</key>
<string>id</string>
<key>o_osd_font_size_txt</key>
<string>id</string>
<key>o_osd_font_txt</key>
<string>id</string>
<key>o_osd_lang_box</key>
<string>id</string>
<key>o_osd_lang_fld</key>
<string>id</string>
<key>o_osd_lang_txt</key>
<string>id</string>
<key>o_osd_osd_box</key>
<string>id</string>
<key>o_osd_osd_ckb</key>
<string>id</string>
<key>o_osd_view</key>
<string>id</string>
<key>o_sprefs_basicFull_matrix</key>
<string>id</string>
<key>o_sprefs_basic_box</key>
<string>id</string>
<key>o_sprefs_cancel_btn</key>
<string>id</string>
<key>o_sprefs_controls_box</key>
<string>id</string>
<key>o_sprefs_reset_btn</key>
<string>id</string>
<key>o_sprefs_save_btn</key>
<string>id</string>
<key>o_sprefs_win</key>
<string>id</string>
<key>o_video_black_ckb</key>
<string>id</string>
<key>o_video_device_pop</key>
<string>id</string>
<key>o_video_device_txt</key>
<string>id</string>
<key>o_video_display_box</key>
<string>id</string>
<key>o_video_enable_ckb</key>
<string>id</string>
<key>o_video_fullscreen_ckb</key>
<string>id</string>
<key>o_video_onTop_ckb</key>
<string>id</string>
<key>o_video_output_pop</key>
<string>id</string>
<key>o_video_output_txt</key>
<string>id</string>
<key>o_video_skipFrames_ckb</key>
<string>id</string>
<key>o_video_snap_box</key>
<string>id</string>
<key>o_video_snap_folder_btn</key>
<string>id</string>
<key>o_video_snap_folder_fld</key>
<string>id</string>
<key>o_video_snap_folder_txt</key>
<string>id</string>
<key>o_video_snap_format_pop</key>
<string>id</string>
<key>o_video_snap_format_txt</key>
<string>id</string>
<key>o_video_snap_prefix_fld</key>
<string>id</string>
<key>o_video_snap_prefix_txt</key>
<string>id</string>
<key>o_video_snap_seqnum_ckb</key>
<string>id</string>
<key>o_video_view</key>
<string>id</string>
</dict>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSObject</string>
<key>LANGUAGE</key>
<string>ObjC</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>buttonAction</key>
<string>id</string>
<key>closePrefs</key>
<string>id</string>
<key>resetAll</key>
<string>id</string>
<key>savePrefs</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>VLCPrefs</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>o_basicFull_matrix</key>
<string>id</string>
<key>o_cancel_btn</key>
<string>id</string>
<key>o_prefs_view</key>
<string>id</string>
<key>o_prefs_window</key>
<string>id</string>
<key>o_reset_btn</key>
<string>id</string>
<key>o_save_btn</key>
<string>id</string>
<key>o_title</key>
<string>id</string>
<key>o_tree</key>
<string>id</string>
</dict>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
......@@ -2,39 +2,22 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>48 424 356 240 0 0 1280 778 </string>
<key>IBEditorPositions</key>
<dict>
<key>2311</key>
<string>345 425 590 230 0 0 1280 778 </string>
<key>2330</key>
<string>345 221 590 502 0 0 1280 778 </string>
<key>2440</key>
<string>345 307 590 389 0 0 1280 778 </string>
<key>2523</key>
<string>345 348 590 343 0 0 1280 778 </string>
<key>2562</key>
<string>345 219 590 505 0 0 1280 778 </string>
<key>2668</key>
<string>345 255 590 457 0 0 1280 778 </string>
</dict>
<key>IBFramework Version</key>
<string>489.0</string>
<string>644</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../../vlc.xcodeproj</string>
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array>
<integer>1530</integer>
<integer>2677</integer>
<integer>2330</integer>
<integer>2668</integer>
<integer>2523</integer>
<integer>1530</integer>
<integer>2311</integer>
<integer>2562</integer>
<integer>2537</integer>
<integer>2265</integer>
<integer>2311</integer>
<integer>2668</integer>
</array>
<key>IBSystem Version</key>
<string>9E17</string>
......
......@@ -193,6 +193,7 @@
/* OSD / subtitles */
- (IBAction)osdSettingChanged:(id)sender;
- (IBAction)showFontPicker:(id)sender;
- (void)showOSDSettings;
/* input & codecs */
......
......@@ -269,7 +269,7 @@ create_toolbar_item( NSString * o_itemIdent, NSString * o_name, NSString * o_des
/* Subtitles and OSD */
[o_osd_encoding_txt setStringValue: _NS("Default Encoding")];
[o_osd_font_box setTitle: _NS("Display Settings")];
[o_osd_font_btn setTitle: _NS("Browse...")];
[o_osd_font_btn setTitle: _NS("Choose...")];
[o_osd_font_color_txt setStringValue: _NS("Font Color")];
[o_osd_font_size_txt setStringValue: _NS("Font Size")];
[o_osd_font_txt setStringValue: _NS("Font")];
......@@ -569,11 +569,11 @@ create_toolbar_item( NSString * o_itemIdent, NSString * o_name, NSString * o_des
[self setupButton: o_osd_encoding_pop forStringList: "subsdec-encoding"];
[o_osd_lang_fld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "sub-language" ) ?: ""]];
if( config_GetPsz( p_intf, "freetype-font" ) != NULL )
[o_osd_font_fld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "freetype-font" ) ?: ""]];
if( config_GetPsz( p_intf, "quartztext-font" ) != NULL )
[o_osd_font_fld setStringValue: [NSString stringWithUTF8String: config_GetPsz( p_intf, "quartztext-font" ) ?: ""]];
[self setupButton: o_osd_font_color_pop forIntList: "freetype-color"];
[self setupButton: o_osd_font_size_pop forIntList: "freetype-rel-fontsize"];
[self setupButton: o_osd_font_color_pop forIntList: "quartztext-color"];
[self setupButton: o_osd_font_size_pop forIntList: "quartztext-rel-fontsize"];
/********************
* hotkeys settings *
......@@ -930,10 +930,10 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch
config_PutPsz( p_intf, "subsdec-encoding", [[[o_osd_encoding_pop selectedItem] title] UTF8String] );
config_PutPsz( p_intf, "sub-language", [[o_osd_lang_fld stringValue] UTF8String] );
config_PutPsz( p_intf, "freetype-font", [[o_osd_font_fld stringValue] UTF8String] );
config_PutPsz( p_intf, "quartztext-font", [[o_osd_font_fld stringValue] UTF8String] );
SaveIntList( o_osd_font_color_pop, "freetype-color" );
SaveIntList( o_osd_font_size_pop, "freetype-rel-fontsize" );
SaveIntList( o_osd_font_color_pop, "quartztext-color" );
SaveIntList( o_osd_font_size_pop, "quartztext-rel-fontsize" );
i = config_SaveConfigFile( p_intf, NULL );
......@@ -1096,23 +1096,6 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch
- (IBAction)osdSettingChanged:(id)sender
{
if( sender == o_osd_font_btn )
{
o_selectFolderPanel = [[NSOpenPanel alloc] init];
[o_selectFolderPanel setCanChooseDirectories: NO];
[o_selectFolderPanel setCanChooseFiles: YES];
[o_selectFolderPanel setResolvesAliases: YES];
[o_selectFolderPanel setAllowsMultipleSelection: NO];
[o_selectFolderPanel setMessage: _NS("Choose the font to display your Subtitles with.")];
[o_selectFolderPanel setCanCreateDirectories: NO];
[o_selectFolderPanel setPrompt: _NS("Choose")];
[o_selectFolderPanel setAllowedFileTypes: [NSArray arrayWithObjects: @"dfont", @"ttf", @"otf", @"FFIL", nil]];
[o_selectFolderPanel beginSheetForDirectory: @"/System/Library/Fonts/" file: nil modalForWindow: o_sprefs_win
modalDelegate: self
didEndSelector: @selector(savePanelDidEnd:returnCode:contextInfo:)
contextInfo: o_osd_font_btn];
}
else
b_osdSettingChanged = YES;
}
......@@ -1121,6 +1104,28 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch
[self showSettingsForCategory: o_osd_view];
}
- (IBAction)showFontPicker:(id)sender
{
char * font = config_GetPsz( p_intf, "quartztext-font" );
NSString * fontFamilyName = font ? [NSString stringWithUTF8String: font] : nil;
free(font);
if( fontFamilyName )
{
NSFontDescriptor * fd = [NSFontDescriptor fontDescriptorWithFontAttributes:nil];
NSFont * font = [NSFont fontWithDescriptor:[fd fontDescriptorWithFamily:fontFamilyName] textTransform:nil];
[[NSFontManager sharedFontManager] setSelectedFont:font isMultiple:NO];
}
[[NSFontManager sharedFontManager] setTarget:self];
[[NSFontPanel sharedFontPanel] orderFront:self];
}
- (void)changeFont:(id)sender
{
NSFont * font = [sender convertFont:[[NSFontManager sharedFontManager] selectedFont]];
[o_osd_font_fld setStringValue:[font familyName]];
[self osdSettingChanged:self];
}
- (IBAction)inputSettingChanged:(id)sender
{
if( sender == o_input_cachelevel_pop )
......
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