Helpviewer/DownloadDialog.py

changeset 653
0540f3c52b46
parent 564
b3d966393ba9
diff -r e8020b9ac2b9 -r 0540f3c52b46 Helpviewer/DownloadDialog.py
--- a/Helpviewer/DownloadDialog.py	Sun Oct 03 11:29:27 2010 +0200
+++ b/Helpviewer/DownloadDialog.py	Sun Oct 03 18:39:11 2010 +0200
@@ -69,6 +69,7 @@
         self.__bytesReceived = 0
         self.__downloadTime = QTime()
         self.__output = QFile()
+        self.__initialized = False
     
     def initialize(self):
         """
@@ -83,6 +84,9 @@
         self.__downloadFinished = False
         
         self.__url = self.__reply.url()
+        if not self.__getFileName():
+            return False
+        
         self.__reply.setParent(self)
         self.__reply.readyRead[()].connect(self.__readyRead)
         self.__reply.error.connect(self.__networkError)
@@ -93,12 +97,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()
@@ -422,14 +426,15 @@
         """
         Protected method called when the dialog is closed.
         """
-        self.__output.close()
-        
-        self.__reply.readyRead[()].disconnect(self.__readyRead)
-        self.__reply.error[QNetworkReply.NetworkError].disconnect(self.__networkError)
-        self.__reply.downloadProgress[int, int].disconnect(self.__downloadProgress)
-        self.__reply.metaDataChanged[()].disconnect(self.__metaDataChanged)
-        self.__reply.finished[()].disconnect(self.__finished)
-        self.__reply.close()
-        self.__reply.deleteLater()
-        
-        self.done.emit()
\ No newline at end of file
+        if self.__initialized:
+            self.__output.close()
+            
+            self.__reply.readyRead[()].disconnect(self.__readyRead)
+            self.__reply.error[QNetworkReply.NetworkError].disconnect(self.__networkError)
+            self.__reply.downloadProgress.disconnect(self.__downloadProgress)
+            self.__reply.metaDataChanged[()].disconnect(self.__metaDataChanged)
+            self.__reply.finished[()].disconnect(self.__finished)
+            self.__reply.close()
+            self.__reply.deleteLater()
+            
+            self.done.emit()

eric ide

mercurial