Fixed an issue in the web browser. 5_0_x

Sun, 03 Oct 2010 18:11:13 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 03 Oct 2010 18:11:13 +0200
branch
5_0_x
changeset 652
ea67a963d7f6
parent 649
c637bce45821
child 655
dc94820813ca

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():

eric ide

mercurial