[OlegOAndreev] add Ctrl+K support to enable roster filter. Fixes #7302

This commit is contained in:
Yann Leboulanger 2013-02-16 12:27:28 +01:00
parent 4d0f63cd3a
commit 4b797e4d3c
1 changed files with 14 additions and 0 deletions

View File

@ -3588,6 +3588,8 @@ class RosterWindow:
self.send_pep(account, pep_dict)
dialogs.ChangeStatusMessageDialog(on_response, status)
return True
elif keyval == Gdk.KEY_k: # CTRL + k
self.enable_rfilter('')
def on_roster_treeview_button_press_event(self, widget, event):
# hide tooltip, no matter the button is pressed
@ -4479,6 +4481,10 @@ class RosterWindow:
self.tree.expand_all()
self.rfilter_entry.set_position(-1)
# If roster is hidden, let's temporarily show it. This can happen if user
# enables rfilter via keyboard shortcut.
self.show_roster_vbox(True)
def disable_rfilter(self):
self.rfilter_enabled = False
self.rfilter_entry.set_text('')
@ -4488,6 +4494,9 @@ class RosterWindow:
self.tree.grab_focus()
self._readjust_expand_collapse_state()
# If roster was hidden before enable_rfilter was called, hide it back.
self.on_show_roster_menuitem_toggled(self.xml.get_object('show_roster_menuitem'))
def on_roster_hpaned_notify(self, pane, gparamspec):
"""
Keep changing the width of the roster
@ -6717,6 +6726,11 @@ class RosterWindow:
keyval, mod = Gtk.accelerator_parse('<Control>s')
accel_group.connect(keyval, mod, Gtk.AccelFlags.VISIBLE,
self.accel_group_func)
# Setting CTRL+k to focus rfilter_entry
keyval, mod = Gtk.accelerator_parse('<Control>k')
accel_group.connect(keyval, mod, Gtk.AccelFlags.VISIBLE,,
self.accel_group_func)
self.window.add_accel_group(accel_group)
# Setting the search stuff