ability to send custom status to a whole group. see #342
This commit is contained in:
parent
68e2c7ddd3
commit
1309db624b
1 changed files with 23 additions and 3 deletions
|
@ -1814,7 +1814,7 @@ class RosterWindow:
|
||||||
state_images = self.load_iconset(path)
|
state_images = self.load_iconset(path)
|
||||||
status_menuitem = gtk.ImageMenuItem(helpers.get_uf_show(s))
|
status_menuitem = gtk.ImageMenuItem(helpers.get_uf_show(s))
|
||||||
status_menuitem.connect('activate', self.on_send_custom_status,
|
status_menuitem.connect('activate', self.on_send_custom_status,
|
||||||
account, contact.jid, s)
|
[(contact, account)], s)
|
||||||
icon = state_images[s]
|
icon = state_images[s]
|
||||||
status_menuitem.set_image(icon)
|
status_menuitem.set_image(icon)
|
||||||
status_menuitems.append(status_menuitem)
|
status_menuitems.append(status_menuitem)
|
||||||
|
@ -2179,6 +2179,25 @@ class RosterWindow:
|
||||||
group_message_to_all_item.connect('activate',
|
group_message_to_all_item.connect('activate',
|
||||||
self.on_send_single_message_menuitem_activate, account, list_)
|
self.on_send_single_message_menuitem_activate, account, list_)
|
||||||
|
|
||||||
|
send_custom_status_menuitem = gtk.ImageMenuItem(_('Send Cus_tom Status'))
|
||||||
|
# add a special img for this menuitem
|
||||||
|
icon = gtk.image_new_from_stock(gtk.STOCK_GO_UP, gtk.ICON_SIZE_MENU)
|
||||||
|
send_custom_status_menuitem.set_image(icon)
|
||||||
|
status_menuitems = gtk.Menu()
|
||||||
|
send_custom_status_menuitem.set_submenu(status_menuitems)
|
||||||
|
iconset = gajim.config.get('iconset')
|
||||||
|
path = os.path.join(gajim.DATA_DIR, 'iconsets', iconset, '16x16')
|
||||||
|
for s in ['online', 'chat', 'away', 'xa', 'dnd', 'offline']:
|
||||||
|
# icon MUST be different instance for every item
|
||||||
|
state_images = self.load_iconset(path)
|
||||||
|
status_menuitem = gtk.ImageMenuItem(helpers.get_uf_show(s))
|
||||||
|
status_menuitem.connect('activate', self.on_send_custom_status, list_,
|
||||||
|
s)
|
||||||
|
icon = state_images[s]
|
||||||
|
status_menuitem.set_image(icon)
|
||||||
|
status_menuitems.append(status_menuitem)
|
||||||
|
menu.append(send_custom_status_menuitem)
|
||||||
|
|
||||||
event_button = gtkgui_helpers.get_possible_button_event(event)
|
event_button = gtkgui_helpers.get_possible_button_event(event)
|
||||||
|
|
||||||
menu.attach_to_widget(self.tree, None)
|
menu.attach_to_widget(self.tree, None)
|
||||||
|
@ -2880,12 +2899,13 @@ class RosterWindow:
|
||||||
else:
|
else:
|
||||||
change(None, account, status)
|
change(None, account, status)
|
||||||
|
|
||||||
def on_send_custom_status(self, widget, account, jid, show):
|
def on_send_custom_status(self, widget, contact_list, show):
|
||||||
'''send custom status'''
|
'''send custom status'''
|
||||||
dlg = dialogs.ChangeStatusMessageDialog(show)
|
dlg = dialogs.ChangeStatusMessageDialog(show)
|
||||||
message = dlg.run()
|
message = dlg.run()
|
||||||
if message is not None: # None if user pressed Cancel
|
if message is not None: # None if user pressed Cancel
|
||||||
self.send_status(account, show, message, to = jid)
|
for (contact, account) in contact_list:
|
||||||
|
self.send_status(account, show, message, to = contact.jid)
|
||||||
|
|
||||||
def on_status_combobox_changed(self, widget):
|
def on_status_combobox_changed(self, widget):
|
||||||
'''When we change our status via the combobox'''
|
'''When we change our status via the combobox'''
|
||||||
|
|
Loading…
Add table
Reference in a new issue