X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/519cb848a8f4c91c73421bb75314754284e593a4..bcd3d8d9e26e41615d26d457ba0e2b84b80a0356:/src/mac/msgdlg.cpp?ds=sidebyside diff --git a/src/mac/msgdlg.cpp b/src/mac/msgdlg.cpp index 5aa8554038..17fae2c24f 100644 --- a/src/mac/msgdlg.cpp +++ b/src/mac/msgdlg.cpp @@ -13,6 +13,7 @@ #pragma implementation "msgdlg.h" #endif +#include "wx/app.h" #include "wx/msgdlg.h" #include "wx/mac/uma.h" @@ -28,6 +29,7 @@ IMPLEMENT_CLASS(wxMessageDialog, wxDialog) short language = 0 ; +void wxMacConvertNewlines( const char *source , char * destination ) ; void wxMacConvertNewlines( const char *source , char * destination ) { const char *s = source ; @@ -71,12 +73,28 @@ int wxMessageDialog::ShowModal() short result ; Str255 pascalTitle ; Str255 pascalText ; + char cText[256] ; + + Str255 yesPString ; + Str255 noPString ; + + wxMacStringToPascal( m_caption , pascalTitle ) ; + wxMacStringToPascal( _("Yes") , yesPString ) ; + wxMacStringToPascal( _("No") , noPString ) ; - strcpy( (char*) pascalTitle , m_caption ) ; - c2pstr( (char*) pascalTitle ) ; - strcpy( (char*) pascalText , m_message ) ; - wxMacConvertNewlines( (char*)pascalText ,(char*) pascalText) ; - c2pstr( (char*) pascalText ) ; + if (wxApp::s_macDefaultEncodingIsPC) + { + strcpy(cText , wxMacMakeMacStringFromPC( m_message) ) ; + } + else + { + strcpy( cText , m_message ) ; + } + + wxMacConvertNewlines( cText , cText ) ; + CopyCStringToPascal( cText , pascalText ) ; + + wxASSERT_MSG( ( m_dialogStyle & 0x3F ) != wxYES , "this style is not supported on mac" ) ; if ( !UMAHasAppearance() ) { @@ -166,18 +184,18 @@ int wxMessageDialog::ShowModal() { if (m_dialogStyle & wxCANCEL) { - param.defaultText = "\pYes" ; + param.defaultText = yesPString ; param.cancelText = (StringPtr) kAlertDefaultCancelText; - param.otherText = "\pNo"; + param.otherText = noPString ; param.helpButton = false ; param.defaultButton = kAlertStdAlertOKButton; param.cancelButton = kAlertStdAlertCancelButton; } else { - param.defaultText = "\pYes" ; + param.defaultText = yesPString ; param.cancelText = NULL; - param.otherText = "\pNo"; + param.otherText = noPString ; param.helpButton = false ; param.defaultButton = kAlertStdAlertOKButton; param.cancelButton = 0;