summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Schwab <git@nicholas-schwab.de>2021-04-08 14:30:02 +0200
committerNicholas Schwab <git@nicholas-schwab.de>2021-04-08 14:30:02 +0200
commit3474604dea49381980c27a8d5caabfe3655b165a (patch)
tree59b1fd33ebc8580465e3e5423fa0f5cae504f2a1
parenta6356b55047bac81ad6d36fb2c4ffe6c8f64c421 (diff)
downloadqutebrowser-3474604dea49381980c27a8d5caabfe3655b165a.tar.gz
qutebrowser-3474604dea49381980c27a8d5caabfe3655b165a.zip
Added simple text widgets to status bar with currently hard-coded content.
-rw-r--r--qutebrowser/config/configdata.yml1
-rw-r--r--qutebrowser/mainwindow/statusbar/bar.py16
2 files changed, 16 insertions, 1 deletions
diff --git a/qutebrowser/config/configdata.yml b/qutebrowser/config/configdata.yml
index 1c0f03d37..dc8ddd1dc 100644
--- a/qutebrowser/config/configdata.yml
+++ b/qutebrowser/config/configdata.yml
@@ -1927,6 +1927,7 @@ statusbar.widgets:
- tabs: "Current active tab, e.g. `2`."
- keypress: "Display pressed keys when composing a vi command."
- progress: "Progress bar for the current page loading."
+ - text: "A text widget. Currently hard coded content."
none_ok: true
default: ['keypress', 'url', 'scroll', 'history', 'tabs', 'progress']
desc: List of widgets displayed in the statusbar.
diff --git a/qutebrowser/mainwindow/statusbar/bar.py b/qutebrowser/mainwindow/statusbar/bar.py
index 0f6cd9fbc..54f62f1ad 100644
--- a/qutebrowser/mainwindow/statusbar/bar.py
+++ b/qutebrowser/mainwindow/statusbar/bar.py
@@ -200,6 +200,7 @@ class StatusBar(QWidget):
self.tabindex = tabindex.TabIndex()
self.keystring = keystring.KeyString()
self.prog = progress.Progress(self)
+ self.text_widgets = []
self._draw_widgets()
config.instance.changed.connect(self._on_config_changed)
@@ -222,12 +223,13 @@ class StatusBar(QWidget):
# Start with widgets hidden and show them when needed
for widget in [self.url, self.percentage,
self.backforward, self.tabindex,
- self.keystring, self.prog]:
+ self.keystring, self.prog, *self.text_widgets]:
assert isinstance(widget, QWidget)
widget.hide()
self._hbox.removeWidget(widget)
tab = self._current_tab()
+ text_widget_nr = 0
# Read the list and set widgets accordingly
for segment in config.val.statusbar.widgets:
@@ -257,6 +259,18 @@ class StatusBar(QWidget):
self.prog.enabled = True
if tab:
self.prog.on_tab_changed(tab)
+ elif segment == 'text':
+ try:
+ cur_widget = self.text_widgets[text_widget_nr]
+ except IndexError:
+ cur_widget = textbase.TextBase()
+ self.text_widgets.append(cur_widget)
+ cur_widget.setText('Lorem %s' % text_widget_nr)
+ self._hbox.addWidget(cur_widget)
+ cur_widget.show()
+ text_widget_nr += 1
+
+ del self.text_widgets[text_widget_nr:]
@pyqtSlot()
def maybe_hide(self):