Helpviewer/DownloadDialog.py

changeset 653
0540f3c52b46
parent 564
b3d966393ba9
equal deleted inserted replaced
651:e8020b9ac2b9 653:0540f3c52b46
67 self.__page = webPage 67 self.__page = webPage
68 self.__toDownload = download 68 self.__toDownload = download
69 self.__bytesReceived = 0 69 self.__bytesReceived = 0
70 self.__downloadTime = QTime() 70 self.__downloadTime = QTime()
71 self.__output = QFile() 71 self.__output = QFile()
72 self.__initialized = False
72 73
73 def initialize(self): 74 def initialize(self):
74 """ 75 """
75 Public method to (re)initialize the dialog. 76 Public method to (re)initialize the dialog.
76 77
81 82
82 self.__startedSaving = False 83 self.__startedSaving = False
83 self.__downloadFinished = False 84 self.__downloadFinished = False
84 85
85 self.__url = self.__reply.url() 86 self.__url = self.__reply.url()
87 if not self.__getFileName():
88 return False
89
86 self.__reply.setParent(self) 90 self.__reply.setParent(self)
87 self.__reply.readyRead[()].connect(self.__readyRead) 91 self.__reply.readyRead[()].connect(self.__readyRead)
88 self.__reply.error.connect(self.__networkError) 92 self.__reply.error.connect(self.__networkError)
89 self.__reply.downloadProgress.connect(self.__downloadProgress) 93 self.__reply.downloadProgress.connect(self.__downloadProgress)
90 self.__reply.metaDataChanged.connect(self.__metaDataChanged) 94 self.__reply.metaDataChanged.connect(self.__metaDataChanged)
91 self.__reply.finished[()].connect(self.__finished) 95 self.__reply.finished[()].connect(self.__finished)
92 96
93 # reset info 97 # reset info
94 self.infoLabel.clear() 98 self.infoLabel.clear()
95 self.progressBar.setValue(0) 99 self.progressBar.setValue(0)
96 if not self.__getFileName():
97 return False
98 100
99 # start timer for the download estimation 101 # start timer for the download estimation
100 self.__downloadTime.start() 102 self.__downloadTime.start()
103
104 self.__initialized = True
101 105
102 if self.__reply.error() != QNetworkReply.NoError: 106 if self.__reply.error() != QNetworkReply.NoError:
103 self.__networkError() 107 self.__networkError()
104 self.__finished() 108 self.__finished()
105 return False 109 return False
420 424
421 def closeEvent(self, evt): 425 def closeEvent(self, evt):
422 """ 426 """
423 Protected method called when the dialog is closed. 427 Protected method called when the dialog is closed.
424 """ 428 """
425 self.__output.close() 429 if self.__initialized:
426 430 self.__output.close()
427 self.__reply.readyRead[()].disconnect(self.__readyRead) 431
428 self.__reply.error[QNetworkReply.NetworkError].disconnect(self.__networkError) 432 self.__reply.readyRead[()].disconnect(self.__readyRead)
429 self.__reply.downloadProgress[int, int].disconnect(self.__downloadProgress) 433 self.__reply.error[QNetworkReply.NetworkError].disconnect(self.__networkError)
430 self.__reply.metaDataChanged[()].disconnect(self.__metaDataChanged) 434 self.__reply.downloadProgress.disconnect(self.__downloadProgress)
431 self.__reply.finished[()].disconnect(self.__finished) 435 self.__reply.metaDataChanged[()].disconnect(self.__metaDataChanged)
432 self.__reply.close() 436 self.__reply.finished[()].disconnect(self.__finished)
433 self.__reply.deleteLater() 437 self.__reply.close()
434 438 self.__reply.deleteLater()
435 self.done.emit() 439
440 self.done.emit()

eric ide

mercurial