From 3434d2d839932c25e7d255bcae738bc2d1e9dbb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Wed, 15 Apr 2026 09:59:01 -0700 Subject: [PATCH 1/2] SourceList: use key controller --- src/Widgets/SourceList/SourceList.vala | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/Widgets/SourceList/SourceList.vala b/src/Widgets/SourceList/SourceList.vala index 84353e786..0f53c875c 100644 --- a/src/Widgets/SourceList/SourceList.vala +++ b/src/Widgets/SourceList/SourceList.vala @@ -1571,6 +1571,7 @@ public class SourceList : Gtk.ScrolledWindow { private Gtk.Entry? editable_entry; private Gtk.CellRendererText text_cell; + private Gtk.EventControllerKey key_controller; private CellRendererIcon icon_cell; private CellRendererIcon activatable_cell; private CellRendererBadge badge_cell; @@ -1725,6 +1726,9 @@ public class SourceList : Gtk.ScrolledWindow { query_tooltip.connect_after (on_query_tooltip); has_tooltip = true; + + key_controller = new Gtk.EventControllerKey (this); + key_controller.key_released.connect (key_release_event); } ~Tree () { @@ -2239,19 +2243,19 @@ public class SourceList : Gtk.ScrolledWindow { } } - public override bool key_release_event (Gdk.EventKey event) { - if (selected_item != null) { - switch (event.keyval) { - case Gdk.Key.F2: - var modifiers = Gtk.accelerator_get_default_mod_mask (); - // try to start editing selected item - if ((event.state & modifiers) == 0 && selected_item.editable) - start_editing_item (selected_item); - break; - } + private void key_release_event (uint keyval, uint keycode, Gdk.ModifierType state) { + if (selected_item == null) { + return; } - return base.key_release_event (event); + switch (keyval) { + case Gdk.Key.F2: + var modifiers = Gtk.accelerator_get_default_mod_mask (); + // try to start editing selected item + if ((state & modifiers) == 0 && selected_item.editable) + start_editing_item (selected_item); + break; + } } public override bool button_release_event (Gdk.EventButton event) { From 1900f5c4bd2f59b358bbc163548c7e9129180891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Wed, 15 Apr 2026 10:01:17 -0700 Subject: [PATCH 2/2] Fix warning --- src/Widgets/SourceList/SourceList.vala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Widgets/SourceList/SourceList.vala b/src/Widgets/SourceList/SourceList.vala index 0f53c875c..d44128196 100644 --- a/src/Widgets/SourceList/SourceList.vala +++ b/src/Widgets/SourceList/SourceList.vala @@ -1728,7 +1728,7 @@ public class SourceList : Gtk.ScrolledWindow { has_tooltip = true; key_controller = new Gtk.EventControllerKey (this); - key_controller.key_released.connect (key_release_event); + key_controller.key_released.connect (on_key_released); } ~Tree () { @@ -2243,7 +2243,7 @@ public class SourceList : Gtk.ScrolledWindow { } } - private void key_release_event (uint keyval, uint keycode, Gdk.ModifierType state) { + private void on_key_released (uint keyval, uint keycode, Gdk.ModifierType state) { if (selected_item == null) { return; }