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,
|
QWebSettings.FantasyFont: QFont.Fantasy,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def _set_user_stylesheet(self):
|
||||||
def _set_user_stylesheet(settings):
|
|
||||||
"""Set the generated user-stylesheet."""
|
"""Set the generated user-stylesheet."""
|
||||||
stylesheet = shared.get_user_stylesheet().encode('utf-8')
|
stylesheet = shared.get_user_stylesheet().encode('utf-8')
|
||||||
url = urlutils.data_url('text/css;charset=utf-8', stylesheet)
|
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."""
|
"""Update the content.cookies.accept setting."""
|
||||||
mapping = {
|
mapping = {
|
||||||
'all': QWebSettings.AlwaysAllowThirdPartyCookies,
|
'all': QWebSettings.AlwaysAllowThirdPartyCookies,
|
||||||
@ -136,27 +140,41 @@ def _set_cookie_accept_policy(settings):
|
|||||||
'never': QWebSettings.AlwaysBlockThirdPartyCookies,
|
'never': QWebSettings.AlwaysBlockThirdPartyCookies,
|
||||||
'no-unknown-3rdparty': QWebSettings.AllowThirdPartyWithExistingCookies,
|
'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."""
|
"""Update the content.cache.maximum_pages setting."""
|
||||||
value = config.val.content.cache.maximum_pages
|
old = self._settings.maximumPagesInCache()
|
||||||
settings.setMaximumPagesInCache(value)
|
|
||||||
|
|
||||||
|
if old == value:
|
||||||
|
return False
|
||||||
|
|
||||||
def _update_settings(option):
|
self._settings.setMaximumPagesInCache(value)
|
||||||
"""Update global settings when qwebsettings changed."""
|
return True
|
||||||
global_settings.update_setting(option)
|
|
||||||
|
|
||||||
settings = QWebSettings.globalSettings()
|
def _update_setting(self, option, value):
|
||||||
if option in ['scrollbar.hide', 'content.user_stylesheets']:
|
if option in ['scrollbar.hide', 'content.user_stylesheets']:
|
||||||
_set_user_stylesheet(settings)
|
return self._set_user_stylesheet()
|
||||||
elif option == 'content.cookies.accept':
|
elif option == 'content.cookies.accept':
|
||||||
_set_cookie_accept_policy(settings)
|
return self._set_cookie_accept_policy(value)
|
||||||
elif option == 'content.cache.maximum_pages':
|
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):
|
def init(_args):
|
||||||
@ -172,16 +190,10 @@ def init(_args):
|
|||||||
QWebSettings.setOfflineStoragePath(
|
QWebSettings.setOfflineStoragePath(
|
||||||
os.path.join(data_path, 'offline-storage'))
|
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 global_settings
|
||||||
global_settings = WebKitSettings(QWebSettings.globalSettings())
|
global_settings = WebKitSettings(QWebSettings.globalSettings())
|
||||||
global_settings.init_settings()
|
global_settings.init_settings()
|
||||||
|
config.instance.changed.connect(global_settings.update_setting)
|
||||||
|
|
||||||
|
|
||||||
def shutdown():
|
def shutdown():
|
||||||
|
Loading…
Reference in New Issue
Block a user