Add command to clear messages - cleaner

This commit is contained in:
pkill9 2017-03-07 16:40:05 +00:00
parent 74be2fa4b9
commit d3b16bbd07
4 changed files with 9 additions and 4 deletions

View File

@ -185,8 +185,6 @@ class MainWindow(QWidget):
self._keyhint = keyhintwidget.KeyHintView(self.win_id, self)
self._add_overlay(self._keyhint, self._keyhint.update_geometry)
self._messageview = messageview.MessageView(parent=self)
objreg.register('messageview', self._messageview,
scope='window', window=self.win_id)
self._add_overlay(self._messageview, self._messageview.update_geometry)
self._prompt_container = prompt.PromptContainer(self.win_id, self)
@ -440,6 +438,8 @@ class MainWindow(QWidget):
message.global_bridge.show_message.connect(
self._messageview.show_message)
message.global_bridge.flush()
message.global_bridge.clear_messages.connect(
self._messageview.clear_messages)
message_bridge.s_set_text.connect(status.set_text)
message_bridge.s_maybe_reset_text.connect(status.txt.maybe_reset_text)

View File

@ -25,7 +25,6 @@ from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QSizePolicy
from qutebrowser.config import config, style
from qutebrowser.utils import usertypes, objreg
from qutebrowser.commands import cmdutils
class Message(QLabel):
@ -102,7 +101,6 @@ class MessageView(QWidget):
self._clear_timer.setInterval(config.get('ui', 'message-timeout'))
@pyqtSlot()
@cmdutils.register(instance='messageview', scope="window", hide=True)
def clear_messages(self):
"""Hide and delete all messages."""
for widget in self._messages:

View File

@ -137,6 +137,12 @@ def message_warning(text):
message.warning(text)
@cmdutils.register(hide=True)
def clear_messages():
"""Clear all message notifications."""
message.global_bridge.clear_messages.emit()
@cmdutils.register(debug=True)
@cmdutils.argument('typ', choices=['exception', 'segfault'])
def debug_crash(typ='exception'):

View File

@ -194,6 +194,7 @@ class GlobalMessageBridge(QObject):
prompt_done = pyqtSignal(usertypes.KeyMode)
ask_question = pyqtSignal(usertypes.Question, bool)
mode_left = pyqtSignal(usertypes.KeyMode)
clear_messages = pyqtSignal()
def __init__(self, parent=None):
super().__init__(parent)