From 093c10f574f29c9c96deaea31f516a0d8839431d Mon Sep 17 00:00:00 2001 From: Jamie Gravendeel Date: Tue, 2 Dec 2025 23:14:42 +0100 Subject: [PATCH] game-details: Use signal instead of action for entries The entire row becomes insensitive if its action is disabled, so we need a callback as a proxy to avoid that behavior. --- cartridges/ui/game-details.blp | 6 +++--- cartridges/ui/game_details.py | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cartridges/ui/game-details.blp b/cartridges/ui/game-details.blp index 135ded5..0283760 100644 --- a/cartridges/ui/game-details.blp +++ b/cartridges/ui/game-details.blp @@ -255,19 +255,19 @@ template $GameDetails: Adw.NavigationPage { Adw.PreferencesGroup { Adw.EntryRow name_entry { title: _("Title"); - action-name: "details.edit-done"; + entry-activated => $_activate_edit_done(); } Adw.EntryRow developer_entry { title: _("Developer (optional)"); - action-name: "details.edit-done"; + entry-activated => $_activate_edit_done(); } } Adw.PreferencesGroup { Adw.EntryRow executable_entry { title: _("Executable"); - action-name: "details.edit-done"; + entry-activated => $_activate_edit_done(); [suffix] MenuButton { diff --git a/cartridges/ui/game_details.py b/cartridges/ui/game_details.py index 7a284c9..0498375 100644 --- a/cartridges/ui/game_details.py +++ b/cartridges/ui/game_details.py @@ -92,6 +92,10 @@ class GameDetails(Adw.NavigationPage): self.stack.props.visible_child_name = "details" + @Gtk.Template.Callback() + def _activate_edit_done(self, _entry): + self.activate_action("details.edit-done") + @Gtk.Template.Callback() def _downscale_image(self, _obj, cover: Gdk.Texture | None) -> Gdk.Texture | None: if cover and (renderer := cast(Gtk.Native, self.props.root).get_renderer()):