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) 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): def get_user_stylesheet(searching=False, url=None):
"""Get the combined user-stylesheet. """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, stylesheets = config.instance.get('content.user_stylesheets', url,
fallback=url is None) fallback=url is None)
if stylesheets is configutils.UNSET: if stylesheets is configutils.UNSET:
return stylesheets return _wrap_bar(stylesheets, searching)
for filename in stylesheets: for filename in stylesheets:
with open(filename, 'r', encoding='utf-8') as f: with open(filename, 'r', encoding='utf-8') as f:
css += f.read() css += f.read()
if (config.val.scrolling.bar == 'never' or return _wrap_bar(css, searching)
config.val.scrolling.bar == 'when-searching' and not searching):
css += '\nhtml > ::-webkit-scrollbar { width: 0px; height: 0px; }'
return css
def netrc_authentication(url, authenticator): def netrc_authentication(url, authenticator):

View File

@ -855,19 +855,21 @@ class _WebEngineScripts(QObject):
self._tab.url_changed.connect(self._update_stylesheet) self._tab.url_changed.connect(self._update_stylesheet)
self._tab.load_finished.connect(self._on_load_finished) self._tab.load_finished.connect(self._on_load_finished)
self._tab.search.cleared.connect(functools.partial( self._tab.search.cleared.connect(
self._update_stylesheet, searching=False)) lambda: self._update_stylesheet(self._tab.url(), searching=False, force=True))
self._tab.search.finished.connect(self._on_load_finished) self._tab.search.finished.connect(
lambda found: self._update_stylesheet(self._tab.url(), searching=found, force=True))
@pyqtSlot(str) @pyqtSlot(str)
def _on_config_changed(self, option): def _on_config_changed(self, option):
if option in ['scrolling.bar', 'content.user_stylesheets']: 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() @pyqtSlot()
def _on_load_finished(self): def _on_load_finished(self, searching=False):
url = self._tab.url() url = self._tab.url()
self._update_stylesheet(url) self._update_stylesheet(url, searching=searching)
@pyqtSlot(QUrl) @pyqtSlot(QUrl)
def _update_stylesheet(self, url, searching=False, force=False): 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) css = shared.get_user_stylesheet(searching=searching, url=url)
if css is configutils.UNSET and force: 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: if css is not configutils.UNSET:
code = javascript.assemble('stylesheet', 'set_css', css) code = javascript.assemble('stylesheet', 'set_css', css)