parent
f0c58b58dd
commit
e780efb3d9
@ -34,6 +34,7 @@ import configparser
|
|||||||
|
|
||||||
from PyQt5.QtCore import pyqtSlot, QObject
|
from PyQt5.QtCore import pyqtSlot, QObject
|
||||||
from PyQt5.QtNetwork import QNetworkReply
|
from PyQt5.QtNetwork import QNetworkReply
|
||||||
|
from PyQt5.QtWebKit import QWebSettings
|
||||||
|
|
||||||
import qutebrowser
|
import qutebrowser
|
||||||
from qutebrowser.browser.network import schemehandler, networkreply
|
from qutebrowser.browser.network import schemehandler, networkreply
|
||||||
@ -96,6 +97,12 @@ class JSBridge(QObject):
|
|||||||
@pyqtSlot(int, str, str, str)
|
@pyqtSlot(int, str, str, str)
|
||||||
def set(self, win_id, sectname, optname, value):
|
def set(self, win_id, sectname, optname, value):
|
||||||
"""Slot to set a setting from qute:settings."""
|
"""Slot to set a setting from qute:settings."""
|
||||||
|
# https://github.com/The-Compiler/qutebrowser/issues/727
|
||||||
|
if (sectname, optname == 'content', 'allow-javascript' and
|
||||||
|
value == 'false'):
|
||||||
|
message.error(win_id, "Refusing to disable javascript via "
|
||||||
|
"qute:settings as it needs javascript support.")
|
||||||
|
return
|
||||||
try:
|
try:
|
||||||
objreg.get('config').set('conf', sectname, optname, value)
|
objreg.get('config').set('conf', sectname, optname, value)
|
||||||
except (configexc.Error, configparser.Error) as e:
|
except (configexc.Error, configparser.Error) as e:
|
||||||
@ -172,10 +179,18 @@ def qute_help(win_id, request):
|
|||||||
|
|
||||||
def qute_settings(win_id, _request):
|
def qute_settings(win_id, _request):
|
||||||
"""Handler for qute:settings. View/change qute configuration."""
|
"""Handler for qute:settings. View/change qute configuration."""
|
||||||
config_getter = functools.partial(objreg.get('config').get, raw=True)
|
if not QWebSettings.globalSettings().testAttribute(
|
||||||
html = jinja.env.get_template('settings.html').render(
|
QWebSettings.JavascriptEnabled):
|
||||||
win_id=win_id, title='settings', config=configdata,
|
# https://github.com/The-Compiler/qutebrowser/issues/727
|
||||||
confget=config_getter)
|
template = jinja.env.get_template('pre.html')
|
||||||
|
html = template.render(
|
||||||
|
title='Failed to open qute:settings.',
|
||||||
|
content="qute:settings needs javascript enabled to work.")
|
||||||
|
else:
|
||||||
|
config_getter = functools.partial(objreg.get('config').get, raw=True)
|
||||||
|
html = jinja.env.get_template('settings.html').render(
|
||||||
|
win_id=win_id, title='settings', config=configdata,
|
||||||
|
confget=config_getter)
|
||||||
return html.encode('UTF-8', errors='xmlcharrefreplace')
|
return html.encode('UTF-8', errors='xmlcharrefreplace')
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user