From 8b38e0b900e77f120d2f26f5bf2652f45565041a Mon Sep 17 00:00:00 2001 From: Jay Kamat Date: Sun, 14 Oct 2018 16:09:50 -0700 Subject: [PATCH] Fix scrolling.bar setting after merge --- qutebrowser/browser/shared.py | 16 ++++++++++------ qutebrowser/browser/webengine/webenginetab.py | 16 +++++++++------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/qutebrowser/browser/shared.py b/qutebrowser/browser/shared.py index 7447fae59..bfcf81e85 100644 --- a/qutebrowser/browser/shared.py +++ b/qutebrowser/browser/shared.py @@ -274,6 +274,14 @@ def get_tab(win_id, target): return tabbed_browser.tabopen(url=None, background=bg_tab) +def _wrap_bar(css: str, searching: bool): + """Wrap the passed css in a bar if needed, depending on settings.""" + if css is not configutils.UNSET and \ + (config.val.scrolling.bar == 'never' or + config.val.scrolling.bar == 'when-searching' and not searching): + css += '\nhtml > ::-webkit-scrollbar { width: 0px; height: 0px; }' + return css + def get_user_stylesheet(searching=False, url=None): """Get the combined user-stylesheet. @@ -284,17 +292,13 @@ def get_user_stylesheet(searching=False, url=None): stylesheets = config.instance.get('content.user_stylesheets', url, fallback=url is None) if stylesheets is configutils.UNSET: - return stylesheets + return _wrap_bar(stylesheets, searching) for filename in stylesheets: with open(filename, 'r', encoding='utf-8') as f: css += f.read() - if (config.val.scrolling.bar == 'never' or - config.val.scrolling.bar == 'when-searching' and not searching): - css += '\nhtml > ::-webkit-scrollbar { width: 0px; height: 0px; }' - - return css + return _wrap_bar(css, searching) def netrc_authentication(url, authenticator): diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 64dd200fd..8ec0004ff 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -855,19 +855,21 @@ class _WebEngineScripts(QObject): self._tab.url_changed.connect(self._update_stylesheet) self._tab.load_finished.connect(self._on_load_finished) - self._tab.search.cleared.connect(functools.partial( - self._update_stylesheet, searching=False)) - self._tab.search.finished.connect(self._on_load_finished) + self._tab.search.cleared.connect( + lambda: self._update_stylesheet(self._tab.url(), searching=False, force=True)) + self._tab.search.finished.connect( + lambda found: self._update_stylesheet(self._tab.url(), searching=found, force=True)) @pyqtSlot(str) def _on_config_changed(self, option): if option in ['scrolling.bar', 'content.user_stylesheets']: - self._update_stylesheet(url=self._tab.url(), force=True) + self._init_stylesheet() + self._update_stylesheet(self._tab.url(), force=True) @pyqtSlot() - def _on_load_finished(self): + def _on_load_finished(self, searching=False): url = self._tab.url() - self._update_stylesheet(url) + self._update_stylesheet(url, searching=searching) @pyqtSlot(QUrl) def _update_stylesheet(self, url, searching=False, force=False): @@ -879,7 +881,7 @@ class _WebEngineScripts(QObject): """ css = shared.get_user_stylesheet(searching=searching, url=url) if css is configutils.UNSET and force: - css = shared.get_user_stylesheet(url=None) + css = shared.get_user_stylesheet(searching=searching, url=None) if css is not configutils.UNSET: code = javascript.assemble('stylesheet', 'set_css', css)