summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Kamat <jaygkamat@gmail.com>2018-10-05 18:14:12 -0700
committerFlorian Bruhin <me@the-compiler.org>2018-10-06 12:29:46 +0200
commit0f306c904b447738ec316fb0d5589866f3944430 (patch)
tree2018248e6556d5c17a18f96539e9e23896fe0ac2
parentdb23c3eb4bb073f3ce26495aed6ed4d159cec724 (diff)
downloadqutebrowser-0f306c904b447738ec316fb0d5589866f3944430.tar.gz
qutebrowser-0f306c904b447738ec316fb0d5589866f3944430.zip
Fix tabs appearing when updating all tab titles
Closes #4295 (cherry picked from commit 2f155e5d2b1af28c4f925145f91d547a6d979df6)
-rw-r--r--qutebrowser/mainwindow/tabwidget.py2
-rw-r--r--tests/unit/mainwindow/test_tabwidget.py8
2 files changed, 9 insertions, 1 deletions
diff --git a/qutebrowser/mainwindow/tabwidget.py b/qutebrowser/mainwindow/tabwidget.py
index 9a8fdbc64..165052e78 100644
--- a/qutebrowser/mainwindow/tabwidget.py
+++ b/qutebrowser/mainwindow/tabwidget.py
@@ -225,8 +225,8 @@ class TabWidget(QTabWidget):
non-visible. To avoid flickering, disable repaint updates whlie we
work.
"""
- toggle = self.count() > 10
bar = self.tabBar()
+ toggle = self.count() > 10 and bar.isVisible()
if toggle:
bar.setUpdatesEnabled(False)
bar.setVisible(False)
diff --git a/tests/unit/mainwindow/test_tabwidget.py b/tests/unit/mainwindow/test_tabwidget.py
index 24acb6d87..5213e4f65 100644
--- a/tests/unit/mainwindow/test_tabwidget.py
+++ b/tests/unit/mainwindow/test_tabwidget.py
@@ -134,6 +134,14 @@ class TestTabWidget:
config_stub.val.tabs.max_width = max_size
assert widget.tabBar().tabRect(0).width() == max_size
+ def test_tab_stays_hidden(self, widget, fake_web_tab, config_stub):
+ assert widget.tabBar().isVisible()
+ config_stub.val.tabs.show = "never"
+ assert not widget.tabBar().isVisible()
+ for i in range(12):
+ widget.addTab(fake_web_tab(), 'foobar' + str(i))
+ assert not widget.tabBar().isVisible()
+
@pytest.mark.parametrize("num_tabs", [4, 100])
@pytest.mark.parametrize("rev", [True, False])
def test_add_remove_tab_benchmark(self, benchmark, widget,