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.
This commit is contained in:
Jamie Gravendeel
2025-12-02 23:14:42 +01:00
committed by Laura Kramolis
parent f3e59bdbbf
commit 093c10f574
2 changed files with 7 additions and 3 deletions

View File

@@ -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 {

View File

@@ -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()):