summaryrefslogtreecommitdiff
path: root/qutebrowser/browser/webengine/webenginedownloads.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/browser/webengine/webenginedownloads.py')
-rw-r--r--qutebrowser/browser/webengine/webenginedownloads.py51
1 files changed, 25 insertions, 26 deletions
diff --git a/qutebrowser/browser/webengine/webenginedownloads.py b/qutebrowser/browser/webengine/webenginedownloads.py
index a6a2a1b93..2bae19952 100644
--- a/qutebrowser/browser/webengine/webenginedownloads.py
+++ b/qutebrowser/browser/webengine/webenginedownloads.py
@@ -22,13 +22,12 @@
import re
import os.path
import functools
-
-from PyQt5.QtCore import pyqtSlot, Qt, QUrl, QObject
-from PyQt5.QtWebEngineWidgets import QWebEngineDownloadItem
+from qutebrowser.qt import QtWebEngineWidgets
from qutebrowser.browser import downloads, pdfjs
from qutebrowser.utils import (debug, usertypes, message, log, objreg, urlutils,
utils, version)
+from qutebrowser.qt import QtCore
class DownloadItem(downloads.AbstractDownloadItem):
@@ -39,9 +38,9 @@ class DownloadItem(downloads.AbstractDownloadItem):
_qt_item: The wrapped item.
"""
- def __init__(self, qt_item: QWebEngineDownloadItem,
+ def __init__(self, qt_item: QtWebEngineWidgets.QWebEngineDownloadItem,
manager: downloads.AbstractDownloadManager,
- parent: QObject = None) -> None:
+ parent: QtCore.QObject = None) -> None:
super().__init__(manager=manager, parent=manager)
self._qt_item = qt_item
qt_item.downloadProgress.connect( # type: ignore[attr-defined]
@@ -56,19 +55,19 @@ class DownloadItem(downloads.AbstractDownloadItem):
def _is_page_download(self):
"""Check if this item is a page (i.e. mhtml) download."""
return (self._qt_item.savePageFormat() !=
- QWebEngineDownloadItem.UnknownSaveFormat)
+ QtWebEngineWidgets.QWebEngineDownloadItem.UnknownSaveFormat)
- @pyqtSlot(QWebEngineDownloadItem.DownloadState)
+ @QtCore.pyqtSlot(QtWebEngineWidgets.QWebEngineDownloadItem.DownloadState)
def _on_state_changed(self, state):
- state_name = debug.qenum_key(QWebEngineDownloadItem, state)
+ state_name = debug.qenum_key(QtWebEngineWidgets.QWebEngineDownloadItem, state)
log.downloads.debug("State for {!r} changed to {}".format(
self, state_name))
- if state == QWebEngineDownloadItem.DownloadRequested:
+ if state == QtWebEngineWidgets.QWebEngineDownloadItem.DownloadRequested:
pass
- elif state == QWebEngineDownloadItem.DownloadInProgress:
+ elif state == QtWebEngineWidgets.QWebEngineDownloadItem.DownloadInProgress:
pass
- elif state == QWebEngineDownloadItem.DownloadCompleted:
+ elif state == QtWebEngineWidgets.QWebEngineDownloadItem.DownloadCompleted:
log.downloads.debug("Download {} finished".format(self.basename))
if self._is_page_download():
# Same logging as QtWebKit mhtml downloads.
@@ -77,12 +76,12 @@ class DownloadItem(downloads.AbstractDownloadItem):
self.done = True
self.finished.emit()
self.stats.finish()
- elif state == QWebEngineDownloadItem.DownloadCancelled:
+ elif state == QtWebEngineWidgets.QWebEngineDownloadItem.DownloadCancelled:
self.successful = False
self.done = True
self.cancelled.emit()
self.stats.finish()
- elif state == QWebEngineDownloadItem.DownloadInterrupted:
+ elif state == QtWebEngineWidgets.QWebEngineDownloadItem.DownloadInterrupted:
self.successful = False
reason = self._qt_item.interruptReasonString()
self._die(reason)
@@ -93,22 +92,22 @@ class DownloadItem(downloads.AbstractDownloadItem):
def _do_die(self):
progress_signal = self._qt_item.downloadProgress
progress_signal.disconnect() # type: ignore[attr-defined]
- if self._qt_item.state() != QWebEngineDownloadItem.DownloadInterrupted:
+ if self._qt_item.state() != QtWebEngineWidgets.QWebEngineDownloadItem.DownloadInterrupted:
self._qt_item.cancel()
def _do_cancel(self):
state = self._qt_item.state()
- state_name = debug.qenum_key(QWebEngineDownloadItem, state)
- assert state not in [QWebEngineDownloadItem.DownloadCompleted,
- QWebEngineDownloadItem.DownloadCancelled], state_name
+ state_name = debug.qenum_key(QtWebEngineWidgets.QWebEngineDownloadItem, state)
+ assert state not in [QtWebEngineWidgets.QWebEngineDownloadItem.DownloadCompleted,
+ QtWebEngineWidgets.QWebEngineDownloadItem.DownloadCancelled], state_name
self._qt_item.cancel()
def retry(self):
state = self._qt_item.state()
- if state != QWebEngineDownloadItem.DownloadInterrupted:
+ if state != QtWebEngineWidgets.QWebEngineDownloadItem.DownloadInterrupted:
log.downloads.warning(
"Refusing to retry download in state {}".format(
- debug.qenum_key(QWebEngineDownloadItem, state)))
+ debug.qenum_key(QtWebEngineWidgets.QWebEngineDownloadItem, state)))
return
self._qt_item.resume()
@@ -116,12 +115,12 @@ class DownloadItem(downloads.AbstractDownloadItem):
def _get_open_filename(self):
return self._filename
- def url(self) -> QUrl:
+ def url(self) -> QtCore.QUrl:
return self._qt_item.url()
- def origin(self) -> QUrl:
+ def origin(self) -> QtCore.QUrl:
page = self._qt_item.page()
- return page.url() if page else QUrl()
+ return page.url() if page else QtCore.QUrl()
def _set_fileobj(self, fileobj, *, autoclose=True):
raise downloads.UnsupportedOperationError
@@ -133,8 +132,8 @@ class DownloadItem(downloads.AbstractDownloadItem):
def _ensure_can_set_filename(self, filename):
state = self._qt_item.state()
- if state != QWebEngineDownloadItem.DownloadRequested:
- state_name = debug.qenum_key(QWebEngineDownloadItem, state)
+ if state != QtWebEngineWidgets.QWebEngineDownloadItem.DownloadRequested:
+ state_name = debug.qenum_key(QtWebEngineWidgets.QWebEngineDownloadItem, state)
raise ValueError("Trying to set filename {} on {!r} which is "
"state {} (not in requested state)!".format(
filename, self, state_name))
@@ -247,9 +246,9 @@ class DownloadManager(downloads.AbstractDownloadManager):
def install(self, profile):
"""Set up the download manager on a QWebEngineProfile."""
profile.downloadRequested.connect(self.handle_download,
- Qt.DirectConnection)
+ QtCore.Qt.DirectConnection)
- @pyqtSlot(QWebEngineDownloadItem)
+ @QtCore.pyqtSlot(QtWebEngineWidgets.QWebEngineDownloadItem)
def handle_download(self, qt_item):
"""Start a download coming from a QWebEngineProfile."""
qt_filename = os.path.basename(qt_item.path()) # FIXME use 5.14 API