[Qt 6.7] Set ForceDarkMode attribute in AnkiWebView (#3622)

* Set ForceDarkMode attribute in AnkiWebView

* Use hasattr for backward compatibility

* Make mypy happy
This commit is contained in:
Bart Louwers 2024-12-14 11:29:30 +01:00 committed by GitHub
parent d014f72377
commit 36d0fddd38
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -838,6 +838,14 @@ html {{ {font} }}
def on_theme_did_change(self) -> None: def on_theme_did_change(self) -> None:
# avoid flashes if page reloaded # avoid flashes if page reloaded
self._page.setBackgroundColor(theme_manager.qcolor(colors.CANVAS)) self._page.setBackgroundColor(theme_manager.qcolor(colors.CANVAS))
if hasattr(QWebEngineSettings.WebAttribute, "ForceDarkMode"):
force_dark_mode = getattr(QWebEngineSettings.WebAttribute, "ForceDarkMode")
page_settings = self._page.settings()
if page_settings is not None:
page_settings.setAttribute(
force_dark_mode,
theme_manager.get_night_mode(),
)
# update night-mode class, and legacy nightMode/night-mode body classes # update night-mode class, and legacy nightMode/night-mode body classes
self.eval( self.eval(
f""" f"""