Commit dd03469c authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx: Fix font chooser.

Switch back to quartztext, and use the NSFontPanel.
(cherry picked from commit 84c65822)
parent c3f723fb
{ <?xml version="1.0" encoding="UTF-8"?>
IBClasses = ( <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
{ <plist version="1.0">
CLASS = FirstResponder; <dict>
LANGUAGE = ObjC; <key>IBClasses</key>
SUPERCLASS = NSObject; <array>
}, <dict>
{ <key>CLASS</key>
CLASS = NSApplication; <string>NSApplication</string>
LANGUAGE = ObjC; <key>LANGUAGE</key>
SUPERCLASS = NSResponder; <string>ObjC</string>
}, <key>SUPERCLASS</key>
{ <string>NSResponder</string>
CLASS = NSObject; </dict>
LANGUAGE = ObjC; <dict>
}, <key>CLASS</key>
{ <string>VLCHotkeyChangeWindow</string>
CLASS = VLCHotkeyChangeWindow; <key>LANGUAGE</key>
LANGUAGE = ObjC; <string>ObjC</string>
SUPERCLASS = NSWindow; <key>SUPERCLASS</key>
}, <string>NSWindow</string>
{ </dict>
ACTIONS = { <dict>
buttonAction = id; <key>ACTIONS</key>
closePrefs = id; <dict>
resetAll = id; <key>audioSettingChanged</key>
savePrefs = id; <string>id</string>
}; <key>buttonAction</key>
CLASS = VLCPrefs; <string>id</string>
LANGUAGE = ObjC; <key>hotkeySettingChanged</key>
OUTLETS = { <string>id</string>
"o_basicFull_matrix" = id; <key>inputSettingChanged</key>
"o_cancel_btn" = id; <string>id</string>
"o_prefs_view" = id; <key>interfaceSettingChanged</key>
"o_prefs_window" = id; <string>id</string>
"o_reset_btn" = id; <key>osdSettingChanged</key>
"o_save_btn" = id; <string>id</string>
"o_title" = id; <key>showFontPicker</key>
"o_tree" = id; <string>id</string>
}; <key>videoSettingChanged</key>
SUPERCLASS = NSObject; <string>id</string>
}, </dict>
{ <key>CLASS</key>
ACTIONS = { <string>VLCSimplePrefs</string>
audioSettingChanged = id; <key>LANGUAGE</key>
buttonAction = id; <string>ObjC</string>
hotkeySettingChanged = id; <key>OUTLETS</key>
inputSettingChanged = id; <dict>
interfaceSettingChanged = id; <key>o_audio_dolby_pop</key>
osdSettingChanged = id; <string>id</string>
videoSettingChanged = id; <key>o_audio_dolby_txt</key>
}; <string>id</string>
CLASS = VLCSimplePrefs; <key>o_audio_effects_box</key>
LANGUAGE = ObjC; <string>id</string>
OUTLETS = { <key>o_audio_enable_ckb</key>
"o_audio_dolby_pop" = id; <string>id</string>
"o_audio_dolby_txt" = id; <key>o_audio_general_box</key>
"o_audio_effects_box" = id; <string>id</string>
"o_audio_enable_ckb" = id; <key>o_audio_headphone_ckb</key>
"o_audio_general_box" = id; <string>id</string>
"o_audio_headphone_ckb" = id; <key>o_audio_lang_fld</key>
"o_audio_lang_fld" = id; <string>id</string>
"o_audio_lang_txt" = id; <key>o_audio_lang_txt</key>
"o_audio_last_box" = id; <string>id</string>
"o_audio_last_ckb" = id; <key>o_audio_last_box</key>
"o_audio_lastpwd_sfld" = id; <string>id</string>
"o_audio_lastpwd_txt" = id; <key>o_audio_last_ckb</key>
"o_audio_lastuser_fld" = id; <string>id</string>
"o_audio_lastuser_txt" = id; <key>o_audio_lastpwd_sfld</key>
"o_audio_norm_ckb" = id; <string>id</string>
"o_audio_norm_fld" = id; <key>o_audio_lastpwd_txt</key>
"o_audio_spdif_ckb" = id; <string>id</string>
"o_audio_view" = id; <key>o_audio_lastuser_fld</key>
"o_audio_visual_pop" = id; <string>id</string>
"o_audio_visual_txt" = id; <key>o_audio_lastuser_txt</key>
"o_audio_vol_fld" = id; <string>id</string>
"o_audio_vol_sld" = id; <key>o_audio_norm_ckb</key>
"o_audio_vol_txt" = id; <string>id</string>
"o_hotkeys_change_btn" = id; <key>o_audio_norm_fld</key>
"o_hotkeys_change_cancel_btn" = id; <string>id</string>
"o_hotkeys_change_keys_lbl" = id; <key>o_audio_spdif_ckb</key>
"o_hotkeys_change_lbl" = id; <string>id</string>
"o_hotkeys_change_ok_btn" = id; <key>o_audio_view</key>
"o_hotkeys_change_taken_lbl" = id; <string>id</string>
"o_hotkeys_change_win" = id; <key>o_audio_visual_pop</key>
"o_hotkeys_clear_btn" = id; <string>id</string>
"o_hotkeys_lbl" = id; <key>o_audio_visual_txt</key>
"o_hotkeys_listbox" = id; <string>id</string>
"o_hotkeys_view" = id; <key>o_audio_vol_fld</key>
"o_input_access_box" = id; <string>id</string>
"o_input_avi_pop" = id; <key>o_audio_vol_sld</key>
"o_input_avi_txt" = id; <string>id</string>
"o_input_bandwidth_ckb" = id; <key>o_audio_vol_txt</key>
"o_input_cachelevel_custom_txt" = id; <string>id</string>
"o_input_cachelevel_pop" = id; <key>o_currentlyShownCategoryView</key>
"o_input_cachelevel_txt" = id; <string>id</string>
"o_input_caching_box" = id; <key>o_hotkeys_change_btn</key>
"o_input_dump_ckb" = id; <string>id</string>
"o_input_httpproxy_fld" = id; <key>o_hotkeys_change_cancel_btn</key>
"o_input_httpproxy_txt" = id; <string>id</string>
"o_input_httpproxypwd_sfld" = id; <key>o_hotkeys_change_keys_lbl</key>
"o_input_httpproxypwd_txt" = id; <string>id</string>
"o_input_mux_box" = id; <key>o_hotkeys_change_lbl</key>
"o_input_net_box" = id; <string>id</string>
"o_input_postproc_fld" = id; <key>o_hotkeys_change_ok_btn</key>
"o_input_postproc_txt" = id; <string>id</string>
"o_input_record_ckb" = id; <key>o_hotkeys_change_taken_lbl</key>
"o_input_rtsp_ckb" = id; <string>id</string>
"o_input_serverport_fld" = id; <key>o_hotkeys_change_win</key>
"o_input_serverport_txt" = id; <string>id</string>
"o_input_timeshift_ckb" = id; <key>o_hotkeys_clear_btn</key>
"o_input_view" = id; <string>id</string>
"o_intf_art_pop" = id; <key>o_hotkeys_lbl</key>
"o_intf_art_txt" = id; <string>id</string>
"o_intf_embedded_ckb" = id; <key>o_hotkeys_listbox</key>
"o_intf_fspanel_ckb" = id; <string>id</string>
"o_intf_lang_pop" = id; <key>o_hotkeys_view</key>
"o_intf_lang_txt" = id; <string>id</string>
"o_intf_network_box" = id; <key>o_input_access_box</key>
"o_intf_view" = id; <string>id</string>
"o_osd_encoding_pop" = id; <key>o_input_avi_pop</key>
"o_osd_encoding_txt" = id; <string>id</string>
"o_osd_font_box" = id; <key>o_input_avi_txt</key>
"o_osd_font_btn" = id; <string>id</string>
"o_osd_font_color_pop" = id; <key>o_input_bandwidth_ckb</key>
"o_osd_font_color_txt" = id; <string>id</string>
"o_osd_font_fld" = id; <key>o_input_cachelevel_custom_txt</key>
"o_osd_font_size_pop" = id; <string>id</string>
"o_osd_font_size_txt" = id; <key>o_input_cachelevel_pop</key>
"o_osd_font_txt" = id; <string>id</string>
"o_osd_lang_box" = id; <key>o_input_cachelevel_txt</key>
"o_osd_lang_fld" = id; <string>id</string>
"o_osd_lang_txt" = id; <key>o_input_caching_box</key>
"o_osd_osd_box" = id; <string>id</string>
"o_osd_osd_ckb" = id; <key>o_input_dump_ckb</key>
"o_osd_view" = id; <string>id</string>
"o_sprefs_basicFull_matrix" = id; <key>o_input_httpproxy_fld</key>
"o_sprefs_basic_box" = id; <string>id</string>
"o_sprefs_cancel_btn" = id; <key>o_input_httpproxy_txt</key>
"o_sprefs_controls_box" = id; <string>id</string>
"o_sprefs_reset_btn" = id; <key>o_input_httpproxypwd_sfld</key>
"o_sprefs_save_btn" = id; <string>id</string>
"o_sprefs_win" = id; <key>o_input_httpproxypwd_txt</key>
"o_video_black_ckb" = id; <string>id</string>
"o_video_device_pop" = id; <key>o_input_mux_box</key>
"o_video_device_txt" = id; <string>id</string>
"o_video_display_box" = id; <key>o_input_net_box</key>
"o_video_enable_ckb" = id; <string>id</string>
"o_video_fullscreen_ckb" = id; <key>o_input_postproc_fld</key>
"o_video_onTop_ckb" = id; <string>id</string>
"o_video_output_pop" = id; <key>o_input_postproc_txt</key>
"o_video_output_txt" = id; <string>id</string>
"o_video_skipFrames_ckb" = id; <key>o_input_record_ckb</key>
"o_video_snap_box" = id; <string>id</string>
"o_video_snap_folder_btn" = id; <key>o_input_rtsp_ckb</key>
"o_video_snap_folder_fld" = id; <string>id</string>
"o_video_snap_folder_txt" = id; <key>o_input_serverport_fld</key>
"o_video_snap_format_pop" = id; <string>id</string>
"o_video_snap_format_txt" = id; <key>o_input_serverport_txt</key>
"o_video_snap_prefix_fld" = id; <string>id</string>
"o_video_snap_prefix_txt" = id; <key>o_input_timeshift_ckb</key>
"o_video_snap_seqnum_ckb" = id; <string>id</string>
"o_video_view" = id; <key>o_input_view</key>
}; <string>id</string>
SUPERCLASS = NSObject; <key>o_intf_art_pop</key>
} <string>id</string>
); <key>o_intf_art_txt</key>
IBVersion = 1; <string>id</string>
} <key>o_intf_embedded_ckb</key>
\ No newline at end of file <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 @@ ...@@ -2,39 +2,22 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <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> <key>IBFramework Version</key>
<string>489.0</string> <string>644</string>
<key>IBLastKnownRelativeProjectPath</key> <key>IBLastKnownRelativeProjectPath</key>
<string>../../vlc.xcodeproj</string> <string>../../vlc.xcodeproj</string>
<key>IBOldestOS</key> <key>IBOldestOS</key>
<integer>5</integer> <integer>5</integer>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>1530</integer>
<integer>2677</integer> <integer>2677</integer>
<integer>2330</integer> <integer>2330</integer>
<integer>2668</integer> <integer>2311</integer>
<integer>2523</integer>
<integer>1530</integer>
<integer>2562</integer> <integer>2562</integer>
<integer>2537</integer>
<integer>2265</integer> <integer>2265</integer>
<integer>2311</integer> <integer>2668</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>9E17</string> <string>9E17</string>
......
...@@ -193,6 +193,7 @@ ...@@ -193,6 +193,7 @@
/* OSD / subtitles */ /* OSD / subtitles */
- (IBAction)osdSettingChanged:(id)sender; - (IBAction)osdSettingChanged:(id)sender;
- (IBAction)showFontPicker:(id)sender;
- (void)showOSDSettings; - (void)showOSDSettings;
/* input & codecs */ /* input & codecs */
......
...@@ -269,7 +269,7 @@ create_toolbar_item( NSString * o_itemIdent, NSString * o_name, NSString * o_des ...@@ -269,7 +269,7 @@ create_toolbar_item( NSString * o_itemIdent, NSString * o_name, NSString * o_des
/* Subtitles and OSD */ /* Subtitles and OSD */
[o_osd_encoding_txt setStringValue: _NS("Default Encoding")]; [o_osd_encoding_txt setStringValue: _NS("Default Encoding")];
[o_osd_font_box setTitle: _NS("Display Settings")]; [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_color_txt setStringValue: _NS("Font Color")];
[o_osd_font_size_txt setStringValue: _NS("Font Size")]; [o_osd_font_size_txt setStringValue: _NS("Font Size")];
[o_osd_font_txt setStringValue: _NS("Font")]; [o_osd_font_txt setStringValue: _NS("Font")];
...@@ -1096,24 +1096,7 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch ...@@ -1096,24 +1096,7 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch
- (IBAction)osdSettingChanged:(id)sender - (IBAction)osdSettingChanged:(id)sender
{ {
if( sender == o_osd_font_btn ) b_osdSettingChanged = YES;
{
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;
} }
- (void)showOSDSettings - (void)showOSDSettings
...@@ -1121,6 +1104,28 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch ...@@ -1121,6 +1104,28 @@ static inline void save_module_list( intf_thread_t * p_intf, id object, const ch
[self showSettingsForCategory: o_osd_view]; [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 - (IBAction)inputSettingChanged:(id)sender
{ {
if( sender == o_input_cachelevel_pop ) 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