Skip to content

Commit 58c07a8

Browse files
danirabbitjeremypw
andauthored
SourceList: use key controller (#1710)
* SourceList: use key controller * Fix warning --------- Co-authored-by: Jeremy Wootten <jeremywootten@gmail.com>
1 parent 37626d9 commit 58c07a8

1 file changed

Lines changed: 15 additions & 11 deletions

File tree

src/Widgets/SourceList/SourceList.vala

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1571,6 +1571,7 @@ public class SourceList : Gtk.ScrolledWindow {
15711571

15721572
private Gtk.Entry? editable_entry;
15731573
private Gtk.CellRendererText text_cell;
1574+
private Gtk.EventControllerKey key_controller;
15741575
private CellRendererIcon icon_cell;
15751576
private CellRendererIcon activatable_cell;
15761577
private CellRendererBadge badge_cell;
@@ -1725,6 +1726,9 @@ public class SourceList : Gtk.ScrolledWindow {
17251726

17261727
query_tooltip.connect_after (on_query_tooltip);
17271728
has_tooltip = true;
1729+
1730+
key_controller = new Gtk.EventControllerKey (this);
1731+
key_controller.key_released.connect (on_key_released);
17281732
}
17291733

17301734
~Tree () {
@@ -2239,19 +2243,19 @@ public class SourceList : Gtk.ScrolledWindow {
22392243
}
22402244
}
22412245

2242-
public override bool key_release_event (Gdk.EventKey event) {
2243-
if (selected_item != null) {
2244-
switch (event.keyval) {
2245-
case Gdk.Key.F2:
2246-
var modifiers = Gtk.accelerator_get_default_mod_mask ();
2247-
// try to start editing selected item
2248-
if ((event.state & modifiers) == 0 && selected_item.editable)
2249-
start_editing_item (selected_item);
2250-
break;
2251-
}
2246+
private void on_key_released (uint keyval, uint keycode, Gdk.ModifierType state) {
2247+
if (selected_item == null) {
2248+
return;
22522249
}
22532250

2254-
return base.key_release_event (event);
2251+
switch (keyval) {
2252+
case Gdk.Key.F2:
2253+
var modifiers = Gtk.accelerator_get_default_mod_mask ();
2254+
// try to start editing selected item
2255+
if ((state & modifiers) == 0 && selected_item.editable)
2256+
start_editing_item (selected_item);
2257+
break;
2258+
}
22552259
}
22562260

22572261
public override bool button_release_event (Gdk.EventButton event) {

0 commit comments

Comments
 (0)