]> git.saurik.com Git - wxWidgets.git/commitdiff
add default value for the encoding parameter of wxMacCFStringHolder() instead of...
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 24 Jul 2006 18:01:39 +0000 (18:01 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 24 Jul 2006 18:01:39 +0000 (18:01 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/mac/corefoundation/cfstring.h
src/common/filefn.cpp
src/mac/corefoundation/cfstring.cpp
src/mac/corefoundation/utilsexc_base.cpp

index 4024ce62a7887e7da9df4aa949adf6917aeaceba..ae3e73d3757718401009045d0a119a548dda9d19 100644 (file)
@@ -39,19 +39,20 @@ void wxMacWakeUp() ;
 class wxMacCFStringHolder
 {
 public:
-    wxMacCFStringHolder() 
-        : m_cfs(NULL) , m_release(false) 
+    wxMacCFStringHolder()
+        : m_cfs(NULL) , m_release(false)
     {
     }
 
-    wxMacCFStringHolder(const wxString &str , wxFontEncoding encoding )
-        : m_cfs(NULL) , m_release(false) 
+    wxMacCFStringHolder(const wxString &str,
+                        wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
+        : m_cfs(NULL) , m_release(false)
     {
         Assign( str , encoding ) ;
     }
 
     wxMacCFStringHolder(CFStringRef ref , bool release = true )
-        : m_cfs(ref) , m_release(release) 
+        : m_cfs(ref) , m_release(release)
     {
     }
 
@@ -75,7 +76,8 @@ public:
         m_cfs = NULL ;
     }
 
-    void Assign( const wxString &str , wxFontEncoding encoding ) ;
+    void Assign(const wxString &str,
+                wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
 
     operator CFStringRef () const { return m_cfs; }
     wxString AsString( wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
@@ -84,7 +86,7 @@ private:
 
     CFStringRef m_cfs;
     bool m_release ;
-    
+
     DECLARE_NO_COPY_CLASS( wxMacCFStringHolder )
 } ;
 
@@ -94,13 +96,13 @@ class wxMacUniCharBuffer
 {
 public :
     wxMacUniCharBuffer( const wxString &str ) ;
-    
+
     ~wxMacUniCharBuffer() ;
-        
+
     UniChar* GetBuffer() ;
-       
+
     UniCharCount GetChars() ;
-    
+
 private :
     UniChar* m_ubuf ;
     UniCharCount m_chars ;
index 5824391e0f770f77d747f32643406b284113a96c..16ca60250d9128431548de7390c5e797090e54fc 100644 (file)
@@ -883,15 +883,15 @@ wxString wxMacFSRefToPath( const FSRef *fsRef , CFStringRef additionalPathCompon
     CFRelease( fullURLRef ) ;
     CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, cfString);
     CFRelease( cfString );
-    CFStringNormalize(cfMutableString,kCFStringNormalizationFormC);    
-    return wxMacCFStringHolder(cfMutableString).AsString(wxLocale::GetSystemEncoding());
+    CFStringNormalize(cfMutableString,kCFStringNormalizationFormC);
+    return wxMacCFStringHolder(cfMutableString).AsString();
 }
 
 OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef )
 {
     OSStatus err = noErr ;
-    CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, wxMacCFStringHolder(path ,wxLocale::GetSystemEncoding() ) ) ;
-    CFStringNormalize(cfMutableString,kCFStringNormalizationFormD);    
+    CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, wxMacCFStringHolder(path));
+    CFStringNormalize(cfMutableString,kCFStringNormalizationFormD);
     CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, cfMutableString , kDefaultPathStyle, false);
     CFRelease( cfMutableString );
     if ( NULL != url )
@@ -914,7 +914,7 @@ wxString wxMacHFSUniStrToString( ConstHFSUniStr255Param uniname )
                                                       uniname->length );
     CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, cfname);
     CFRelease( cfname );
-    CFStringNormalize(cfMutableString,kCFStringNormalizationFormC);    
+    CFStringNormalize(cfMutableString,kCFStringNormalizationFormC);
     return wxMacCFStringHolder(cfMutableString).AsString() ;
 }
 
