X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c0030ca78977d83d95c781bf6a72d519239cf838..bf7bd4b18521e52b4c6651a974e5f43a0101f71b:/src/common/intl.cpp diff --git a/src/common/intl.cpp b/src/common/intl.cpp index a90f2526d0..7c8323ab18 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -73,7 +73,13 @@ #include "wx/filesys.h" #if defined(__WXMAC__) - #include "wx/mac/private.h" // includes mac headers + #include "wx/mac/private.h" // includes mac headers +#endif + +#if defined(__DARWIN__) + #include "wx/mac/corefoundation/cfref.h" + #include + #include "wx/mac/corefoundation/cfstring.h" #endif // ---------------------------------------------------------------------------- @@ -2472,11 +2478,7 @@ wxFontEncoding wxLocale::GetSystemEncoding() } #elif defined(__WXMAC__) TextEncoding encoding = 0 ; -#if TARGET_CARBON encoding = CFStringGetSystemEncoding() ; -#else - UpgradeScriptInfoToTextEncoding ( smSystemScript , kTextLanguageDontCare , kTextRegionDontCare , NULL , &encoding ) ; -#endif return wxMacGetFontEncFromSystemEnc( encoding ) ; #elif defined(__UNIX_LIKE__) && wxUSE_FONTMAP const wxString encname = GetSystemEncodingName(); @@ -2860,7 +2862,7 @@ bool wxLocale::AddCatalog(const wxString& szDomain, // accessors for locale-dependent data // ---------------------------------------------------------------------------- -#ifdef __WXMSW__ +#if defined(__WXMSW__) /* static */ wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory WXUNUSED(cat)) @@ -2900,7 +2902,33 @@ wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory WXUNUSED(cat)) return str; } -#else // !__WXMSW__ +#elif defined(__DARWIN__) + +/* static */ +wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory WXUNUSED(cat)) +{ + wxCFRef userLocaleRef(CFLocaleCopyCurrent()); + CFTypeRef cfstr; + switch ( index ) + { + case wxLOCALE_THOUSANDS_SEP: + cfstr = CFLocaleGetValue(userLocaleRef, kCFLocaleGroupingSeparator); + break; + + case wxLOCALE_DECIMAL_POINT: + cfstr = CFLocaleGetValue(userLocaleRef, kCFLocaleDecimalSeparator); + break; + + default: + wxFAIL_MSG( "Unknown locale info" ); + } + + wxMacCFStringHolder + str(CFStringCreateCopy(NULL, static_cast(cfstr))); + return str.AsString(); +} + +#else // !__WXMSW__ && !__DARWIN__ /* static */ wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory cat) @@ -2937,7 +2965,7 @@ wxString wxLocale::GetInfo(wxLocaleInfo index, wxLocaleCategory cat) } } -#endif // __WXMSW__/!__WXMSW__ +#endif // platform // ---------------------------------------------------------------------------- // global functions and variables