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