24 import Preferences |
24 import Preferences |
25 |
25 |
26 class DownloadItem(QWidget, Ui_DownloadItem): |
26 class DownloadItem(QWidget, Ui_DownloadItem): |
27 """ |
27 """ |
28 Class implementing a widget controlling a download. |
28 Class implementing a widget controlling a download. |
|
29 |
|
30 @signal statusChanged() emitted upon a status change of a download |
|
31 @signal downloadFinished() emitted when a download finished |
|
32 @signal progress(int, int) emitted to signal the download progress |
29 """ |
33 """ |
30 statusChanged = pyqtSignal() |
34 statusChanged = pyqtSignal() |
|
35 downloadFinished = pyqtSignal() |
31 progress = pyqtSignal(int, int) |
36 progress = pyqtSignal(int, int) |
32 |
37 |
33 def __init__(self, reply = None, requestFilename = False, webPage = None, |
38 def __init__(self, reply = None, requestFilename = False, webPage = None, |
34 download = False, parent = None): |
39 download = False, parent = None): |
35 """ |
40 """ |
294 self.tryAgainButton.setVisible(True) |
299 self.tryAgainButton.setVisible(True) |
295 self.openButton.setEnabled(False) |
300 self.openButton.setEnabled(False) |
296 self.openButton.setVisible(False) |
301 self.openButton.setVisible(False) |
297 self.setUpdatesEnabled(True) |
302 self.setUpdatesEnabled(True) |
298 self.__reply.abort() |
303 self.__reply.abort() |
|
304 self.downloadFinished.emit() |
299 |
305 |
300 @pyqtSlot() |
306 @pyqtSlot() |
301 def on_openButton_clicked(self): |
307 def on_openButton_clicked(self): |
302 """ |
308 """ |
303 Private slot to open the downloaded file. |
309 Private slot to open the downloaded file. |
355 """ |
361 """ |
356 self.infoLabel.setText(self.trUtf8("Network Error: {0}")\ |
362 self.infoLabel.setText(self.trUtf8("Network Error: {0}")\ |
357 .format(self.__reply.errorString())) |
363 .format(self.__reply.errorString())) |
358 self.tryAgainButton.setEnabled(True) |
364 self.tryAgainButton.setEnabled(True) |
359 self.tryAgainButton.setVisible(True) |
365 self.tryAgainButton.setVisible(True) |
|
366 self.downloadFinished.emit() |
360 |
367 |
361 def __metaDataChanged(self): |
368 def __metaDataChanged(self): |
362 """ |
369 """ |
363 Private slot to handle a change of the meta data. |
370 Private slot to handle a change of the meta data. |
364 """ |
371 """ |
517 self.openButton.setEnabled(noError) |
524 self.openButton.setEnabled(noError) |
518 self.openButton.setVisible(noError) |
525 self.openButton.setVisible(noError) |
519 self.__output.close() |
526 self.__output.close() |
520 self.__updateInfoLabel() |
527 self.__updateInfoLabel() |
521 self.statusChanged.emit() |
528 self.statusChanged.emit() |
|
529 self.downloadFinished.emit() |
522 |
530 |
523 if self.__autoOpen: |
531 if self.__autoOpen: |
524 self.__open() |
532 self.__open() |
525 |
533 |
526 def canceledFileSelect(self): |
534 def canceledFileSelect(self): |