mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Workaround for PyQt6 missing QWebEngine::defaultSettings()
This commit is contained in:
parent
a1a4d3ecc9
commit
b76c76390e
@ -344,12 +344,23 @@ class PreviewSettings(BasicSettings): # {{{
|
|||||||
BasicSettings.__init__(self, parent)
|
BasicSettings.__init__(self, parent)
|
||||||
self.l = l = QFormLayout(self)
|
self.l = l = QFormLayout(self)
|
||||||
self.setLayout(l)
|
self.setLayout(l)
|
||||||
|
self.default_font_settings = {}
|
||||||
|
|
||||||
def default_font(which):
|
def default_font(which):
|
||||||
|
if not self.default_font_settings:
|
||||||
from qt.webengine import QWebEngineSettings
|
from qt.webengine import QWebEngineSettings
|
||||||
|
try:
|
||||||
s = QWebEngineSettings.defaultSettings()
|
s = QWebEngineSettings.defaultSettings()
|
||||||
which = getattr(s, {'serif': 'SerifFont', 'sans': 'SansSerifFont', 'mono': 'FixedFont'}[which])
|
except AttributeError: # PyQt6 bug
|
||||||
return s.fontFamily(which)
|
from qt.webengine import QWebEnginePage
|
||||||
|
page = QWebEnginePage()
|
||||||
|
s = page.settings()
|
||||||
|
self.default_font_settings = {
|
||||||
|
'serif': s.fontFamily(QWebEngineSettings.FontFamily.SerifFont),
|
||||||
|
'sans': s.fontFamily(QWebEngineSettings.FontFamily.SansSerifFont),
|
||||||
|
'mono': s.fontFamily(QWebEngineSettings.FontFamily.FixedFont),
|
||||||
|
}
|
||||||
|
return self.default_font_settings[which]
|
||||||
|
|
||||||
def family_getter(which, w):
|
def family_getter(which, w):
|
||||||
ans = str(w.currentFont().family())
|
ans = str(w.currentFont().family())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user