Initial qute://settings upgrade
This commit is contained in:
parent
3a6bcb3dd0
commit
a7c3bb0d55
@ -29,7 +29,7 @@ from PyQt5.QtNetwork import QNetworkReply
|
|||||||
from qutebrowser.browser import pdfjs, qutescheme
|
from qutebrowser.browser import pdfjs, qutescheme
|
||||||
from qutebrowser.browser.webkit.network import schemehandler, networkreply
|
from qutebrowser.browser.webkit.network import schemehandler, networkreply
|
||||||
from qutebrowser.utils import jinja, log, message, objreg, usertypes, qtutils
|
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):
|
class QuteSchemeHandler(schemehandler.SchemeHandler):
|
||||||
@ -84,18 +84,19 @@ class JSBridge(QObject):
|
|||||||
"as it needs javascript support.")
|
"as it needs javascript support.")
|
||||||
return
|
return
|
||||||
# FIXME:conf
|
# FIXME:conf
|
||||||
try:
|
message.error("Setting doesn't work yet!")
|
||||||
objreg.get('config').set('conf', sectname, optname, value)
|
# try:
|
||||||
except (configexc.Error, configparser.Error) as e:
|
# objreg.get('config').set('conf', sectname, optname, value)
|
||||||
message.error(str(e))
|
# except (configexc.Error, configparser.Error) as e:
|
||||||
|
# message.error(str(e))
|
||||||
|
|
||||||
|
|
||||||
@qutescheme.add_handler('settings', backend=usertypes.Backend.QtWebKit)
|
@qutescheme.add_handler('settings', backend=usertypes.Backend.QtWebKit)
|
||||||
def qute_settings(_url):
|
def qute_settings(_url):
|
||||||
"""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)
|
config_getter = config.instance.get # FIXME to_str
|
||||||
html = jinja.render('settings.html', title='settings', config=configdata,
|
html = jinja.render('settings.html', title='settings',
|
||||||
confget=config_getter)
|
configdata=configdata, confget=config_getter)
|
||||||
return 'text/html', html
|
return 'text/html', html
|
||||||
|
|
||||||
|
|
||||||
|
@ -523,8 +523,8 @@ CHANGED_KEY_COMMANDS = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
Option = collections.namedtuple('Option', ['typ', 'default', 'backends',
|
Option = collections.namedtuple('Option', ['name', 'typ', 'default',
|
||||||
'description'])
|
'backends', 'description'])
|
||||||
|
|
||||||
|
|
||||||
def _raise_invalid_node(name, what, node):
|
def _raise_invalid_node(name, what, node):
|
||||||
@ -660,6 +660,7 @@ def _read_yaml(yaml_data):
|
|||||||
option.keys(), name))
|
option.keys(), name))
|
||||||
|
|
||||||
parsed[name] = Option(
|
parsed[name] = Option(
|
||||||
|
name=name,
|
||||||
typ=_parse_yaml_type(name, option['type']),
|
typ=_parse_yaml_type(name, option['type']),
|
||||||
default=option['default'],
|
default=option['default'],
|
||||||
backends=_parse_yaml_backends(name, option.get('backend', None)),
|
backends=_parse_yaml_backends(name, option.get('backend', None)),
|
||||||
|
@ -22,25 +22,22 @@ th pre { color: grey; text-align: left; }
|
|||||||
<noscript><h1 class="noscript">View Only</h1><p class="noscript-text">Changing settings requires javascript to be enabled!</p></noscript>
|
<noscript><h1 class="noscript">View Only</h1><p class="noscript-text">Changing settings requires javascript to be enabled!</p></noscript>
|
||||||
<header><h1>{{ title }}</h1></header>
|
<header><h1>{{ title }}</h1></header>
|
||||||
<table>
|
<table>
|
||||||
<!-- FIXME:conf refactor -->
|
{% for option in configdata.DATA.values() %}
|
||||||
{% for section in config.DATA %}
|
|
||||||
<tr><th colspan="2"><h3>{{ section }}</h3><pre>{{ config.SECTION_DESC.get(section)|wordwrap(width=120) }}</pre></th></tr>
|
|
||||||
{% for d, e in config.DATA.get(section).items() %}
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ d }} (Current: {{ confget(section, d)|truncate(100) }})
|
<!-- FIXME: convert to string properly -->
|
||||||
{% if config.DATA.get(section).descriptions[d] %}
|
<td>{{ option.name }} (Current: {{ confget(option.name) | string |truncate(100) }})
|
||||||
<p class="option_description">{{ config.DATA.get(section).descriptions[d]|e }}</p>
|
{% if option.description %}
|
||||||
|
<p class="option_description">{{ option.description|e }}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text"
|
<input type="text"
|
||||||
onblur="cset('{{ section }}', '{{ d }}', this)"
|
onblur="cset('{{ option.name }}', this)"
|
||||||
value="{{ confget(section, d) }}">
|
value="{{ confget(option.name) }}">
|
||||||
</input>
|
</input>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endfor %}
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
Loading…
Reference in New Issue
Block a user