From 616125d95e3f0af3800a200c8414b849e2b45e06 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Sun, 4 Oct 2009 11:28:20 +0200 Subject: [PATCH] [praveen & I] ability to Ctrl+ H / I in roster to show history or information dialog of a contact. Fixes #5301 --- src/roster_window.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/roster_window.py b/src/roster_window.py index c5eb1474e..7b63400b7 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -3510,6 +3510,28 @@ class RosterWindow: not gajim.config.get('quit_on_roster_x_button'): self.tooltip.hide_tooltip() self.window.hide() + elif gtk.gdk.CONTROL_MASK and event.keyval == gtk.keysyms.i: + treeselection = self.tree.get_selection() + model, list_of_paths = treeselection.get_selected_rows() + for path in list_of_paths: + type_ = model[path][C_TYPE] + if type_ in ('contact', 'agent'): + jid = model[path][C_JID].decode('utf-8') + account = model[path][C_ACCOUNT].decode('utf-8') + contact = gajim.contacts.get_first_contact_from_jid(account, jid) + self.on_info(widget, contact, account) + elif gtk.gdk.CONTROL_MASK and event.keyval == gtk.keysyms.h: + treeselection = self.tree.get_selection() + model, list_of_paths = treeselection.get_selected_rows() + if len(list_of_paths) != 1: + return + path = list_of_paths[0] + type_ = model[path][C_TYPE] + if type_ in ('contact', 'agent'): + jid = model[path][C_JID].decode('utf-8') + account = model[path][C_ACCOUNT].decode('utf-8') + contact = gajim.contacts.get_first_contact_from_jid(account, jid) + self.on_history(widget, contact, account) def on_roster_window_popup_menu(self, widget): event = gtk.gdk.Event(gtk.gdk.KEY_PRESS)