def __init__(self, prefs): self.log = default_log self.current_frag = None self.com_id = str(uuid4()) QWebEnginePage.__init__(self) secure_webengine(self.settings(), for_viewer=True) self.titleChanged.connect(self.title_changed) self.loadFinished.connect(self.show_frag) s = QWebEngineScript() s.setName('toc.js') s.setInjectionPoint(QWebEngineScript.InjectionPoint.DocumentCreation) s.setRunsOnSubFrames(True) s.setWorldId(QWebEngineScript.ScriptWorldId.ApplicationWorld) js = P('toc.js', allow_user_override=False, data=True).decode('utf-8').replace('COM_ID', self.com_id, 1) if 'preview_background' in prefs.defaults and 'preview_foreground' in prefs.defaults: from calibre.gui2.tweak_book.preview import get_editor_settings settings = get_editor_settings(prefs) else: if is_dark_theme(): settings = { 'is_dark_theme': True, 'bg': dark_color.name(), 'fg': dark_text_color.name(), 'link': dark_link_color.name(), } else: settings = {} js = js.replace('SETTINGS', json.dumps(settings), 1) dark_mode_css = P('dark_mode.css', data=True, allow_user_override=False).decode('utf-8') js = js.replace('CSS', json.dumps(dark_mode_css), 1) s.setSourceCode(js) self.scripts().insert(s)
def __init__(self): QWebEnginePage.__init__(self) self.titleChanged.connect(self.title_changed) secure_webengine(self) self.scripts().insert(create_script(js, 'test-rapydscript.js')) self.setHtml('<p>initialize') self.working = True
def __init__(self, parent): profile = create_profile() QWebEnginePage.__init__(self, profile, parent) profile.setParent(self) secure_webengine(self, for_viewer=True) apply_font_settings(self) self.bridge = ViewerBridge(self) self.bridge.copy_selection.connect(self.trigger_copy)
def __init__(self): QWebEnginePage.__init__(self) secure_webengine(self) self.printing_started = False self.loadFinished.connect(self.load_finished, type=Qt.ConnectionType.QueuedConnection) self.pdfPrintingFinished.connect(self.print_finished) self.hang_timer = t = QTimer(self) t.setInterval(500) t.timeout.connect(self.hang_check)
def __init__(self): QWebEnginePage.__init__(self) self.errors = [] secure_webengine(self) script = compiler_script script += '\n\n;;\n\n' + vfs_script() self.scripts().insert(create_script(script, 'rapydscript.js')) self.setHtml('<p>initialize') while self.title() != 'compiler initialized': self.spin_loop()
def __init__(self): must_use_qt() QWebEnginePage.__init__(self, create_profile(), QApplication.instance()) self.titleChanged.connect(self.title_changed) secure_webengine(self.settings()) self.console_messages = [] self.ready = False self.working = False self.pending = None self.setHtml('')
def __init__(self): profile = QWebEngineProfile(QApplication.instance()) profile.setHttpUserAgent('calibre-tester') insert_scripts(profile, create_script('test-rapydscript.js', js, on_subframes=False)) url_handler = UrlSchemeHandler(profile) profile.installUrlSchemeHandler(QByteArray(FAKE_PROTOCOL.encode('ascii')), url_handler) QWebEnginePage.__init__(self, profile, None) self.titleChanged.connect(self.title_changed) secure_webengine(self) self.setHtml('<p>initialize', QUrl(f'{FAKE_PROTOCOL}://{FAKE_HOST}/index.html')) self.working = True
def __init__(self): self.log = default_log self.current_frag = None self.com_id = unicode_type(uuid4()) QWebEnginePage.__init__(self) secure_webengine(self.settings(), for_viewer=True) self.titleChanged.connect(self.title_changed) self.loadFinished.connect(self.show_frag) s = QWebEngineScript() s.setName('toc.js') s.setInjectionPoint(QWebEngineScript.InjectionPoint.DocumentReady) s.setRunsOnSubFrames(True) s.setWorldId(QWebEngineScript.ScriptWorldId.ApplicationWorld) s.setSourceCode(P('toc.js', allow_user_override=False, data=True).decode('utf-8').replace('COM_ID', self.com_id)) self.scripts().insert(s)
def __init__(self, opts, parent, log): QWebEnginePage.__init__(self, parent.profile, parent) secure_webengine(self) self.working = False self.log = log self.load_complete = False self.settle_time = 0 self.wait_for_title = None s = self.settings() s.setAttribute(s.JavascriptEnabled, True) s.setFontSize(s.DefaultFontSize, opts.pdf_default_font_size) s.setFontSize(s.DefaultFixedFontSize, opts.pdf_mono_font_size) s.setFontSize(s.MinimumLogicalFontSize, 8) s.setFontSize(s.MinimumFontSize, 8) std = { 'serif': opts.pdf_serif_family, 'sans' : opts.pdf_sans_family, 'mono' : opts.pdf_mono_family }.get(opts.pdf_standard_font, opts.pdf_serif_family) if std: s.setFontFamily(s.StandardFont, std) if opts.pdf_serif_family: s.setFontFamily(s.SerifFont, opts.pdf_serif_family) if opts.pdf_sans_family: s.setFontFamily(s.SansSerifFont, opts.pdf_sans_family) if opts.pdf_mono_family: s.setFontFamily(s.FixedFont, opts.pdf_mono_family) self.titleChanged.connect(self.title_changed) self.loadStarted.connect(self.load_started) self.loadProgress.connect(self.load_progress) self.loadFinished.connect(self.load_finished) self.load_hang_check_timer = t = QTimer(self) self.load_started_at = 0 t.setTimerType(Qt.TimerType.VeryCoarseTimer) t.setInterval(HANG_TIME * 1000) t.setSingleShot(True) t.timeout.connect(self.on_load_hang)
def __init__(self, parent): QWebEnginePage.__init__(self, create_profile(), parent) secure_webengine(self, for_viewer=True) self.bridge = PreviewBridge(self)