]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/utilscmn.cpp
remove references to contrib (patch from Francesco)
[wxWidgets.git] / src / common / utilscmn.cpp
index abc3d00ecfef9d2cb36e8b7d4b5a57c43ac64db4..21895181cb9d43ba640d1a2f30f6e3eaa82d5863 100644 (file)
@@ -140,6 +140,15 @@ void wxDecToHex(int dec, wxChar *buf)
     buf[2] = 0;
 }
 
+// Convert decimal integer to 2 characters
+void wxDecToHex(int dec, char* ch1, char* ch2)
+{
+    int firstDigit = (int)(dec/16.0);
+    int secondDigit = (int)(dec - (firstDigit*16.0));
+    (*ch1) = (char) hexArray[firstDigit];
+    (*ch2) = (char) hexArray[secondDigit];
+}
+
 // Convert decimal integer to 2-character hex string
 wxString wxDecToHex(int dec)
 {
@@ -678,6 +687,11 @@ wxRegisterId (long id)
 // Launch default browser
 // ----------------------------------------------------------------------------
 
+#ifdef __WXCOCOA__
+// Private method in Objective-C++ source file.
+bool wxCocoaLaunchDefaultBrowser(const wxString& url, int flags);
+#endif
+
 bool wxLaunchDefaultBrowser(const wxString& urlOrig, int flags)
 {
     wxUnusedVar(flags);
@@ -687,7 +701,12 @@ bool wxLaunchDefaultBrowser(const wxString& urlOrig, int flags)
     wxString url(urlOrig);
     wxURI uri(url);
     if ( !uri.HasScheme() )
-        url.Prepend(wxT("http://"));
+    {
+        if (wxFileExists(urlOrig))
+            url.Prepend( wxT("file://") );
+        else
+            url.Prepend(wxT("http://"));
+    }
 
 
 #if defined(__WXMSW__)
@@ -778,6 +797,10 @@ bool wxLaunchDefaultBrowser(const wxString& urlOrig, int flags)
 #endif // __WXDEBUG__
         return true;
     }
+#elif defined(__WXCOCOA__)
+    // NOTE: We need to call the real implementation from src/cocoa/utils.mm
+    // because the code must use Objective-C features.
+    return wxCocoaLaunchDefaultBrowser(url, flags);
 #elif defined(__WXMAC__)
     OSStatus err;
     ICInstance inst;
@@ -807,7 +830,7 @@ bool wxLaunchDefaultBrowser(const wxString& urlOrig, int flags)
         wxLogDebug(wxT("ICStart error %d"), (int) err);
         return false;
     }
-#else 
+#else
     // (non-Mac, non-MSW)
 
 #ifdef __UNIX__