From 36d0fddd388ee5d54cae5514ca53eee29b02d102 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Sat, 14 Dec 2024 11:29:30 +0100 Subject: [PATCH] [Qt 6.7] Set ForceDarkMode attribute in AnkiWebView (#3622) * Set ForceDarkMode attribute in AnkiWebView * Use hasattr for backward compatibility * Make mypy happy --- qt/aqt/webview.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/qt/aqt/webview.py b/qt/aqt/webview.py index aac3fb1b6..65d294bf6 100644 --- a/qt/aqt/webview.py +++ b/qt/aqt/webview.py @@ -838,6 +838,14 @@ html {{ {font} }} def on_theme_did_change(self) -> None: # avoid flashes if page reloaded 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 self.eval( f"""