From a7c3bb0d55460082cb5ab24b256a28f3fca67a76 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 15 Jun 2017 14:34:16 +0200 Subject: [PATCH] Initial qute://settings upgrade --- .../browser/webkit/network/webkitqutescheme.py | 17 +++++++++-------- qutebrowser/config/configdata.py | 5 +++-- qutebrowser/html/settings.html | 17 +++++++---------- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/qutebrowser/browser/webkit/network/webkitqutescheme.py b/qutebrowser/browser/webkit/network/webkitqutescheme.py index 794b5b020..d7580cbee 100644 --- a/qutebrowser/browser/webkit/network/webkitqutescheme.py +++ b/qutebrowser/browser/webkit/network/webkitqutescheme.py @@ -29,7 +29,7 @@ from PyQt5.QtNetwork import QNetworkReply from qutebrowser.browser import pdfjs, qutescheme from qutebrowser.browser.webkit.network import schemehandler, networkreply from qutebrowser.utils import jinja, log, message, objreg, usertypes, qtutils -from qutebrowser.config import configexc, configdata +from qutebrowser.config import configexc, configdata, config class QuteSchemeHandler(schemehandler.SchemeHandler): @@ -84,18 +84,19 @@ class JSBridge(QObject): "as it needs javascript support.") return # FIXME:conf - try: - objreg.get('config').set('conf', sectname, optname, value) - except (configexc.Error, configparser.Error) as e: - message.error(str(e)) + message.error("Setting doesn't work yet!") + # try: + # objreg.get('config').set('conf', sectname, optname, value) + # except (configexc.Error, configparser.Error) as e: + # message.error(str(e)) @qutescheme.add_handler('settings', backend=usertypes.Backend.QtWebKit) def qute_settings(_url): """Handler for qute://settings. View/change qute configuration.""" - config_getter = functools.partial(objreg.get('config').get, raw=True) - html = jinja.render('settings.html', title='settings', config=configdata, - confget=config_getter) + config_getter = config.instance.get # FIXME to_str + html = jinja.render('settings.html', title='settings', + configdata=configdata, confget=config_getter) return 'text/html', html diff --git a/qutebrowser/config/configdata.py b/qutebrowser/config/configdata.py index 17bd3671c..3d436418d 100644 --- a/qutebrowser/config/configdata.py +++ b/qutebrowser/config/configdata.py @@ -523,8 +523,8 @@ CHANGED_KEY_COMMANDS = [ ] -Option = collections.namedtuple('Option', ['typ', 'default', 'backends', - 'description']) +Option = collections.namedtuple('Option', ['name', 'typ', 'default', + 'backends', 'description']) def _raise_invalid_node(name, what, node): @@ -660,6 +660,7 @@ def _read_yaml(yaml_data): option.keys(), name)) parsed[name] = Option( + name=name, typ=_parse_yaml_type(name, option['type']), default=option['default'], backends=_parse_yaml_backends(name, option.get('backend', None)), diff --git a/qutebrowser/html/settings.html b/qutebrowser/html/settings.html index cc872967f..8ca4528db 100644 --- a/qutebrowser/html/settings.html +++ b/qutebrowser/html/settings.html @@ -22,25 +22,22 @@ th pre { color: grey; text-align: left; }

{{ title }}

- -{% for section in config.DATA %} - - {% for d, e in config.DATA.get(section).items() %} + {% for option in configdata.DATA.values() %} - {% endfor %} -{% endfor %}

{{ section }}

{{ config.SECTION_DESC.get(section)|wordwrap(width=120) }}
{{ d }} (Current: {{ confget(section, d)|truncate(100) }}) - {% if config.DATA.get(section).descriptions[d] %} -

{{ config.DATA.get(section).descriptions[d]|e }}

+ +
{{ option.name }} (Current: {{ confget(option.name) | string |truncate(100) }}) + {% if option.description %} +

{{ option.description|e }}

{% endif %}
+ onblur="cset('{{ option.name }}', this)" + value="{{ confget(option.name) }}">
{% endblock %}