X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..6f7c5199ed9bc29507d426b13db9346bf1860005:/src/generic/helpext.cpp diff --git a/src/generic/helpext.cpp b/src/generic/helpext.cpp index 8f6276fb25..f6e3add7b5 100644 --- a/src/generic/helpext.cpp +++ b/src/generic/helpext.cpp @@ -46,6 +46,11 @@ IMPLEMENT_CLASS(wxExtHelpController, wxHTMLHelpControllerBase) +/// Name of environment variable to set help browser. +#define WXEXTHELP_ENVVAR_BROWSER wxT("WX_HELPBROWSER") +/// Is browser a netscape browser? +#define WXEXTHELP_ENVVAR_BROWSERISNETSCAPE wxT("WX_HELPBROWSER_NS") + /** This class implements help via an external browser. It requires the name of a directory containing the documentation @@ -57,18 +62,17 @@ wxExtHelpController::wxExtHelpController(void) m_BrowserName = WXEXTHELP_DEFAULTBROWSER; m_BrowserIsNetscape = WXEXTHELP_DEFAULTBROWSER_IS_NETSCAPE; - char *browser = getenv(WXEXTHELP_ENVVAR_BROWSER); + wxChar *browser = wxGetenv(WXEXTHELP_ENVVAR_BROWSER); if(browser) { m_BrowserName = browser; - browser = getenv(WXEXTHELP_ENVVAR_BROWSERISNETSCAPE); - m_BrowserIsNetscape = browser && (atoi(browser) != 0); + browser = wxGetenv(WXEXTHELP_ENVVAR_BROWSERISNETSCAPE); + m_BrowserIsNetscape = browser && (wxAtoi(browser) != 0); } } -void -wxExtHelpController::SetBrowser(wxString const & browsername, bool isNetscape) +void wxExtHelpController::SetBrowser(wxString const & browsername, bool isNetscape) { m_BrowserName = browsername; m_BrowserIsNetscape = isNetscape; @@ -98,7 +102,9 @@ wxExtHelpController::DisplayHelp(const wxString &relativeURL) } else return true; + #elif defined(__WXPM__) + wxString url; url << m_MapFile << '\\' << relativeURL.BeforeFirst('#'); // will have to fix for OS/2, later.....DW @@ -111,10 +117,19 @@ wxExtHelpController::DisplayHelp(const wxString &relativeURL) // } // else return TRUE; -#else - // assume UNIX + +#elif defined(__DOS__) + wxString command; + command = m_BrowserName; + command << wxT(" file://") + << m_MapFile << WXEXTHELP_SEPARATOR << relativeURL; + return wxExecute(command) != 0; +#else // UNIX + wxString command; + +#ifndef __EMX__ if(m_BrowserIsNetscape) // try re-loading first { wxString lockfile; @@ -130,7 +145,7 @@ wxExtHelpController::DisplayHelp(const wxString &relativeURL) // cannot use wxFileExists, because it's a link pointing to a // non-existing location if(wxFileExists(lockfile)) #endif - { + { long success; command << m_BrowserName << wxT(" -remote openURL(") << wxT("file://") << m_MapFile @@ -140,6 +155,7 @@ wxExtHelpController::DisplayHelp(const wxString &relativeURL) return TRUE; } } +#endif command = m_BrowserName; command << wxT(" file://") << m_MapFile << WXEXTHELP_SEPARATOR << relativeURL;