From 16eac9ed063ad77ae36adefac8d0401a6a7467b4 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Wed, 7 Jun 2017 23:02:09 +0200 Subject: [PATCH] keeping encoding simpler for unicode --- src/osx/cocoa/msgdlg.mm | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/src/osx/cocoa/msgdlg.mm b/src/osx/cocoa/msgdlg.mm index 8dda8e1fd9..1de7e7aa7a 100644 --- a/src/osx/cocoa/msgdlg.mm +++ b/src/osx/cocoa/msgdlg.mm @@ -100,13 +100,19 @@ int wxMessageDialog::ShowModal() CFStringRef alternateButtonTitle = NULL; CFStringRef otherButtonTitle = NULL; - wxCFStringRef cfTitle( msgtitle, GetFont().GetEncoding() ); - wxCFStringRef cfText( msgtext, GetFont().GetEncoding() ); +#if wxUSE_UNICODE + wxFontEncoding encoding = wxFONTENCODING_DEFAULT; +#else + wxFontEncoding encoding = GetFont().GetEncoding(); +#endif - wxCFStringRef cfNoString( wxControl::GetLabelText(GetNoLabel()), GetFont().GetEncoding() ); - wxCFStringRef cfYesString( wxControl::GetLabelText(GetYesLabel()), GetFont().GetEncoding() ); - wxCFStringRef cfOKString( wxControl::GetLabelText(GetOKLabel()), GetFont().GetEncoding()) ; - wxCFStringRef cfCancelString( wxControl::GetLabelText(GetCancelLabel()), GetFont().GetEncoding() ); + wxCFStringRef cfTitle( msgtitle, encoding ); + wxCFStringRef cfText( msgtext, encoding ); + + wxCFStringRef cfNoString( wxControl::GetLabelText(GetNoLabel()), encoding ); + wxCFStringRef cfYesString( wxControl::GetLabelText(GetYesLabel()), encoding ); + wxCFStringRef cfOKString( wxControl::GetLabelText(GetOKLabel()), encoding) ; + wxCFStringRef cfCancelString( wxControl::GetLabelText(GetCancelLabel()), encoding ); NSAlertStyle alertType = GetAlertStyleFromWXStyle(style); @@ -238,13 +244,19 @@ void* wxMessageDialog::ConstructNSAlert() NSAlert* alert = [[NSAlert alloc] init]; NSAlertStyle alertType = GetAlertStyleFromWXStyle(style); - wxCFStringRef cfNoString( wxControl::GetLabelText(GetNoLabel()), GetFont().GetEncoding() ); - wxCFStringRef cfYesString( wxControl::GetLabelText(GetYesLabel()), GetFont().GetEncoding() ); - wxCFStringRef cfOKString( wxControl::GetLabelText(GetOKLabel()), GetFont().GetEncoding() ); - wxCFStringRef cfCancelString( wxControl::GetLabelText(GetCancelLabel()), GetFont().GetEncoding() ); +#if wxUSE_UNICODE + wxFontEncoding encoding = wxFONTENCODING_DEFAULT; +#else + wxFontEncoding encoding = GetFont().GetEncoding(); +#endif + + wxCFStringRef cfNoString( wxControl::GetLabelText(GetNoLabel()), encoding ); + wxCFStringRef cfYesString( wxControl::GetLabelText(GetYesLabel()), encoding ); + wxCFStringRef cfOKString( wxControl::GetLabelText(GetOKLabel()), encoding ); + wxCFStringRef cfCancelString( wxControl::GetLabelText(GetCancelLabel()), encoding ); - wxCFStringRef cfTitle( msgtitle, GetFont().GetEncoding() ); - wxCFStringRef cfText( msgtext, GetFont().GetEncoding() ); + wxCFStringRef cfTitle( msgtitle, encoding ); + wxCFStringRef cfText( msgtext, encoding ); [alert setMessageText:cfTitle.AsNSString()]; [alert setInformativeText:cfText.AsNSString()]; @@ -301,7 +313,7 @@ void* wxMessageDialog::ConstructNSAlert() if ( style & wxHELP ) { - wxCFStringRef cfHelpString( GetHelpLabel(), GetFont().GetEncoding() ); + wxCFStringRef cfHelpString( GetHelpLabel(), encoding ); [alert addButtonWithTitle:cfHelpString.AsNSString()]; m_buttonId[ m_buttonCount++ ] = wxID_HELP; }