Philipp Hörist pushed to branch master at gajim / gajim
Commits: 173d6f78 by Philipp Hörist at 2023-05-28T21:16:52+02:00 refactor: SystemStyle: Move code into helper method
- - - - -
1 changed file:
- gajim/common/winapi/system_style.py
Changes:
===================================== 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 @@ def __init__(self, callback: Callable[..., None]) -> None:
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())
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/173d6f78e903bda15daed08d40c535b8c...