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 |