Retain bindings for theme switching

This commit is contained in:
Mark Qvist 2022-10-08 17:19:20 +02:00
parent 4b619f385d
commit 540a533900

View File

@ -1667,23 +1667,23 @@ class ThemableBehavior(EventDispatcher):
self.theme_cls = App.get_running_app().theme_cls
super().__init__(**kwargs)
def dec_disabled(self, *args, **kwargs) -> None:
callabacks = self.theme_cls.get_property_observers("theme_style")
# def dec_disabled(self, *args, **kwargs) -> None:
# callabacks = self.theme_cls.get_property_observers("theme_style")
for callaback in callabacks:
try:
if hasattr(callaback, "proxy") and hasattr(
callaback.proxy, "theme_cls"
):
for property_name in self.unbind_properties:
self.theme_cls.unbind(
**{
property_name: getattr(
callaback.proxy, callaback.method_name
)
}
)
except ReferenceError:
pass
# for callaback in callabacks:
# try:
# if hasattr(callaback, "proxy") and hasattr(
# callaback.proxy, "theme_cls"
# ):
# for property_name in self.unbind_properties:
# self.theme_cls.unbind(
# **{
# property_name: getattr(
# callaback.proxy, callaback.method_name
# )
# }
# )
# except ReferenceError:
# pass
super().dec_disabled(*args, **kwargs)
# super().dec_disabled(*args, **kwargs)