Exemple #1
0
 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)
Exemple #2
0
 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
Exemple #3
0
 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)
Exemple #4
0
 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)
Exemple #5
0
 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()
Exemple #6
0
 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('')
Exemple #7
0
 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)
Exemple #9
0
    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)
Exemple #10
0
 def __init__(self, parent):
     QWebEnginePage.__init__(self, create_profile(), parent)
     secure_webengine(self, for_viewer=True)
     self.bridge = PreviewBridge(self)