WebBrowser/Download/DownloadItem.py

changeset 6085
7e48a0d98cce
parent 6048
82ad8ec9548c
child 6090
5cdb7ea57551
diff -r c6f3f66bf7aa -r 7e48a0d98cce WebBrowser/Download/DownloadItem.py
--- a/WebBrowser/Download/DownloadItem.py	Wed Jan 24 12:37:53 2018 +0100
+++ b/WebBrowser/Download/DownloadItem.py	Wed Jan 24 18:45:50 2018 +0100
@@ -64,10 +64,15 @@
         
         self.progressBar.setMaximum(0)
         
+        self.pauseButton.setIcon(UI.PixmapCache.getIcon("pause.png"))
         self.stopButton.setIcon(UI.PixmapCache.getIcon("stopLoading.png"))
         self.openButton.setIcon(UI.PixmapCache.getIcon("open.png"))
         self.openButton.setEnabled(False)
         self.openButton.setVisible(False)
+        if not hasattr(QWebEngineDownloadItem, "pause"):
+            # pause/resume was defined in Qt 5.10.0 / PyQt 5.10.0
+            self.pauseButton.setEnabled(False)
+            self.pauseButton.setVisible(False)
         
         self.__state = DownloadItem.Downloading
         
@@ -322,6 +327,19 @@
         url = QUrl.fromLocalFile(info.absoluteFilePath())
         QDesktopServices.openUrl(url)
     
+    @pyqtSlot(bool)
+    def on_pauseButton_clicked(self, checked):
+        """
+        Private slot to pause the download.
+        
+        @param checked flag indicating the state of the button
+        @type bool
+        """
+        if checked:
+            self.__downloadItem.pause()
+        else:
+            self.__downloadItem.resume()
+    
     @pyqtSlot()
     def on_stopButton_clicked(self):
         """
@@ -338,6 +356,8 @@
         self.stopButton.setVisible(False)
         self.openButton.setEnabled(False)
         self.openButton.setVisible(False)
+        self.pauseButton.setEnabled(False)
+        self.pauseButton.setVisible(False)
         self.setUpdatesEnabled(True)
         self.__state = DownloadItem.DownloadCancelled
         self.__downloadItem.cancel()
@@ -508,6 +528,8 @@
                    QWebEngineDownloadItem.DownloadCompleted)
         
         self.progressBar.setVisible(False)
+        self.pauseButton.setEnabled(False)
+        self.pauseButton.setVisible(False)
         self.stopButton.setEnabled(False)
         self.stopButton.setVisible(False)
         self.openButton.setEnabled(noError)
@@ -590,6 +612,8 @@
         else:
             self.__setDateTime(QDateTime())
         
+        self.pauseButton.setEnabled(False)
+        self.pauseButton.setVisible(False)
         self.stopButton.setEnabled(False)
         self.stopButton.setVisible(False)
         self.openButton.setEnabled(data[2])

eric ide

mercurial