use Ctrl + Shift + n to change nick in groupchats. Fixes #5450

This commit is contained in:
Yann Leboulanger 2010-01-26 19:55:28 +01:00
parent 7923ff54c1
commit d8c3e6f39f
2 changed files with 9 additions and 11 deletions

View file

@ -688,7 +688,7 @@ class GroupchatControl(ChatControlBase):
ag = gtk.accel_groups_from_object(self.parent_win.window)[0]
change_nick_menuitem.add_accelerator('activate', ag, gtk.keysyms.n,
gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK, gtk.ACCEL_VISIBLE)
change_subject_menuitem.add_accelerator('activate', ag,
gtk.keysyms.t, gtk.gdk.MOD1_MASK, gtk.ACCEL_VISIBLE)
bookmark_room_menuitem.add_accelerator('activate', ag, gtk.keysyms.b,
@ -760,7 +760,7 @@ class GroupchatControl(ChatControlBase):
# destroy accelerators
ag = gtk.accel_groups_from_object(self.parent_win.window)[0]
change_nick_menuitem.remove_accelerator(ag, gtk.keysyms.n,
gtk.gdk.CONTROL_MASK)
gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK)
change_subject_menuitem.remove_accelerator(ag, gtk.keysyms.t,
gtk.gdk.MOD1_MASK)
bookmark_room_menuitem.remove_accelerator(ag, gtk.keysyms.b,

View file

@ -101,8 +101,8 @@ class MessageWindow(object):
self.handlers[id_] = self.window
keys=['<Control>f', '<Control>g', '<Control>h', '<Control>i',
'<Control>l', '<Control>L', '<Control>n', '<Control>u',
'<Control>b', '<Control><Shift>Tab', '<Control>Tab', '<Control>F4',
'<Control>l', '<Control>L', '<Control><Shift>n', '<Control>u',
'<Control>b', '<Control>F4',
'<Control>w', '<Control>Page_Up', '<Control>Page_Down', '<Alt>Right',
'<Alt>Left', '<Alt>d', '<Alt>c', '<Alt>m', '<Alt>t', 'Escape'] + \
['<Alt>'+str(i) for i in xrange(10)]
@ -352,19 +352,12 @@ class MessageWindow(object):
control._on_contact_information_menuitem_activate(None)
elif keyval == gtk.keysyms.l or keyval == gtk.keysyms.L: # CTRL + l|L
control.conv_textview.clear()
elif control.type_id == message_control.TYPE_GC and \
keyval == gtk.keysyms.n: # CTRL + n
control._on_change_nick_menuitem_activate(None)
elif keyval == gtk.keysyms.u: # CTRL + u: emacs style clear line
control.clear(control.msg_textview)
elif control.type_id == message_control.TYPE_GC and \
keyval == gtk.keysyms.b: # CTRL + b
control._on_bookmark_room_menuitem_activate(None)
# Tab switch bindings
elif keyval == gtk.keysyms.ISO_Left_Tab: # CTRL + SHIFT + TAB
self.move_to_next_unread_tab(False)
elif keyval == gtk.keysyms.Tab: # CTRL + TAB
self.move_to_next_unread_tab(True)
elif keyval == gtk.keysyms.F4: # CTRL + F4
self.remove_tab(control, self.CLOSE_CTRL_KEY)
elif keyval == gtk.keysyms.w: # CTRL + w
@ -383,6 +376,11 @@ class MessageWindow(object):
event.keyval = int(keyval)
self.notebook.emit('key_press_event', event)
if modifier & gtk.gdk.SHIFT_MASK:
# CTRL + SHIFT
if control.type_id == message_control.TYPE_GC and \
keyval == gtk.keysyms.n: # CTRL + SHIFT + n
control._on_change_nick_menuitem_activate(None)
# MOD1 (ALT) mask
elif modifier & gtk.gdk.MOD1_MASK:
# Tab switch bindings