Sun, 03 Oct 2010 18:11:13 +0200
Fixed an issue in the web browser.
Helpviewer/DownloadDialog.py | file | annotate | diff | comparison | revisions | |
Helpviewer/HelpBrowserWV.py | file | annotate | diff | comparison | revisions |
--- a/Helpviewer/DownloadDialog.py Sun Oct 03 11:31:50 2010 +0200 +++ b/Helpviewer/DownloadDialog.py Sun Oct 03 18:11:13 2010 +0200 @@ -67,6 +67,7 @@ self.__bytesReceived = 0 self.__downloadTime = QTime() self.__output = QFile() + self.__initialized = False def initialize(self): """ @@ -81,6 +82,9 @@ self.__downloadFinished = False self.__url = self.__reply.url() + if not self.__getFileName(): + return False + self.__reply.setParent(self) self.connect(self.__reply, SIGNAL("readyRead()"), self.__readyRead) self.connect(self.__reply, SIGNAL("error(QNetworkReply::NetworkError)"), @@ -94,12 +98,12 @@ # reset info self.infoLabel.clear() self.progressBar.setValue(0) - if not self.__getFileName(): - return False # start timer for the download estimation self.__downloadTime.start() + self.__initialized = True + if self.__reply.error() != QNetworkReply.NoError: self.__networkError() self.__finished() @@ -423,17 +427,18 @@ """ Protected method called when the dialog is closed. """ - self.__output.close() - - self.disconnect(self.__reply, SIGNAL("readyRead()"), self.__readyRead) - self.disconnect(self.__reply, SIGNAL("error(QNetworkReply::NetworkError)"), - self.__networkError) - self.disconnect(self.__reply, SIGNAL("downloadProgress(qint64, qint64)"), - self.__downloadProgress) - self.disconnect(self.__reply, SIGNAL("metaDataChanged()"), - self.__metaDataChanged) - self.disconnect(self.__reply, SIGNAL("finished()"), self.__finished) - self.__reply.close() - self.__reply.deleteLater() - - self.done.emit() + if self.__initialized: + self.__output.close() + + self.disconnect(self.__reply, SIGNAL("readyRead()"), self.__readyRead) + self.disconnect(self.__reply, SIGNAL("error(QNetworkReply::NetworkError)"), + self.__networkError) + self.disconnect(self.__reply, SIGNAL("downloadProgress(qint64, qint64)"), + self.__downloadProgress) + self.disconnect(self.__reply, SIGNAL("metaDataChanged()"), + self.__metaDataChanged) + self.disconnect(self.__reply, SIGNAL("finished()"), self.__finished) + self.__reply.close() + self.__reply.deleteLater() + + self.done.emit()
--- a/Helpviewer/HelpBrowserWV.py Sun Oct 03 11:31:50 2010 +0200 +++ b/Helpviewer/HelpBrowserWV.py Sun Oct 03 18:11:13 2010 +0200 @@ -210,6 +210,10 @@ try: if extension == QWebPage.ErrorPageExtension: info = sip.cast(option, QWebPage.ErrorPageExtensionOption) + if info.error == 102: + # this is something of a hack; hopefully it will work in the future + return False + errorPage = sip.cast(output, QWebPage.ErrorPageExtensionReturn) urlString = bytes(info.url.toEncoded()).decode() html = notFoundPage_html @@ -938,7 +942,6 @@ self.connect(dlg, SIGNAL("done()"), self.__downloadDone) self.__downloadWindows.append(dlg) dlg.show() - self.setUrl(self.url()) else: replyUrl = reply.url() if replyUrl.isEmpty():