X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c8ef3d5565e6f1c1a23baa3be7d6a7b42151c616..f86190702bb433f139dc2c335e2c551755def81f:/src/osx/core/stdpaths_cf.cpp?ds=sidebyside diff --git a/src/osx/core/stdpaths_cf.cpp b/src/osx/core/stdpaths_cf.cpp index b144a77ae0..f5bf602b11 100644 --- a/src/osx/core/stdpaths_cf.cpp +++ b/src/osx/core/stdpaths_cf.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: mac/corefoundation/stdpaths.cpp +// Name: src/osx/core/stdpaths_cf.cpp // Purpose: wxStandardPaths implementation for CoreFoundation systems // Author: David Elliott // Modified by: @@ -49,14 +49,12 @@ wxStandardPathsCF::wxStandardPathsCF() : m_bundle(CFBundleGetMainBundle()) { CFRetain(m_bundle); - UseAppInfo(AppInfo_AppName | AppInfo_VendorName); } wxStandardPathsCF::wxStandardPathsCF(wxCFBundleRef bundle) : m_bundle(bundle) { CFRetain(m_bundle); - UseAppInfo(AppInfo_AppName | AppInfo_VendorName); } wxStandardPathsCF::~wxStandardPathsCF() @@ -85,7 +83,7 @@ static wxString BundleRelativeURLToPath(CFURLRef relativeURL) wxCHECK_MSG(absoluteURL, wxEmptyString, wxT("Failed to resolve relative URL to absolute URL")); CFStringRef cfStrPath = CFURLCopyFileSystemPath(absoluteURL,kDefaultPathStyle); CFRelease(absoluteURL); - return wxCFStringRef(cfStrPath).AsString(wxLocale::GetSystemEncoding()); + return wxCFStringRef::AsStringWithNormalizationFormC(cfStrPath); } wxString wxStandardPathsCF::GetFromFunc(wxCFURLRef (*func)(wxCFBundleRef)) const @@ -101,7 +99,7 @@ wxString wxStandardPathsCF::GetFromFunc(wxCFURLRef (*func)(wxCFBundleRef)) const wxString wxStandardPathsCF::GetDocumentsDir() const { -#if defined( __WXMAC__ ) && !defined(__WXOSX_IPHONE__) +#if defined( __WXMAC__ ) && wxOSX_USE_CARBON return wxMacFindFolderNoSeparator ( kUserDomain, @@ -119,8 +117,8 @@ wxString wxStandardPathsCF::GetDocumentsDir() const wxString wxStandardPathsCF::GetConfigDir() const { -#if defined( __WXMAC__ ) && !defined(__WXOSX_IPHONE__) - return wxMacFindFolder((short)kLocalDomain, kPreferencesFolderType, kCreateFolder); +#if defined( __WXMAC__ ) && wxOSX_USE_CARBON + return wxMacFindFolderNoSeparator((short)kLocalDomain, kPreferencesFolderType, kCreateFolder); #else return wxT("/Library/Preferences"); #endif @@ -128,8 +126,8 @@ wxString wxStandardPathsCF::GetConfigDir() const wxString wxStandardPathsCF::GetUserConfigDir() const { -#if defined( __WXMAC__ ) && !defined(__WXOSX_IPHONE__) - return wxMacFindFolder((short)kUserDomain, kPreferencesFolderType, kCreateFolder); +#if defined( __WXMAC__ ) && wxOSX_USE_CARBON + return wxMacFindFolderNoSeparator((short)kUserDomain, kPreferencesFolderType, kCreateFolder); #else return wxFileName::GetHomeDir() + wxT("/Library/Preferences"); #endif @@ -143,36 +141,7 @@ wxString wxStandardPathsCF::GetDataDir() const wxString wxStandardPathsCF::GetExecutablePath() const { #ifdef __WXMAC__ -#if 1 - return GetFromFunc(CFBundleCopyBundleURL); -#else - // TODO remove if cf implementation ok - ProcessInfoRec processinfo; - ProcessSerialNumber procno ; -#ifdef __LP64__ - FSRef fsRef; -#else - FSSpec fsSpec; -#endif - - procno.highLongOfPSN = 0 ; - procno.lowLongOfPSN = kCurrentProcess ; - processinfo.processInfoLength = sizeof(ProcessInfoRec); - processinfo.processName = NULL; -#ifdef __LP64__ - processinfo.processAppRef = &fsRef; -#else - processinfo.processAppSpec = &fsSpec; -#endif - - GetProcessInformation( &procno , &processinfo ) ; -#ifdef __LP64__ - return wxMacFSRefToPath(&fsRef); -#else - return wxMacFSSpec2MacFilename(&fsSpec); -#endif -#endif - + return GetFromFunc(CFBundleCopyExecutableURL); #else return wxStandardPathsBase::GetExecutablePath(); #endif @@ -180,8 +149,8 @@ wxString wxStandardPathsCF::GetExecutablePath() const wxString wxStandardPathsCF::GetLocalDataDir() const { -#if defined( __WXMAC__ ) && !defined(__WXOSX_IPHONE__) - return AppendAppInfo(wxMacFindFolder((short)kLocalDomain, kApplicationSupportFolderType, kCreateFolder)); +#if defined( __WXMAC__ ) && wxOSX_USE_CARBON + return AppendAppInfo(wxMacFindFolderNoSeparator((short)kLocalDomain, kApplicationSupportFolderType, kCreateFolder)); #else return AppendAppInfo(wxT("/Library/Application Support")); #endif @@ -189,10 +158,10 @@ wxString wxStandardPathsCF::GetLocalDataDir() const wxString wxStandardPathsCF::GetUserDataDir() const { -#if defined( __WXMAC__ ) && !defined(__WXOSX_IPHONE__) - return AppendAppInfo(wxMacFindFolder((short)kUserDomain, kApplicationSupportFolderType, kCreateFolder)); +#if defined( __WXMAC__ ) && wxOSX_USE_CARBON + return AppendAppInfo(wxMacFindFolderNoSeparator((short)kUserDomain, kApplicationSupportFolderType, kCreateFolder)); #else - return AppendAppInfo(wxFileName::GetHomeDir() + _T("/Library/Application Support")); + return AppendAppInfo(wxFileName::GetHomeDir() + wxT("/Library/Application Support")); #endif } @@ -211,7 +180,7 @@ wxStandardPathsCF::GetLocalizedResourcesDir(const wxString& lang, ResourceCat category) const { return wxStandardPathsBase:: - GetLocalizedResourcesDir(lang, category) + _T(".lproj"); + GetLocalizedResourcesDir(lang, category) + wxT(".lproj"); } #endif // wxUSE_STDPATHS