From ff6b4f49b779520e51e691b3bffec269333b7132 Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Sun, 9 Mar 2008 12:22:01 +0000 Subject: [PATCH] Return in the entry activates the selected item. --- rox/shell/shell.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/rox/shell/shell.py b/rox/shell/shell.py index 75528a9..6aa202b 100644 --- a/rox/shell/shell.py +++ b/rox/shell/shell.py @@ -8,6 +8,7 @@ from zeroinstall.support import tasks # tmp import _gio as gio import gobject import gtk +from gtk import keysyms icon_size = 48 @@ -102,17 +103,22 @@ class ShellView: self.command_area.show_all() def key_press_event(self, window, kev): - if kev.keyval == gtk.keysyms.Escape: + if kev.keyval == keysyms.Escape: self.iv.grab_focus() self.entry.set_text('') self.iv.unselect_all() return True + elif kev.keyval in (keysyms.Return, keysyms.KP_Enter, keysyms.ISO_Enter): + selected = self.iv.get_selected_items() + if len(selected) == 1: + self.iv.item_activated(selected[0]) + return True if self.iv.flags() & gtk.HAS_FOCUS: if self.iv.event(kev): # Handled by IconView (e.g. cursor motion) return True - elif kev.keyval == gtk.keysyms.BackSpace: + elif kev.keyval == keysyms.BackSpace: self.shell.cd_parent() else: old_text = self.entry.get_text() @@ -178,6 +184,9 @@ class ShellView: break def item_activated(self, iv, path): + self.entry.set_text('') + self.iv.grab_focus() # Restore focus to IconView + tm = iv.get_model() name = tm[tm.get_iter(path)][0] self.shell.item_activated(name) -- 2.11.4.GIT