WebBrowser/Download/DownloadItem.py

branch
maintenance
changeset 5576
c866ec38662d
parent 5529
cf8c8ad72166
parent 5530
93f95c4b3153
child 5752
1860eca908e4
diff -r e6c917c0cb97 -r c866ec38662d WebBrowser/Download/DownloadItem.py
--- a/WebBrowser/Download/DownloadItem.py	Sun Feb 26 15:54:49 2017 +0100
+++ b/WebBrowser/Download/DownloadItem.py	Fri Mar 03 18:34:21 2017 +0100
@@ -110,12 +110,17 @@
         # reset info
         self.infoLabel.clear()
         self.progressBar.setValue(0)
-        self.__getFileName()
-        if not self.__fileName:
-            self.__downloadItem.cancel()
+        if self.__downloadItem.state() == \
+           QWebEngineDownloadItem.DownloadRequested:
+            self.__getFileName()
+            if not self.__fileName:
+                self.__downloadItem.cancel()
+            else:
+                self.__downloadItem.setPath(self.__fileName)
+                self.__downloadItem.accept()
         else:
-            self.__downloadItem.setPath(self.__fileName)
-            self.__downloadItem.accept()
+            fileName = self.__downloadItem.path()
+            self.__setFileName(fileName)
     
     def __getFileName(self):
         """
@@ -124,7 +129,10 @@
         if self.__gettingFileName:
             return
         
-        if qVersion() >= "5.7.0":
+        if qVersion() >= "5.8.0":
+            savePage = self.__downloadItem.type() == \
+                QWebEngineDownloadItem.SavePage
+        elif qVersion() >= "5.7.0":
             savePage = self.__downloadItem.savePageFormat() != \
                 QWebEngineDownloadItem.UnknownSaveFormat
         else:
@@ -196,6 +204,7 @@
                     "")
                 self.__gettingFileName = False
         else:
+            # save page file name and format selection for Qt < 5.8.0
             self.__autoOpen = False
             
             filterList = [
@@ -248,6 +257,15 @@
             self.__canceledFileSelect = True
             return
         
+        self.__setFileName(fileName)
+    
+    def __setFileName(self, fileName):
+        """
+        Private method to set the file name to save the download into.
+        
+        @param fileName name of the file to save into
+        @type str
+        """
         fileInfo = QFileInfo(fileName)
         WebBrowserWindow.downloadManager()\
             .setDownloadDirectory(fileInfo.absoluteDir().absolutePath())

eric ide

mercurial