parent
8ffc1a3966
commit
fe90b153ed
@ -237,6 +237,10 @@ DATA = collections.OrderedDict([
|
|||||||
('remove-finished-downloads',
|
('remove-finished-downloads',
|
||||||
SettingValue(typ.Bool(), 'false'),
|
SettingValue(typ.Bool(), 'false'),
|
||||||
"Whether to remove finished downloads automatically."),
|
"Whether to remove finished downloads automatically."),
|
||||||
|
|
||||||
|
('hide-statusbar',
|
||||||
|
SettingValue(typ.Bool(), 'false'),
|
||||||
|
"Whether to hide the statusbar unless a message is shown."),
|
||||||
)),
|
)),
|
||||||
|
|
||||||
('network', sect.KeyValue(
|
('network', sect.KeyValue(
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
|
|
||||||
import collections
|
import collections
|
||||||
|
|
||||||
from PyQt5.QtCore import pyqtSignal, pyqtSlot, pyqtProperty, Qt, QTime, QSize
|
from PyQt5.QtCore import (pyqtSignal, pyqtSlot, pyqtProperty, Qt, QTime, QSize,
|
||||||
|
QTimer)
|
||||||
from PyQt5.QtWidgets import QWidget, QHBoxLayout, QStackedLayout, QSizePolicy
|
from PyQt5.QtWidgets import QWidget, QHBoxLayout, QStackedLayout, QSizePolicy
|
||||||
|
|
||||||
from qutebrowser.config import config, style
|
from qutebrowser.config import config, style
|
||||||
@ -179,9 +180,21 @@ class StatusBar(QWidget):
|
|||||||
self.prog = progress.Progress(self)
|
self.prog = progress.Progress(self)
|
||||||
self._hbox.addWidget(self.prog)
|
self._hbox.addWidget(self.prog)
|
||||||
|
|
||||||
|
objreg.get('config').changed.connect(self.maybe_hide)
|
||||||
|
QTimer.singleShot(0, self.maybe_hide)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return utils.get_repr(self)
|
return utils.get_repr(self)
|
||||||
|
|
||||||
|
@config.change_filter('ui', 'hide-statusbar')
|
||||||
|
def maybe_hide(self):
|
||||||
|
"""Hide the statusbar if it's configured to do so."""
|
||||||
|
hide = config.get('ui', 'hide-statusbar')
|
||||||
|
if hide:
|
||||||
|
self.hide()
|
||||||
|
else:
|
||||||
|
self.show()
|
||||||
|
|
||||||
@pyqtProperty(str)
|
@pyqtProperty(str)
|
||||||
def severity(self):
|
def severity(self):
|
||||||
"""Getter for self.severity, so it can be used as Qt property.
|
"""Getter for self.severity, so it can be used as Qt property.
|
||||||
@ -268,10 +281,11 @@ class StatusBar(QWidget):
|
|||||||
elif self._previous_widget == PreviousWidget.command:
|
elif self._previous_widget == PreviousWidget.command:
|
||||||
self._stack.setCurrentWidget(self.command)
|
self._stack.setCurrentWidget(self.command)
|
||||||
elif self._previous_widget == PreviousWidget.none:
|
elif self._previous_widget == PreviousWidget.none:
|
||||||
pass
|
self.maybe_hide()
|
||||||
else:
|
else:
|
||||||
raise AssertionError("Unknown _previous_widget!")
|
raise AssertionError("Unknown _previous_widget!")
|
||||||
return
|
return
|
||||||
|
self.show()
|
||||||
log.statusbar.debug("Displaying message: {} (severity {})".format(
|
log.statusbar.debug("Displaying message: {} (severity {})".format(
|
||||||
text, severity))
|
text, severity))
|
||||||
log.statusbar.debug("Remaining: {}".format(self._text_queue))
|
log.statusbar.debug("Remaining: {}".format(self._text_queue))
|
||||||
@ -286,6 +300,7 @@ class StatusBar(QWidget):
|
|||||||
self._timer_was_active = True
|
self._timer_was_active = True
|
||||||
self._text_pop_timer.stop()
|
self._text_pop_timer.stop()
|
||||||
self._stack.setCurrentWidget(self.cmd)
|
self._stack.setCurrentWidget(self.cmd)
|
||||||
|
self.show()
|
||||||
|
|
||||||
def _hide_cmd_widget(self):
|
def _hide_cmd_widget(self):
|
||||||
"""Show temporary text instead of command widget."""
|
"""Show temporary text instead of command widget."""
|
||||||
@ -298,6 +313,7 @@ class StatusBar(QWidget):
|
|||||||
self._text_pop_timer.start()
|
self._text_pop_timer.start()
|
||||||
self._timer_was_active = False
|
self._timer_was_active = False
|
||||||
self._stack.setCurrentWidget(self.txt)
|
self._stack.setCurrentWidget(self.txt)
|
||||||
|
self.maybe_hide()
|
||||||
|
|
||||||
def _show_prompt_widget(self):
|
def _show_prompt_widget(self):
|
||||||
"""Show prompt widget instead of temporary text."""
|
"""Show prompt widget instead of temporary text."""
|
||||||
@ -310,6 +326,7 @@ class StatusBar(QWidget):
|
|||||||
self._timer_was_active = True
|
self._timer_was_active = True
|
||||||
self._text_pop_timer.stop()
|
self._text_pop_timer.stop()
|
||||||
self._stack.setCurrentWidget(self.prompt)
|
self._stack.setCurrentWidget(self.prompt)
|
||||||
|
self.show()
|
||||||
|
|
||||||
def _hide_prompt_widget(self):
|
def _hide_prompt_widget(self):
|
||||||
"""Show temporary text instead of prompt widget."""
|
"""Show temporary text instead of prompt widget."""
|
||||||
@ -323,6 +340,7 @@ class StatusBar(QWidget):
|
|||||||
self._text_pop_timer.start()
|
self._text_pop_timer.start()
|
||||||
self._timer_was_active = False
|
self._timer_was_active = False
|
||||||
self._stack.setCurrentWidget(self.txt)
|
self._stack.setCurrentWidget(self.txt)
|
||||||
|
self.maybe_hide()
|
||||||
|
|
||||||
def _disp_text(self, text, severity, immediately=False):
|
def _disp_text(self, text, severity, immediately=False):
|
||||||
"""Inner logic for disp_error and disp_temp_text.
|
"""Inner logic for disp_error and disp_temp_text.
|
||||||
@ -350,6 +368,7 @@ class StatusBar(QWidget):
|
|||||||
# normal state in 2 seconds.
|
# normal state in 2 seconds.
|
||||||
log.statusbar.debug("Displaying immediately")
|
log.statusbar.debug("Displaying immediately")
|
||||||
self._set_severity(severity)
|
self._set_severity(severity)
|
||||||
|
self.show()
|
||||||
self.txt.set_text(self.txt.Text.temp, text)
|
self.txt.set_text(self.txt.Text.temp, text)
|
||||||
self._text_pop_timer.start()
|
self._text_pop_timer.start()
|
||||||
elif self._text_queue and self._text_queue[-1] == (severity, text):
|
elif self._text_queue and self._text_queue[-1] == (severity, text):
|
||||||
@ -363,6 +382,7 @@ class StatusBar(QWidget):
|
|||||||
# display the rest of the queue later.
|
# display the rest of the queue later.
|
||||||
log.statusbar.debug("Moving to beginning of queue")
|
log.statusbar.debug("Moving to beginning of queue")
|
||||||
self._set_severity(severity)
|
self._set_severity(severity)
|
||||||
|
self.show()
|
||||||
self.txt.set_text(self.txt.Text.temp, text)
|
self.txt.set_text(self.txt.Text.temp, text)
|
||||||
self._text_pop_timer.start()
|
self._text_pop_timer.start()
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user