Daniel Brötzmann pushed to branch master at gajim / gajim


Commits:
8bd6d392 by wurstsalat at 2025-03-01T16:31:31+01:00
fix: Preferences: Update themes list when removing theme

Use ThemeUpdate instead of StyleChanged (which is used for dark/light mode)

- - - - -


2 changed files:

- gajim/gtk/preferences.py
- gajim/gtk/themes.py


Changes:

=====================================
gajim/gtk/preferences.py
=====================================
@@ -724,12 +724,10 @@ def __init__(self, *args: Any) -> None:
 
         PreferenceBox.__init__(self, settings)
 
-        app.ged.register_event_handler(
-            "style-changed", ged.GUI1, self._on_style_changed
-        )
+        app.ged.register_event_handler("theme-update", ged.GUI1, 
self._on_theme_update)
 
     def do_unroot(self) -> None:
-        app.ged.remove_event_handler("style-changed", ged.GUI1, 
self._on_style_changed)
+        app.ged.remove_event_handler("theme-update", ged.GUI1, 
self._on_theme_update)
         PreferenceBox.do_unroot(self)
 
     @staticmethod
@@ -740,7 +738,7 @@ def _on_app_font_size_changed(_value: float, *args: Any) -> 
None:
     def _get_theme_items() -> list[str]:
         return ["default", *app.css_config.themes]
 
-    def _on_style_changed(self, *args: Any) -> None:
+    def _on_theme_update(self, *args: Any) -> None:
         dropdown_row = cast(DropDownSetting, self.get_setting("roster_theme"))
         dropdown_row.update_entries(self._get_theme_items())
         dropdown_row.select_key(app.settings.get("roster_theme"))
@@ -751,15 +749,12 @@ def _on_edit_themes(self, _button: Gtk.Button) -> None:
         open_window("Themes", transient=window.window)
 
     def _on_theme_changed(self, value: str, *args: Any) -> None:
-        app.ged.remove_event_handler("style-changed", ged.GUI1, 
self._on_style_changed)
+        app.ged.remove_event_handler("theme-update", ged.GUI1, 
self._on_theme_update)
 
         app.css_config.change_theme(value)
         app.ged.raise_event(ThemeUpdate())
-        app.ged.raise_event(StyleChanged())
 
-        app.ged.register_event_handler(
-            "style-changed", ged.GUI1, self._on_style_changed
-        )
+        app.ged.register_event_handler("theme-update", ged.GUI1, 
self._on_theme_update)
 
     @staticmethod
     def _on_dark_theme(value: str, *args: Any) -> None:


=====================================
gajim/gtk/themes.py
=====================================
@@ -263,9 +263,10 @@ def _on_remove_theme(self, *args: Any) -> None:
         def _remove_theme():
             if theme == app.settings.get("roster_theme"):
                 self._apply_theme("default")
-                app.ged.raise_event(StyleChanged())
 
             app.css_config.remove_theme(theme)
+            app.ged.raise_event(ThemeUpdate())
+
             assert isinstance(store, Gtk.ListStore)
             assert iter_ is not None
             store.remove(iter_)



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/8bd6d3929fbb91228bb6e399ea6fe62bbbb7fd2c

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/8bd6d3929fbb91228bb6e399ea6fe62bbbb7fd2c
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to