diff options
author | Philipp Hörist <philipp@hoerist.com> | 2023-05-28 22:14:58 +0300 |
---|---|---|
committer | Philipp Hörist <philipp@hoerist.com> | 2023-05-28 22:16:52 +0300 |
commit | 173d6f78e903bda15daed08d40c535b8cb026d0f (patch) | |
tree | fce07080ada8f9abebb43abeec618c3707deaefc | |
parent | fbb470b771390f8328c657f8fc2635917a608d3c (diff) |
refactor: SystemStyle: Move code into helper method
-rw-r--r-- | gajim/common/winapi/system_style.py | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/gajim/common/winapi/system_style.py b/gajim/common/winapi/system_style.py index afbdc75d8..fe986c8eb 100644 --- a/gajim/common/winapi/system_style.py +++ b/gajim/common/winapi/system_style.py @@ -16,6 +16,7 @@ from __future__ import annotations +from typing import Any from typing import Callable import logging @@ -37,25 +38,31 @@ class SystemStyleListener: try: self._ui_settings = UISettings() - except OSError as err: - log.warning('winsdk UISettings not available:%s', err) + self._ui_settings.add_color_values_changed( + self._signal_color_values_changed) + self._prefer_dark = self._get_prefer_dark() + except Exception as error: + log.warning('Failed to init winsdk.UISettings: %s', error) return - self._ui_settings.add_color_values_changed( - self._signal_color_values_changed) + def _get_prefer_dark(self) -> bool: foreground_color = self._ui_settings.get_color_value( UIColorType.FOREGROUND) - self._prefer_dark = self._is_color_light(foreground_color) + return self._is_color_light(foreground_color) @staticmethod def _is_color_light(clr: Color) -> bool: return ((5 * clr.g) + (2 * clr.r) + clr.b) > (8 * 128) - def _signal_color_values_changed(self, ui_settings: UISettings, _) -> None: - foreground_color = ui_settings.get_color_value(UIColorType.FOREGROUND) - dark_theme = self._is_color_light(foreground_color) - if dark_theme != self._prefer_dark: - self._prefer_dark = dark_theme + def _signal_color_values_changed( + self, + _ui_settings: UISettings | None, + *args: Any + ) -> None: + + prefer_dark = self._get_prefer_dark() + if prefer_dark != self._prefer_dark: + self._prefer_dark = prefer_dark self._callback() app.ged.raise_event(StyleChanged()) |