WebBrowser/Download/DownloadItem.py

branch
maintenance
changeset 5576
c866ec38662d
parent 5529
cf8c8ad72166
parent 5530
93f95c4b3153
child 5752
1860eca908e4
equal deleted inserted replaced
5566:e6c917c0cb97 5576:c866ec38662d
108 self.__downloadItem.finished.connect(self.__finished) 108 self.__downloadItem.finished.connect(self.__finished)
109 109
110 # reset info 110 # reset info
111 self.infoLabel.clear() 111 self.infoLabel.clear()
112 self.progressBar.setValue(0) 112 self.progressBar.setValue(0)
113 self.__getFileName() 113 if self.__downloadItem.state() == \
114 if not self.__fileName: 114 QWebEngineDownloadItem.DownloadRequested:
115 self.__downloadItem.cancel() 115 self.__getFileName()
116 else: 116 if not self.__fileName:
117 self.__downloadItem.setPath(self.__fileName) 117 self.__downloadItem.cancel()
118 self.__downloadItem.accept() 118 else:
119 self.__downloadItem.setPath(self.__fileName)
120 self.__downloadItem.accept()
121 else:
122 fileName = self.__downloadItem.path()
123 self.__setFileName(fileName)
119 124
120 def __getFileName(self): 125 def __getFileName(self):
121 """ 126 """
122 Private method to get the file name to save to from the user. 127 Private method to get the file name to save to from the user.
123 """ 128 """
124 if self.__gettingFileName: 129 if self.__gettingFileName:
125 return 130 return
126 131
127 if qVersion() >= "5.7.0": 132 if qVersion() >= "5.8.0":
133 savePage = self.__downloadItem.type() == \
134 QWebEngineDownloadItem.SavePage
135 elif qVersion() >= "5.7.0":
128 savePage = self.__downloadItem.savePageFormat() != \ 136 savePage = self.__downloadItem.savePageFormat() != \
129 QWebEngineDownloadItem.UnknownSaveFormat 137 QWebEngineDownloadItem.UnknownSaveFormat
130 else: 138 else:
131 savePage = self.__downloadItem.path().lower().endswith( 139 savePage = self.__downloadItem.path().lower().endswith(
132 (".mhtml", ".mht")) 140 (".mhtml", ".mht"))
194 self.tr("Save File"), 202 self.tr("Save File"),
195 defaultFileName, 203 defaultFileName,
196 "") 204 "")
197 self.__gettingFileName = False 205 self.__gettingFileName = False
198 else: 206 else:
207 # save page file name and format selection for Qt < 5.8.0
199 self.__autoOpen = False 208 self.__autoOpen = False
200 209
201 filterList = [ 210 filterList = [
202 self.tr("Web Archive (*.mhtml *.mht)"), 211 self.tr("Web Archive (*.mhtml *.mht)"),
203 self.tr("HTML File (*.html *.htm)"), 212 self.tr("HTML File (*.html *.htm)"),
246 self.tr("Download canceled: {0}") 255 self.tr("Download canceled: {0}")
247 .format(QFileInfo(defaultFileName).fileName())) 256 .format(QFileInfo(defaultFileName).fileName()))
248 self.__canceledFileSelect = True 257 self.__canceledFileSelect = True
249 return 258 return
250 259
260 self.__setFileName(fileName)
261
262 def __setFileName(self, fileName):
263 """
264 Private method to set the file name to save the download into.
265
266 @param fileName name of the file to save into
267 @type str
268 """
251 fileInfo = QFileInfo(fileName) 269 fileInfo = QFileInfo(fileName)
252 WebBrowserWindow.downloadManager()\ 270 WebBrowserWindow.downloadManager()\
253 .setDownloadDirectory(fileInfo.absoluteDir().absolutePath()) 271 .setDownloadDirectory(fileInfo.absoluteDir().absolutePath())
254 self.filenameLabel.setText(fileInfo.fileName()) 272 self.filenameLabel.setText(fileInfo.fileName())
255 273

eric ide

mercurial