|
@@ -20,16 +20,13 @@ |
|
|
"""QtWebKit specific qute://* handlers and glue code.""" |
|
|
|
|
|
import mimetypes |
|
|
import functools |
|
|
import configparser |
|
|
|
|
|
from PyQt5.QtCore import pyqtSlot, QObject |
|
|
from PyQt5.QtCore import pyqtSlot |
|
|
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, config |
|
|
from qutebrowser.utils import jinja, log, message, usertypes, qtutils |
|
|
|
|
|
|
|
|
class QuteSchemeHandler(schemehandler.SchemeHandler): |
|
@@ -70,36 +67,6 @@ def createRequest(self, _op, request, _outgoing_data): |
|
|
self.parent()) |
|
|
|
|
|
|
|
|
class JSBridge(QObject): |
|
|
|
|
|
"""Javascript-bridge for special qute://... pages.""" |
|
|
|
|
|
@pyqtSlot(str, str, str) |
|
|
def set(self, sectname, optname, value): |
|
|
"""Slot to set a setting from qute://settings.""" |
|
|
# https://github.com/qutebrowser/qutebrowser/issues/727 |
|
|
if ((sectname, optname) == ('content', 'allow-javascript') and |
|
|
value == 'false'): |
|
|
message.error("Refusing to disable javascript via qute://settings " |
|
|
"as it needs javascript support.") |
|
|
return |
|
|
# FIXME:conf |
|
|
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 = config.instance.get # FIXME to_str |
|
|
html = jinja.render('settings.html', title='settings', |
|
|
configdata=configdata, confget=config_getter) |
|
|
return 'text/html', html |
|
|
|
|
|
|
|
|
@qutescheme.add_handler('pdfjs', backend=usertypes.Backend.QtWebKit) |
|
|
def qute_pdfjs(url): |
|
|
"""Handler for qute://pdfjs. Return the pdf.js viewer.""" |
|
|
bushuev.byshyi