#include <stdlib.h>
#include <string.h>
-#if !defined(__WATCOMC__)
+#if !wxONLY_WATCOM_EARLIER_THAN(1,4)
#if !(defined(_MSC_VER) && (_MSC_VER > 800))
#include <errno.h>
#endif
#include "wx/msw/wince/time.h"
#endif
+#ifdef __WXMAC__
+#include "wx/mac/private.h"
+#ifndef __DARWIN__
+#include "InternetConfig.h"
+#endif
+#endif
+
#if !defined(__MWERKS__) && !defined(__WXWINCE__)
#include <sys/types.h>
#include <sys/stat.h>
// common data
// ----------------------------------------------------------------------------
-#if WXWIN_COMPATIBILITY_2_2
- const wxChar *wxInternalErrorStr = wxT("wxWidgets Internal Error");
- const wxChar *wxFatalErrorStr = wxT("wxWidgets Fatal Error");
-#endif // WXWIN_COMPATIBILITY_2_2
-
// ============================================================================
// implementation
// ============================================================================
url.Prepend(wxT("http://"));
#if defined(__WXMSW__)
+
+#if wxUSE_IPC
if ( flags & wxBROWSER_NEW_WINDOW )
{
// ShellExecuteEx() opens the URL in an existing window by default so
}
}
}
+#endif // wxUSE_IPC
WinStruct<SHELLEXECUTEINFO> sei;
sei.lpFile = url.c_str();
#endif // __WXDEBUG__
return true;
}
+#elif defined(__WXMAC__)
+ OSStatus err;
+ ICInstance inst;
+ SInt32 startSel;
+ SInt32 endSel;
+
+ err = ICStart(&inst, 'STKA'); // put your app creator code here
+ if (err == noErr)
+ {
+#if !TARGET_CARBON
+ err = ICFindConfigFile(inst, 0, NULL);
+#endif
+ if (err == noErr)
+ {
+ ConstStr255Param hint = 0;
+ startSel = 0;
+ endSel = url.Length();
+ err = ICLaunchURL(inst, hint, url.fn_str(), endSel, &startSel, &endSel);
+ if (err != noErr)
+ wxLogDebug(wxT("ICLaunchURL error %d"), (int) err);
+ }
+ ICStop(inst);
+ return true;
+ }
+ else
+ {
+ wxLogDebug(wxT("ICStart error %d"), (int) err);
+ return false;
+ }
#elif wxUSE_MIMETYPE
// Non-windows way
- wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension (_T("html"));
+ bool ok = false;
+ wxString cmd;
+
+ wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(_T("html"));
if ( ft )
{
wxString mt;
ft->GetMimeType(&mt);
- wxString cmd;
- bool ok = ft->GetOpenCommand(&cmd, wxFileType::MessageParameters(url));
+ ok = ft->GetOpenCommand(&cmd, wxFileType::MessageParameters(url));
delete ft;
-
- if ( !ok || cmd.empty() )
- {
- // fallback to checking for the BROWSER environment variable
- cmd = wxGetenv(wxT("BROWSER"));
- if ( !cmd.empty() )
- cmd << _T(' ') << url;
- }
-
- if ( !cmd.empty() && wxExecute(cmd) )
- return true;
}
- else // no file type for html extension
+
+ if ( !ok || cmd.empty() )
{
- wxLogError(_T("No default application configured for HTML files."));
+ // fallback to checking for the BROWSER environment variable
+ cmd = wxGetenv(wxT("BROWSER"));
+ if ( !cmd.empty() )
+ cmd << _T(' ') << url;
}
+
+ ok = ( !cmd.empty() && wxExecute(cmd) );
+ if (ok)
+ return ok;
+
+ // no file type for HTML extension
+ wxLogError(_T("No default application configured for HTML files."));
+
#endif // !wxUSE_MIMETYPE && !__WXMSW__
wxLogSysError(_T("Failed to open URL \"%s\" in default browser."),
#if wxUSE_COLOURDLG
-wxColour wxGetColourFromUser(wxWindow *parent, const wxColour& colInit)
+wxColour wxGetColourFromUser(wxWindow *parent, const wxColour& colInit, const wxString& caption)
{
wxColourData data;
data.SetChooseFull(true);
wxColour colRet;
wxColourDialog dialog(parent, &data);
+ if (!caption.IsEmpty())
+ dialog.SetTitle(caption);
if ( dialog.ShowModal() == wxID_OK )
{
colRet = dialog.GetColourData().GetColour();
#if wxUSE_FONTDLG
-wxFont wxGetFontFromUser(wxWindow *parent, const wxFont& fontInit)
+wxFont wxGetFontFromUser(wxWindow *parent, const wxFont& fontInit, const wxString& caption)
{
wxFontData data;
if ( fontInit.Ok() )
wxFont fontRet;
wxFontDialog dialog(parent, data);
+ if (!caption.IsEmpty())
+ dialog.SetTitle(caption);
if ( dialog.ShowModal() == wxID_OK )
{
fontRet = dialog.GetFontData().GetChosenFont();