diff options
Diffstat (limited to 'qutebrowser/mainwindow/prompt.py')
-rw-r--r-- | qutebrowser/mainwindow/prompt.py | 50 |
1 files changed, 21 insertions, 29 deletions
diff --git a/qutebrowser/mainwindow/prompt.py b/qutebrowser/mainwindow/prompt.py index c5acaabda..c1ad82990 100644 --- a/qutebrowser/mainwindow/prompt.py +++ b/qutebrowser/mainwindow/prompt.py @@ -26,11 +26,12 @@ import functools import dataclasses from typing import Deque, MutableSequence, Optional, cast -from PyQt5.QtCore import (pyqtSlot, pyqtSignal, Qt, QTimer, QDir, QModelIndex, +from qutebrowser.qt.core import (pyqtSlot, pyqtSignal, Qt, QTimer, QDir, QModelIndex, QItemSelectionModel, QObject, QEventLoop) -from PyQt5.QtWidgets import (QWidget, QGridLayout, QVBoxLayout, QLineEdit, - QLabel, QFileSystemModel, QTreeView, QSizePolicy, +from qutebrowser.qt.widgets import (QWidget, QGridLayout, QVBoxLayout, QLineEdit, + QLabel, QTreeView, QSizePolicy, QSpacerItem) +from qutebrowser.qt.gui import QFileSystemModel from qutebrowser.browser import downloads from qutebrowser.config import config, configtypes, configexc, stylesheet @@ -130,20 +131,12 @@ class PromptQueue(QObject): """Cancel all blocking questions. Quits and removes all running event loops. - - Return: - True if loops needed to be aborted, - False otherwise. """ - log.prompt.debug("Shutting down with loops {}".format(self._loops)) + log.prompt.debug(f"Shutting down with loops {self._loops}") self._shutting_down = True - if self._loops: - for loop in self._loops: - loop.quit() - loop.deleteLater() - return True - else: - return False + for loop in self._loops: + loop.quit() + loop.deleteLater() @pyqtSlot(usertypes.Question, bool) def ask_question(self, question, blocking): @@ -195,9 +188,8 @@ class PromptQueue(QObject): question.completed.connect(loop.quit) question.completed.connect(loop.deleteLater) log.prompt.debug("Starting loop.exec() for {}".format(question)) - flags = cast(QEventLoop.ProcessEventsFlags, - QEventLoop.ExcludeSocketNotifiers) - loop.exec(flags) + flags = QEventLoop.ProcessEventsFlag.ExcludeSocketNotifiers + loop.exec(flags) # type: ignore[arg-type] log.prompt.debug("Ending loop.exec() for {}".format(question)) log.prompt.debug("Restoring old question {}".format(old_question)) @@ -293,7 +285,7 @@ class PromptContainer(QWidget): self._prompt: Optional[_BasePrompt] = None self.setObjectName('PromptContainer') - self.setAttribute(Qt.WA_StyledBackground, True) + self.setAttribute(Qt.WidgetAttribute.WA_StyledBackground, True) stylesheet.set_register(self) message.global_bridge.prompt_done.connect(self._on_prompt_done) @@ -504,11 +496,11 @@ class LineEdit(QLineEdit): background-color: transparent; } """) - self.setAttribute(Qt.WA_MacShowFocusRect, False) + self.setAttribute(Qt.WidgetAttribute.WA_MacShowFocusRect, False) def keyPressEvent(self, e): """Override keyPressEvent to paste primary selection on Shift + Ins.""" - if e.key() == Qt.Key_Insert and e.modifiers() == Qt.ShiftModifier: + if e.key() == Qt.Key.Key_Insert and e.modifiers() == Qt.KeyboardModifier.ShiftModifier: try: text = utils.get_clipboard(selection=True, fallback=True) except utils.ClipboardError: # pragma: no cover @@ -549,7 +541,7 @@ class _BasePrompt(QWidget): # Not doing any HTML escaping here as the text can be formatted text_label = QLabel(question.text) text_label.setWordWrap(True) - text_label.setTextInteractionFlags(Qt.TextSelectableByMouse) + text_label.setTextInteractionFlags(Qt.TextInteractionFlag.TextSelectableByMouse) self._vbox.addWidget(text_label) def _init_key_label(self): @@ -584,7 +576,7 @@ class _BasePrompt(QWidget): self._key_grid.addWidget(key_label, i, 0) self._key_grid.addWidget(text_label, i, 1) - spacer = QSpacerItem(0, 0, QSizePolicy.Expanding) + spacer = QSpacerItem(0, 0, QSizePolicy.Policy.Expanding) self._key_grid.addItem(spacer, 0, 2) self._vbox.addLayout(self._key_grid) @@ -666,7 +658,7 @@ class FilenamePrompt(_BasePrompt): self._set_fileview_root(question.default) if config.val.prompt.filebrowser: - self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) + self.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred) self._to_complete = '' self._root_index = QModelIndex() @@ -821,8 +813,8 @@ class FilenamePrompt(_BasePrompt): selmodel.setCurrentIndex( idx, - QItemSelectionModel.ClearAndSelect | - QItemSelectionModel.Rows) + QItemSelectionModel.SelectionFlag.ClearAndSelect | + QItemSelectionModel.SelectionFlag.Rows) self._insert_path(idx, clicked=False) def _do_completion(self, idx, which): @@ -845,7 +837,7 @@ class DownloadFilenamePrompt(FilenamePrompt): def __init__(self, question, parent=None): super().__init__(question, parent) self._file_model.setFilter( - QDir.AllDirs | QDir.Drives | QDir.NoDotAndDotDot) + QDir.Filter.AllDirs | QDir.Filter.Drives | QDir.Filter.NoDotAndDotDot) def accept(self, value=None, save=False): done = super().accept(value, save) @@ -890,7 +882,7 @@ class AuthenticationPrompt(_BasePrompt): password_label = QLabel("Password:", self) self._password_lineedit = LineEdit(self) - self._password_lineedit.setEchoMode(QLineEdit.Password) + self._password_lineedit.setEchoMode(QLineEdit.EchoMode.Password) grid = QGridLayout() grid.addWidget(user_label, 1, 0) @@ -1025,4 +1017,4 @@ def init(): global prompt_queue prompt_queue = PromptQueue() message.global_bridge.ask_question.connect( # type: ignore[call-arg] - prompt_queue.ask_question, Qt.DirectConnection) + prompt_queue.ask_question, Qt.ConnectionType.DirectConnection) |