index 4e71aeee0d5418b62dec726c5d92381069ccc5ed..8cfdec84b80dfe889a239b2b04b9138042db527a 100644 (file)
@@ -105,9 +105,10 @@ wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding)
 #if wxUSE_GUI
         encoding = wxFont::GetDefaultEncoding() ;
 #else
-        encoding = wxLocale::GetSystemEncoding() ;
+        encoding = wxFONTENCODING_SYSTEM; // to be set below
 #endif
     }
+
     if ( encoding == wxFONTENCODING_SYSTEM )
     {
         enc = CFStringGetSystemEncoding();
index db2c9f38a4715603683d98e57365bfead1c1f3fb..a82bcb3ceb08128d2543ec4a8f21930b3bc062e2 100644 (file)
 
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 //
-//     wxMacExecute
+//    wxMacExecute
 //
 // argv is the command line split up, with the application path first
-// flags are the flags from wxExecute 
+// flags are the flags from wxExecute
 // process is the process passed from wxExecute for pipe streams etc.
 // returns -1 on error for wxEXEC_SYNC and 0 on error for wxEXEC_ASYNC
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -63,8 +63,8 @@ long wxMacExecute(wxChar **argv,
                wxProcess *process)
 {
     // Semi-macros used for return value of wxMacExecute
-       const long errorCode = ((flags & wxEXEC_SYNC) ? -1 : 0);
-       const long successCode = ((flags & wxEXEC_SYNC) ? 0 : -1); // fake PID
+    const long errorCode = ((flags & wxEXEC_SYNC) ? -1 : 0);
+    const long successCode = ((flags & wxEXEC_SYNC) ? 0 : -1); // fake PID
 
     // Obtains the number of arguments for determining the size of
     // the CFArray used to hold them
@@ -81,18 +81,17 @@ long wxMacExecute(wxChar **argv,
         wxLogDebug(wxT("wxMacExecute No file to launch!"));
         return errorCode ;
     }
-    
+
     // Path to bundle
     wxString path = *argv++;
 
     // Create a CFURL for the application path
     // Created this way because we are opening a bundle which is a directory
-    CFURLRef cfurlApp = 
+    CFURLRef cfurlApp =
         CFURLCreateWithFileSystemPath(
             kCFAllocatorDefault,
-            wxMacCFStringHolder(path, 
-                                wxLocale::GetSystemEncoding()),
-            kDefaultPathStyle, 
+            wxMacCFStringHolder(path),
+            kDefaultPathStyle,
             true); //false == not a directory
 
     // Check for error from the CFURL
@@ -114,7 +113,7 @@ long wxMacExecute(wxChar **argv,
         CFRelease(cfurlApp);
         return errorCode ;
     }
-    
+
     // Get the bundle type and make sure its an 'APPL' bundle
     // Otherwise we're dealing with something else here...
     UInt32 dwBundleType, dwBundleCreator;
@@ -126,42 +125,41 @@ long wxMacExecute(wxChar **argv,
         CFRelease(cfurlApp);
         return errorCode ;
     }
-    
+
     // Create a CFArray for dealing with the command line
     // arguments to the bundle
-    CFMutableArrayRef cfaFiles = CFArrayCreateMutable(kCFAllocatorDefault, 
+    CFMutableArrayRef cfaFiles = CFArrayCreateMutable(kCFAllocatorDefault,
                                     cfiCount-1, &kCFTypeArrayCallBacks);
     if(!cfaFiles) //This should never happen
     {
-        wxLogDebug(wxT("wxMacExecute Could not create CFMutableArray"));        
+        wxLogDebug(wxT("wxMacExecute Could not create CFMutableArray"));
         CFRelease(cfbApp);
         CFRelease(cfurlApp);
         return errorCode ;
     }
-    
+
     // Loop through command line arguments to the bundle,
     // turn them into CFURLs and then put them in cfaFiles
     // For use to launch services call
         for( ; *argv != NULL ; ++argv)
         {
-        // Check for '<' as this will ring true for 
+        // Check for '<' as this will ring true for
         // CFURLCreateWithString but is generally not considered
         // typical on mac but is usually passed here from wxExecute
         if (wxStrcmp(*argv, wxT("<")) == 0)
             continue;
-            
-        
-        CFURLRef cfurlCurrentFile;     // CFURL to hold file path
-        wxFileName argfn(*argv);       // Filename for path
-                
+
+
+        CFURLRef cfurlCurrentFile;    // CFURL to hold file path
+        wxFileName argfn(*argv);     // Filename for path
+
         if(argfn.DirExists())
         {
             // First, try creating as a directory
             cfurlCurrentFile = CFURLCreateWithFileSystemPath(
                                 kCFAllocatorDefault,
-                                wxMacCFStringHolder(*argv, 
-                                wxLocale::GetSystemEncoding()),
-                                kDefaultPathStyle, 
+                                wxMacCFStringHolder(*argv),
+                                kDefaultPathStyle,
                                 true); //true == directory
         }
         else if(argfn.FileExists())
@@ -170,27 +168,26 @@ long wxMacExecute(wxChar **argv,
             // as a regular file
             cfurlCurrentFile = CFURLCreateWithFileSystemPath(
                                 kCFAllocatorDefault,
-                                wxMacCFStringHolder(*argv, 
-                                wxLocale::GetSystemEncoding()),
-                                kDefaultPathStyle, 
+                                wxMacCFStringHolder(*argv),
+                                kDefaultPathStyle,
                                 false); //false == regular file
-        }    
+        }
         else
         {
             // Argument did not refer to
             // an entry in the local filesystem,
             // so try creating it through CFURLCreateWithString
             cfurlCurrentFile = CFURLCreateWithString(
-                    kCFAllocatorDefault,
-                wxMacCFStringHolder(*argv, wxLocale::GetSystemEncoding()),
-                    NULL);
+                                kCFAllocatorDefault,
+                                wxMacCFStringHolder(*argv),
+                                NULL);
         }
-        
+
         // Continue in the loop if the CFURL could not be created
         if(!cfurlCurrentFile)
         {
             wxLogDebug(
-                wxT("wxMacExecute Could not create CFURL for argument:%s"), 
+                wxT("wxMacExecute Could not create CFURL for argument:%s"),
                 *argv);
             continue;
         }
@@ -203,7 +200,7 @@ long wxMacExecute(wxChar **argv,
                             );
             CFRelease(cfurlCurrentFile); // array has retained it
         }
-    
+
     // Create a LSLaunchURLSpec for use with LSOpenFromURLSpec
     // Note that there are several flag options (launchFlags) such
     // as kLSLaunchDontSwitch etc. and maybe we could be more
@@ -211,10 +208,10 @@ long wxMacExecute(wxChar **argv,
     LSLaunchURLSpec launchspec;
     launchspec.appURL = cfurlApp;
     launchspec.itemURLs = cfaFiles;
-    launchspec.passThruParams = NULL; //AEDesc* 
-    launchspec.launchFlags = kLSLaunchDefaults; 
+    launchspec.passThruParams = NULL; //AEDesc*
+    launchspec.launchFlags = kLSLaunchDefaults;
     launchspec.asyncRefCon = NULL;
-    
+
     // Finally, call LSOpenFromURL spec with our arguments
     // 2nd parameter is a pointer to a CFURL that gets
     // the actual path launched by the function
@@ -224,16 +221,16 @@ long wxMacExecute(wxChar **argv,
     CFRelease(cfbApp);
     CFRelease(cfurlApp);
     CFRelease(cfaFiles);
-    
+
     // Check for error from LSOpenFromURLSpec
     if(status != noErr)
     {
-        wxLogDebug(wxT("wxMacExecute LSOpenFromURLSpec Error: %d"), 
+        wxLogDebug(wxT("wxMacExecute LSOpenFromURLSpec Error: %d"),
                    (int)status);
         return errorCode ;
     }
-    
+
     // No error from LSOpenFromURLSpec, so app was launched
-    return successCode; 
+    return successCode;
 }