Add answer as argument to question's answered signal.
This commit is contained in:
parent
a5f71a286d
commit
5a2e6ba99a
@ -103,7 +103,7 @@ def question(message, mode, handler, cancelled_handler=None, default=None):
|
||||
q.text = message
|
||||
q.mode = mode
|
||||
q.default = default
|
||||
q.answered.connect(lambda: handler(q.answer))
|
||||
q.answered.connect(handler)
|
||||
if cancelled_handler is not None:
|
||||
q.cancelled.connect(cancelled_handler)
|
||||
instance().question.emit(q, True)
|
||||
|
@ -255,6 +255,7 @@ class Question(QObject):
|
||||
answered: Emitted when the question has been answered by the user.
|
||||
This is emitted from qutebrowser.widgets.statusbar._prompt so
|
||||
it can be emitted after the mode is left.
|
||||
arg: The answer to the question.
|
||||
cancelled: Emitted when the question has been cancelled by the user.
|
||||
answered_yes: Convienience signal emitted when a yesno question was
|
||||
answered with yes.
|
||||
@ -262,7 +263,7 @@ class Question(QObject):
|
||||
answered with no.
|
||||
"""
|
||||
|
||||
answered = pyqtSignal()
|
||||
answered = pyqtSignal(str)
|
||||
cancelled = pyqtSignal()
|
||||
answered_yes = pyqtSignal()
|
||||
answered_no = pyqtSignal()
|
||||
|
@ -93,22 +93,22 @@ class Prompt(QWidget):
|
||||
self.question.answer = (self.question.user, password)
|
||||
modeman.leave('prompt', 'prompt accept')
|
||||
self.hide_prompt.emit()
|
||||
self.question.answered.emit()
|
||||
self.question.answered.emit(self.question.answer)
|
||||
elif self.question.mode == PromptMode.text:
|
||||
# User just entered text.
|
||||
self.question.answer = self._input.text()
|
||||
modeman.leave('prompt', 'prompt accept')
|
||||
self.question.answered.emit()
|
||||
self.question.answered.emit(self.question.answer)
|
||||
elif self.question.mode == PromptMode.yesno:
|
||||
# User wants to accept the default of a yes/no question.
|
||||
self.question.answer = self.question.default
|
||||
modeman.leave('yesno', 'yesno accept')
|
||||
self.question.answered.emit()
|
||||
self.question.answered.emit(self.question.answer)
|
||||
elif self.question.mode == PromptMode.alert:
|
||||
# User acknowledged an alert
|
||||
self.question.answer = None
|
||||
modeman.leave('prompt', 'alert accept')
|
||||
self.question.answered.emit()
|
||||
self.question.answered.emit(self.question.answer)
|
||||
else:
|
||||
raise ValueError("Invalid question mode!")
|
||||
|
||||
@ -121,7 +121,7 @@ class Prompt(QWidget):
|
||||
return
|
||||
self.question.answer = True
|
||||
modeman.leave('yesno', 'yesno accept')
|
||||
self.question.answered.emit()
|
||||
self.question.answered.emit(self.question.answer)
|
||||
self.question.answered_yes.emit()
|
||||
|
||||
@cmdutils.register(instance='mainwindow.status.prompt', hide=True,
|
||||
@ -133,7 +133,7 @@ class Prompt(QWidget):
|
||||
return
|
||||
self.question.answer = False
|
||||
modeman.leave('yesno', 'prompt accept')
|
||||
self.question.answered.emit()
|
||||
self.question.answered.emit(self.question.answer)
|
||||
self.question.answered_no.emit()
|
||||
|
||||
def display(self):
|
||||
|
Loading…
Reference in New Issue
Block a user