From 90a1740bf0626ce8d981fe2d338d575551f0832f Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Thu, 7 May 2026 07:26:08 +0900 Subject: [PATCH] fix: use MenuShell signal --- dzgui/views/mixins/context_mixin.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/dzgui/views/mixins/context_mixin.py b/dzgui/views/mixins/context_mixin.py index a384c1f..6a0a577 100644 --- a/dzgui/views/mixins/context_mixin.py +++ b/dzgui/views/mixins/context_mixin.py @@ -99,8 +99,8 @@ class ContextMixin(TreeView): if not is_navkey(event.keyval): return False menu = self.context_menu - sel = menu.get_selected_item() children = menu.get_children() + sel = menu.get_selected_item() for i, child in enumerate(children): if sel is child: ind = i @@ -108,18 +108,17 @@ class ContextMixin(TreeView): match event.keyval: case Gdk.KEY_j: - if ind == len(children) - 1: - return True - menu.select_item(children[ind + 1]) + if ind + 1 > len(children) - 1: + return False + menu.emit("move-current", Gtk.MenuDirectionType.NEXT) case Gdk.KEY_k: if ind - 1 < 0: - return True - menu.select_item(children[ind - 1]) + return False + menu.emit("move-current", Gtk.MenuDirectionType.PREV) case Gdk.KEY_g: menu.select_item(children[0]) case Gdk.KEY_G: - ind = len(children) - 1 - menu.select_item(children[ind]) + menu.select_item(children[-1]) case _: return False return True