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/173d6f78e903bda15daed08d40c535b8cb026d0f
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/173d6f78e903bda15daed08d40c535b8cb026d0f
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits