Fix scrolling.bar setting after merge

This commit is contained in:
Jay Kamat 2018-10-14 16:09:50 -07:00
parent b4dd94b6e9
commit 8b38e0b900
No known key found for this signature in database
GPG Key ID: 5D2E399600F4F7B5
2 changed files with 19 additions and 13 deletions

View File

@ -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):

View File

@ -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)