From 812e8c331dee341bc953e308af4250c99147b8cf Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Fri, 1 Nov 2013 12:08:05 +0100 Subject: [PATCH] fix inviting several contacts to a room. And don't allow to invite transports. Fixes 7527 --- src/gui_menu_builder.py | 12 +++++++++++- src/roster_window.py | 15 +++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/gui_menu_builder.py b/src/gui_menu_builder.py index 4a020ad11..1e0dffa45 100644 --- a/src/gui_menu_builder.py +++ b/src/gui_menu_builder.py @@ -109,8 +109,18 @@ def build_invite_submenu(invite_menuitem, list_, ignore_rooms=[]): resource = None invite_to_new_room_menuitem.connect('activate', roster.on_invite_to_new_room, list_, resource) + elif len(list_) > 1: + list2 = [] + for (c, a) in list_: + if c.supports(NS_MUC): + list2.append((c, a)) + if len(list2) > 0: + invite_to_new_room_menuitem.connect('activate', + roster.on_invite_to_new_room, list2, None) + else: + invite_menuitem.set_sensitive(False) else: - invite_menuitem.set_sensitive(True) + invite_menuitem.set_sensitive(False) # transform None in 'jabber' c_t = contacts_transport or 'jabber' muc_jid = {} diff --git a/src/roster_window.py b/src/roster_window.py index b09261985..c9977319c 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -5782,13 +5782,16 @@ class RosterWindow: self.on_send_single_message_menuitem_activate, account, list_) # Invite to - invite_menuitem = Gtk.ImageMenuItem.new_with_mnemonic(_('In_vite to')) - muc_icon = gtkgui_helpers.load_icon('muc_active') - if muc_icon: - invite_menuitem.set_image(muc_icon) + if group != _('Transports'): + invite_menuitem = Gtk.ImageMenuItem.new_with_mnemonic( + _('In_vite to')) + muc_icon = gtkgui_helpers.load_icon('muc_active') + if muc_icon: + invite_menuitem.set_image(muc_icon) - gui_menu_builder.build_invite_submenu(invite_menuitem, list_online) - menu.append(invite_menuitem) + gui_menu_builder.build_invite_submenu(invite_menuitem, + list_online) + menu.append(invite_menuitem) # Send Custom Status send_custom_status_menuitem = Gtk.ImageMenuItem.new_with_mnemonic(