120 if downloadDirectory: |
120 if downloadDirectory: |
121 downloadDirectory += '/' |
121 downloadDirectory += '/' |
122 |
122 |
123 defaultFileName = self.__saveFileName(downloadDirectory) |
123 defaultFileName = self.__saveFileName(downloadDirectory) |
124 fileName = defaultFileName |
124 fileName = defaultFileName |
125 baseName = QFileInfo(fileName).completeBaseName() |
|
126 self.__autoOpen = False |
125 self.__autoOpen = False |
127 if not self.__toDownload: |
126 if not self.__toDownload: |
128 res = QMessageBox.question(None, |
127 res = QMessageBox.question(None, |
129 self.trUtf8("Downloading"), |
128 self.trUtf8("Downloading"), |
130 self.trUtf8("""<p>You are about to download the file <b>{0}</b>.</p>""" |
129 self.trUtf8("""<p>You are about to download the file <b>{0}</b>.</p>""" |
131 """<p>What do you want to do?</p>""").format(baseName), |
130 """<p>What do you want to do?</p>""").format(fileName), |
132 QMessageBox.StandardButtons(\ |
131 QMessageBox.StandardButtons(\ |
133 QMessageBox.Open | \ |
132 QMessageBox.Open | \ |
134 QMessageBox.Save | \ |
133 QMessageBox.Save | \ |
135 QMessageBox.Cancel)) |
134 QMessageBox.Cancel)) |
136 if res == QMessageBox.Cancel: |
135 if res == QMessageBox.Cancel: |
138 self.close() |
137 self.close() |
139 return False |
138 return False |
140 |
139 |
141 self.__autoOpen = res == QMessageBox.Open |
140 self.__autoOpen = res == QMessageBox.Open |
142 fileName = QDesktopServices.storageLocation(QDesktopServices.TempLocation) + \ |
141 fileName = QDesktopServices.storageLocation(QDesktopServices.TempLocation) + \ |
143 '/' + baseName |
142 '/' + fileName |
144 |
143 |
145 if not self.__autoOpen and self.__requestFilename: |
144 if not self.__autoOpen and self.__requestFilename: |
146 fileName = QFileDialog.getSaveFileName( |
145 fileName = QFileDialog.getSaveFileName( |
147 None, |
146 None, |
148 self.trUtf8("Save File"), |
147 self.trUtf8("Save File"), |
315 @param received number of bytes received (integer) |
314 @param received number of bytes received (integer) |
316 @param total number of total bytes (integer) |
315 @param total number of total bytes (integer) |
317 """ |
316 """ |
318 self.__bytesReceived = received |
317 self.__bytesReceived = received |
319 if total == -1: |
318 if total == -1: |
|
319 self.progressBar.setMaximum(0) |
320 self.progressBar.setValue(0) |
320 self.progressBar.setValue(0) |
321 self.progressBar.setMaximum(0) |
|
322 self.setWindowTitle(self.__windowTitleTemplate.format("")) |
321 self.setWindowTitle(self.__windowTitleTemplate.format("")) |
323 else: |
322 else: |
|
323 self.progressBar.setMaximum(total) |
324 self.progressBar.setValue(received) |
324 self.progressBar.setValue(received) |
325 self.progressBar.setMaximum(total) |
|
326 pc = "{0}%".format(received * 100 // total) |
325 pc = "{0}%".format(received * 100 // total) |
327 self.setWindowTitle(self.__windowTitleTemplate.format(pc)) |
326 self.setWindowTitle(self.__windowTitleTemplate.format(pc)) |
328 self.__updateInfoLabel() |
327 self.__updateInfoLabel() |
329 |
328 |
330 def __updateInfoLabel(self): |
329 def __updateInfoLabel(self): |