diff -r 35c614c84e23 -r 49b238881de5 Helpviewer/HelpBrowserWV.py --- a/Helpviewer/HelpBrowserWV.py Sun Dec 12 17:22:55 2010 +0100 +++ b/Helpviewer/HelpBrowserWV.py Sun Dec 19 13:17:35 2010 +0100 @@ -164,6 +164,11 @@ self.__lastRequest = request self.__lastRequestType = type_ + scheme = request.url().scheme() + if scheme in ["mailto", "ftp"]: + QDesktopServices.openUrl(request.url()) + return False + return QWebPage.acceptNavigationRequest(self, frame, request, type_) def populateNetworkRequest(self, request): @@ -441,10 +446,9 @@ """ for URL <b>{0}</b>.</p>""").format(name.toString())) return elif name.scheme() == "javascript": - scriptSource = name.toString()[11:] - res = self.page().mainFrame().evaluateJavaScript(scriptSource) - if res: - self.setHtml(res) + scriptSource = QUrl.fromPercentEncoding(name.toString( + QUrl.FormattingOptions(QUrl.TolerantMode | QUrl.RemoveScheme))) + self.page().mainFrame().evaluateJavaScript(scriptSource) return else: if name.toString().endswith(".pdf") or \