diff --git a/data/glade/message_window.glade b/data/glade/message_window.glade index 2b2f0d0f2..5bee7cad8 100644 --- a/data/glade/message_window.glade +++ b/data/glade/message_window.glade @@ -187,7 +187,7 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Send a file + Send a file (Ctrl-F) GTK_RELIEF_NONE False 0 @@ -209,7 +209,7 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Invite contacts to the conversation + Invite contacts to the conversation (Ctrl-G) GTK_RELIEF_NONE False 0 @@ -611,7 +611,7 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Change your nickname + Change your nickname (Ctrl-N) GTK_RELIEF_NONE 0 @@ -633,7 +633,7 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Change the room's subject + Change the room's subject (Ctrl-T) GTK_RELIEF_NONE 0 @@ -655,7 +655,7 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Bookmark this room + Bookmark this room (Ctrl-B) GTK_RELIEF_NONE 0 diff --git a/src/chat_control.py b/src/chat_control.py index d5d532059..37e6eec76 100644 --- a/src/chat_control.py +++ b/src/chat_control.py @@ -1705,6 +1705,10 @@ class ChatControl(ChatControlBase): convert_to_gc_menuitem.set_image(muc_icon) ag = gtk.accel_groups_from_object(self.parent_win.window)[0] + send_file_menuitem.add_accelerator('activate', ag, gtk.keysyms.f, gtk.gdk.CONTROL_MASK, + gtk.ACCEL_VISIBLE) + convert_to_gc_menuitem.add_accelerator('activate', ag, gtk.keysyms.g, gtk.gdk.CONTROL_MASK, + gtk.ACCEL_VISIBLE) history_menuitem.add_accelerator('activate', ag, gtk.keysyms.h, gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE) information_menuitem.add_accelerator('activate', ag, gtk.keysyms.i, diff --git a/src/groupchat_control.py b/src/groupchat_control.py index 2174f79f3..8394ccf9d 100644 --- a/src/groupchat_control.py +++ b/src/groupchat_control.py @@ -561,6 +561,12 @@ class GroupchatControl(ChatControlBase): def prepare_context_menu(self): '''sets sensitivity state for configure_room''' ag = gtk.accel_groups_from_object(self.parent_win.window)[0] + self.change_nick_menuitem.add_accelerator('activate', ag, gtk.keysyms.n, + gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE) + self.change_subject_menuitem.add_accelerator('activate', ag, gtk.keysyms.t, + gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE) + self.bookmark_room_menuitem.add_accelerator('activate', ag, gtk.keysyms.b, + gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE) self.history_menuitem.add_accelerator('activate', ag, gtk.keysyms.h, gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE) if self.contact.jid in gajim.config.get_per('accounts', self.account, diff --git a/src/message_window.py b/src/message_window.py index 72f87435d..7d98e81d0 100644 --- a/src/message_window.py +++ b/src/message_window.py @@ -86,9 +86,11 @@ class MessageWindow(object): id = self.window.connect('focus-in-event', self._on_window_focus) self.handlers[id] = self.window - keys=['h', 'i', 'Tab', - 'Tab', 'F4', 'w', - 'Right', 'Left', 'c', 'Escape'] +\ + keys=['f', 'g', 'h', 'i', + 'n', 't', 'b', + 'Tab', 'Tab', + 'F4', 'w', 'Right', + 'Left', 'c', 'Escape'] +\ [''+str(i) for i in xrange(10)] accel_group = gtk.AccelGroup() for key in keys: @@ -290,8 +292,23 @@ class MessageWindow(object): if keyval == gtk.keysyms.h: control._on_history_menuitem_activate() elif control.type_id == message_control.TYPE_CHAT and \ + keyval == gtk.keysyms.f: + control._on_send_file_menuitem_activate(None) + elif control.type_id == message_control.TYPE_CHAT and \ + keyval == gtk.keysyms.g: + control._on_convert_to_gc_menuitem_activate(None) + elif control.type_id == message_control.TYPE_CHAT and \ keyval == gtk.keysyms.i: control._on_contact_information_menuitem_activate(None) + elif control.type_id == message_control.TYPE_GC and \ + keyval == gtk.keysyms.n: + control._on_change_nick_menuitem_activate(None) + elif control.type_id == message_control.TYPE_GC and \ + keyval == gtk.keysyms.t: + control._on_change_subject_menuitem_activate(None) + elif control.type_id == message_control.TYPE_GC and \ + keyval == gtk.keysyms.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)