Move webkitsettings to WebKitSettings object
This commit is contained in:
parent
fbbb290e16
commit
4af58d39ed
@ -120,15 +120,19 @@ class WebKitSettings(websettings.AbstractSettings):
|
||||
QWebSettings.FantasyFont: QFont.Fantasy,
|
||||
}
|
||||
|
||||
|
||||
def _set_user_stylesheet(settings):
|
||||
def _set_user_stylesheet(self):
|
||||
"""Set the generated user-stylesheet."""
|
||||
stylesheet = shared.get_user_stylesheet().encode('utf-8')
|
||||
url = urlutils.data_url('text/css;charset=utf-8', stylesheet)
|
||||
settings.setUserStyleSheetUrl(url)
|
||||
old = self._settings.userStyleSheetUrl()
|
||||
|
||||
if old == url:
|
||||
return False
|
||||
|
||||
def _set_cookie_accept_policy(settings):
|
||||
self._settings.setUserStyleSheetUrl(url)
|
||||
return True
|
||||
|
||||
def _set_cookie_accept_policy(self, value):
|
||||
"""Update the content.cookies.accept setting."""
|
||||
mapping = {
|
||||
'all': QWebSettings.AlwaysAllowThirdPartyCookies,
|
||||
@ -136,27 +140,41 @@ def _set_cookie_accept_policy(settings):
|
||||
'never': QWebSettings.AlwaysBlockThirdPartyCookies,
|
||||
'no-unknown-3rdparty': QWebSettings.AllowThirdPartyWithExistingCookies,
|
||||
}
|
||||
value = config.val.content.cookies.accept
|
||||
settings.setThirdPartyCookiePolicy(mapping[value])
|
||||
|
||||
old = self._settings.thirdPartyCookiePolicy()
|
||||
new = mapping[value]
|
||||
|
||||
def _set_cache_maximum_pages(settings):
|
||||
if old == new:
|
||||
return False
|
||||
|
||||
self._settings.setThirdPartyCookiePolicy(new)
|
||||
return True
|
||||
|
||||
def _set_cache_maximum_pages(self, value):
|
||||
"""Update the content.cache.maximum_pages setting."""
|
||||
value = config.val.content.cache.maximum_pages
|
||||
settings.setMaximumPagesInCache(value)
|
||||
old = self._settings.maximumPagesInCache()
|
||||
|
||||
if old == value:
|
||||
return False
|
||||
|
||||
def _update_settings(option):
|
||||
"""Update global settings when qwebsettings changed."""
|
||||
global_settings.update_setting(option)
|
||||
self._settings.setMaximumPagesInCache(value)
|
||||
return True
|
||||
|
||||
settings = QWebSettings.globalSettings()
|
||||
def _update_setting(self, option, value):
|
||||
if option in ['scrollbar.hide', 'content.user_stylesheets']:
|
||||
_set_user_stylesheet(settings)
|
||||
return self._set_user_stylesheet()
|
||||
elif option == 'content.cookies.accept':
|
||||
_set_cookie_accept_policy(settings)
|
||||
return self._set_cookie_accept_policy(value)
|
||||
elif option == 'content.cache.maximum_pages':
|
||||
_set_cache_maximum_pages(settings)
|
||||
return self._set_cache_maximum_pages(value)
|
||||
else:
|
||||
return super()._update_setting(option, value)
|
||||
|
||||
def init_settings(self):
|
||||
super().init_settings()
|
||||
self.update_setting('content.user_stylesheets')
|
||||
self.update_setting('content.cookies.accept')
|
||||
self.update_setting('content.cache.maximum_pages')
|
||||
|
||||
|
||||
def init(_args):
|
||||
@ -172,16 +190,10 @@ def init(_args):
|
||||
QWebSettings.setOfflineStoragePath(
|
||||
os.path.join(data_path, 'offline-storage'))
|
||||
|
||||
settings = QWebSettings.globalSettings()
|
||||
_set_user_stylesheet(settings)
|
||||
_set_cookie_accept_policy(settings)
|
||||
_set_cache_maximum_pages(settings)
|
||||
|
||||
config.instance.changed.connect(_update_settings)
|
||||
|
||||
global global_settings
|
||||
global_settings = WebKitSettings(QWebSettings.globalSettings())
|
||||
global_settings.init_settings()
|
||||
config.instance.changed.connect(global_settings.update_setting)
|
||||
|
||||
|
||||
def shutdown():
|
||||
|
Loading…
Reference in New Issue
Block a user