X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c4a49e11f76f584b5a456ff969750440f8a1b5a2..ee8bee6c8c345e5b61c8e9b1563ed85bb4fb7e15:/src/mac/carbon/msgdlg.cpp?ds=sidebyside diff --git a/src/mac/carbon/msgdlg.cpp b/src/mac/carbon/msgdlg.cpp index 732a2f48ba..73548ad9f2 100644 --- a/src/mac/carbon/msgdlg.cpp +++ b/src/mac/carbon/msgdlg.cpp @@ -22,36 +22,6 @@ IMPLEMENT_CLASS(wxMessageDialog, wxDialog) #endif -short language = 0 ; - -void wxMacConvertNewlines( const char *source , char * destination ) ; -void wxMacConvertNewlines( const char *source , char * destination ) -{ - const char *s = source ; - char *d = destination ; - - while( *s ) - { - switch( *s ) - { - case 0x0a : - *d++ = 0x0d ; - ++s ; - break ; - case 0x0d : - *d++ = 0x0d ; - ++s ; - if ( *s == 0x0a ) - ++s ; - break ; - default : - *d++ = *s++ ; - break ; - } - } - *d = 0 ; -} - wxMessageDialog::wxMessageDialog(wxWindow *parent, const wxString& message, const wxString& caption, long style, const wxPoint& pos) { @@ -67,7 +37,7 @@ int wxMessageDialog::ShowModal() short result ; - wxASSERT_MSG( ( m_dialogStyle & 0x3F ) != wxYES , "this style is not supported on mac" ) ; + wxASSERT_MSG( ( m_dialogStyle & 0x3F ) != wxYES , wxT("this style is not supported on mac") ) ; AlertType alertType = kAlertPlainAlert ; if (m_dialogStyle & wxICON_EXCLAMATION) @@ -83,17 +53,12 @@ int wxMessageDialog::ShowModal() if ( UMAGetSystemVersion() >= 0x1000 ) { AlertStdCFStringAlertParamRec param ; - CFStringRef cfNoString = NULL ; - CFStringRef cfYesString = NULL ; - - CFStringRef cfTitle = NULL; - CFStringRef cfText = NULL; - - cfTitle = wxMacCreateCFString( m_caption ) ; - cfText = wxMacCreateCFString( m_message ) ; - cfNoString = wxMacCreateCFString( _("No") ) ; - cfYesString = wxMacCreateCFString( _("Yes") ) ; + wxMacCFStringHolder cfNoString(_("No") , m_font.GetEncoding()) ; + wxMacCFStringHolder cfYesString( _("Yes") , m_font.GetEncoding()) ; + wxMacCFStringHolder cfTitle(m_caption , m_font.GetEncoding()); + wxMacCFStringHolder cfText(m_message , m_font.GetEncoding()); + param.movable = true; param.flags = 0 ; @@ -127,7 +92,7 @@ int wxMessageDialog::ShowModal() { // thats a cancel missing param.defaultText = (CFStringRef) kAlertDefaultOKText ; - param.cancelText = NULL; + param.cancelText = (CFStringRef) kAlertDefaultCancelText ; param.otherText = NULL; param.helpButton = false ; param.defaultButton = kAlertStdAlertOKButton; @@ -157,32 +122,13 @@ int wxMessageDialog::ShowModal() CreateStandardAlert( alertType , cfTitle , cfText , ¶m , &alertRef ) ; RunStandardAlert( alertRef , NULL , &result ) ; } - if(cfTitle != NULL) - CFRelease(cfTitle); - if(cfText != NULL) - CFRelease(cfText); - if(cfNoString != NULL) - CFRelease(cfNoString); - if(cfYesString != NULL) - CFRelease(cfYesString); - if ( skipDialog ) + if ( skipDialog ) return wxID_CANCEL ; } else #endif { AlertStdAlertParamRec param; - char cText[2048] ; - - if (wxApp::s_macDefaultEncodingIsPC) - { - strcpy(cText , wxMacMakeMacStringFromPC( m_message) ) ; - } - else - { - strcpy( cText , m_message ) ; - } - wxMacConvertNewlines( cText , cText ) ; Str255 yesPString ; Str255 noPString ; @@ -192,7 +138,7 @@ int wxMessageDialog::ShowModal() wxMacStringToPascal( m_caption , pascalTitle ) ; wxMacStringToPascal( _("Yes") , yesPString ) ; wxMacStringToPascal( _("No") , noPString ) ; - CopyCStringToPascal( cText , pascalText ) ; + wxMacStringToPascal( m_message , pascalText ) ; param.movable = true; param.filterProc = NULL ; @@ -221,9 +167,8 @@ int wxMessageDialog::ShowModal() { if (m_dialogStyle & wxCANCEL) { - // thats a cancel missing param.defaultText = (StringPtr) kAlertDefaultOKText ; - param.cancelText = NULL; + param.cancelText = (StringPtr) kAlertDefaultCancelText ; param.otherText = NULL; param.helpButton = false ; param.defaultButton = kAlertStdAlertOKButton;