ability to invite a room occupant to another room if we know his real JID directly from the groupchat contact menu. Fixes #4443
This commit is contained in:
parent
6601411498
commit
eb83680786
|
@ -94,6 +94,15 @@
|
|||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="invite_menuitem">
|
||||
<property name="label" translatable="yes">In_vite to</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="image">image7</property>
|
||||
<property name="use_stock">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separator6">
|
||||
<property name="visible">True</property>
|
||||
|
@ -185,4 +194,8 @@
|
|||
<property name="stock">gtk-justify-fill</property>
|
||||
<property name="icon-size">1</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="image7">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-missing-image</property>
|
||||
</object>
|
||||
</interface>
|
||||
|
|
|
@ -2336,6 +2336,16 @@ class GroupchatControl(ChatControlBase):
|
|||
jid)
|
||||
self.handlers[id_] = item
|
||||
|
||||
item = xml.get_object('invite_menuitem')
|
||||
muc_icon = gtkgui_helpers.load_icon('muc_active')
|
||||
if muc_icon:
|
||||
item.set_image(muc_icon)
|
||||
if c.jid and c.name != self.nick:
|
||||
gui_menu_builder.build_invite_submenu(item, ((c, self.account),),
|
||||
ignore_rooms=[self.room_jid])
|
||||
else:
|
||||
item.set_sensitive(False)
|
||||
|
||||
item = xml.get_object('information_menuitem')
|
||||
id_ = item.connect('activate', self.on_info, nick)
|
||||
self.handlers[id_] = item
|
||||
|
|
|
@ -62,7 +62,7 @@ def build_resources_submenu(contacts, account, action, room_jid=None,
|
|||
|
||||
return sub_menu
|
||||
|
||||
def build_invite_submenu(invite_menuitem, list_):
|
||||
def build_invite_submenu(invite_menuitem, list_, ignore_rooms=[]):
|
||||
"""
|
||||
list_ in a list of (contact, account)
|
||||
"""
|
||||
|
@ -126,6 +126,8 @@ def build_invite_submenu(invite_menuitem, list_):
|
|||
message_control.TYPE_GC) + minimized_controls:
|
||||
acct = gc_control.account
|
||||
room_jid = gc_control.room_jid
|
||||
if room_jid in ignore_rooms:
|
||||
continue
|
||||
if room_jid in gajim.gc_connected[acct] and \
|
||||
gajim.gc_connected[acct][room_jid] and \
|
||||
contacts_transport == gajim.get_transport_name_from_jid(room_jid):
|
||||
|
|
Loading…
Reference in New Issue