Helpviewer/DownloadDialog.py

branch
5_0_x
changeset 652
ea67a963d7f6
parent 315
e44ee3cb994a
child 792
a13346916170
--- 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()

eric ide

mercurial