changeset 6ac29ff1c8f0 in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=6ac29ff1c8f0
description: ability to invite a room occupant to another room if we know his
real JID directly from the groupchat contact menu. Fixes #4443
diffstat:
data/gui/gc_occupants_menu.ui | 13 +++++++++++++
src/groupchat_control.py | 10 ++++++++++
src/gui_menu_builder.py | 4 +++-
3 files changed, 26 insertions(+), 1 deletions(-)
diffs (69 lines):
diff -r 70779aa6f414 -r 6ac29ff1c8f0 data/gui/gc_occupants_menu.ui
--- a/data/gui/gc_occupants_menu.ui Tue Mar 29 18:33:04 2011 +0400
+++ b/data/gui/gc_occupants_menu.ui Wed Mar 30 15:23:10 2011 +0200
@@ -95,6 +95,15 @@
</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>
</object>
@@ -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>
diff -r 70779aa6f414 -r 6ac29ff1c8f0 src/groupchat_control.py
--- a/src/groupchat_control.py Tue Mar 29 18:33:04 2011 +0400
+++ b/src/groupchat_control.py Wed Mar 30 15:23:10 2011 +0200
@@ -2336,6 +2336,16 @@
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
diff -r 70779aa6f414 -r 6ac29ff1c8f0 src/gui_menu_builder.py
--- a/src/gui_menu_builder.py Tue Mar 29 18:33:04 2011 +0400
+++ b/src/gui_menu_builder.py Wed Mar 30 15:23:10 2011 +0200
@@ -62,7 +62,7 @@
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 @@
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):
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits