summaryrefslogtreecommitdiff
path: root/qutebrowser/mainwindow/prompt.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/mainwindow/prompt.py')
-rw-r--r--qutebrowser/mainwindow/prompt.py50
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)