Helpviewer/DownloadDialog.py

changeset 278
c93823b96faa
parent 256
04083f42042d
child 303
17906f47712a
equal deleted inserted replaced
276:4a7e25ee406c 278:c93823b96faa
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):

eric ide

mercurial