mirror of
https://github.com/lutris/lutris.git
synced 2026-06-17 10:19:58 -04:00
EditableGrid (used for the env-var mapping in System options) was the last Gtk.TreeView in a config dialog. Replace it with a Gtk.ListBox of rows, each row containing one Gtk.Entry per column plus a small reset-button-styled delete icon. Always-editable Entries are nicer for the short key/value tables this widget is used for than the old click-to-edit cells, and the code is dramatically simpler. CSS in share/lutris/ui/lutris.css strips entry borders/shadow/radius, zeroes ListBoxRow padding, draws a 1-px column separator between entries within a row, and gives the focused entry a subtle accent tint. A Gtk.Frame around the ScrolledWindow gives the empty state a visible border so it doesn't read as a void. Same constructor signature, same "changed" signal, same get_data() return shape — the caller in widget_generator.py is unchanged. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>