X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8cf304f81b482d152f0853da44d0511d6aef978c..ef53a8e81460709c871aec9d1693c2f4770592d8:/src/common/utilscmn.cpp diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index c65b29d48a..df728c2228 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -99,6 +99,10 @@ #include // needed for SHELLEXECUTEINFO #endif +#if wxUSE_GUI && defined(__WXGTK__) + #include // for GTK_XXX_VERSION constants +#endif + #if wxUSE_BASE // ---------------------------------------------------------------------------- @@ -1077,6 +1081,20 @@ bool wxLaunchDefaultBrowser(const wxString& urlOrig, int flags) #ifdef __UNIX__ + // Our best best is to use xdg-open from freedesktop.org cross-desktop + // compatibility suite xdg-utils + // (see http://portland.freedesktop.org/wiki/) -- this is installed on + // most modern distributions and may be tweaked by them to handle + // distribution specifics. Only if that fails, try to find the right + // browser ourselves. + wxString path, xdg_open; + if ( wxGetEnv("PATH", &path) && + wxFindFileInPath(&xdg_open, path, "xdg-open") ) + { + if ( wxExecute(xdg_open + " " + url) ) + return true; + } + wxString desktop = wxTheApp->GetTraits()->GetDesktopEnvironment(); // GNOME and KDE desktops have some applications which should be always installed @@ -1133,11 +1151,11 @@ bool wxLaunchDefaultBrowser(const wxString& urlOrig, int flags) return ok; // no file type for HTML extension - wxLogError(_T("No default application configured for HTML files.")); + wxLogError(_("No default application configured for HTML files.")); #endif // !wxUSE_MIMETYPE && !__WXMSW__ - wxLogSysError(_T("Failed to open URL \"%s\" in default browser."), + wxLogSysError(_("Failed to open URL \"%s\" in default browser."), url.c_str()); return false; @@ -1392,7 +1410,10 @@ void wxInfoMessageBox(wxWindow* parent) wxPlatformInfo::Get().GetToolkitMajorVersion(), wxPlatformInfo::Get().GetToolkitMinorVersion(), #ifdef __WXGTK__ - wxString::Format(_T("\nThe compile-time GTK+ version is %d.%d.%d."), GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION).c_str() + wxString::Format("\nThe compile-time GTK+ version is %d.%d.%d.", + GTK_MAJOR_VERSION, + GTK_MINOR_VERSION, + GTK_MICRO_VERSION).c_str() #else wxEmptyString #endif