| 4219 | | if gajim.config.get_per('accounts', account, 'is_zeroconf'): |
| 4220 | | continue |
| 4221 | | |
| 4222 | | # single message |
| 4223 | | single_message_item = gtk.MenuItem(_('using account %s') % account, |
| 4224 | | False) |
| 4225 | | single_message_sub_menu.append(single_message_item) |
| 4226 | | single_message_item.connect('activate', |
| 4227 | | self.on_send_single_message_menuitem_activate, account) |
| 4228 | | |
| 4229 | | # join gc |
| 4230 | | if gajim.connections[account].private_storage_supported: |
| 4231 | | connected_accounts_with_private_storage += 1 |
| 4232 | | gc_item = gtk.MenuItem(_('using account %s') % account, False) |
| 4233 | | gc_sub_menu.append(gc_item) |
| 4234 | | gc_menuitem_menu = gtk.Menu() |
| 4235 | | self.add_bookmarks_list(gc_menuitem_menu, account) |
| 4236 | | gc_item.set_submenu(gc_menuitem_menu) |
| 4237 | | |
| 4238 | | # add |
| 4239 | | add_item = gtk.MenuItem(_('to %s account') % account, False) |
| 4240 | | add_sub_menu.append(add_item) |
| 4241 | | add_item.connect('activate', self.on_add_new_contact, account) |
| 4242 | | |
| 4243 | | # disco |
| 4244 | | disco_item = gtk.MenuItem(_('using %s account') % account, False) |
| 4245 | | disco_sub_menu.append(disco_item) |
| 4246 | | disco_item.connect('activate', |
| 4247 | | self.on_service_disco_menuitem_activate, account) |
| 4248 | | |
| 4249 | | add_new_contact_menuitem.set_submenu(add_sub_menu) |
| 4250 | | add_sub_menu.show_all() |
| 4251 | | service_disco_menuitem.set_submenu(disco_sub_menu) |
| 4252 | | disco_sub_menu.show_all() |
| | 4224 | # new chat |
| | 4225 | if not self.new_chat_menuitem_handler_id: |
| | 4226 | self.new_chat_menuitem_handler_id = new_chat_menuitem.\ |
| | 4227 | connect('activate', self.on_new_chat_menuitem_activate, |
| | 4228 | account) |
| | 4229 | |
| | 4230 | break |
| | 4231 | |
| | 4232 | # menu items that don't apply to zeroconf connections |
| | 4233 | if connected_accounts == 1 or (connected_accounts == 2 and \ |
| | 4234 | gajim.zeroconf_is_connected()): |
| | 4235 | # only one 'real' (non-zeroconf) account is connected, don't need submenus |
| | 4236 | |
| | 4237 | for account in accounts_list: |
| | 4238 | if gajim.account_is_connected(account) and \ |
| | 4239 | not gajim.config.get_per('accounts', account, 'is_zeroconf'): |
| | 4270 | else: |
| | 4271 | # 2 or more 'real' accounts are connected, make submenus |
| | 4272 | single_message_sub_menu = gtk.Menu() |
| | 4273 | add_sub_menu = gtk.Menu() |
| | 4274 | disco_sub_menu = gtk.Menu() |
| | 4275 | |
| | 4276 | for account in accounts_list: |
| | 4277 | if gajim.connections[account].connected <= 1 or \ |
| | 4278 | gajim.config.get_per('accounts', account, 'is_zeroconf'): |
| | 4279 | # skip account if it's offline or connecting or is zeroconf |
| | 4280 | continue |
| | 4281 | |
| | 4282 | # single message |
| | 4283 | single_message_item = gtk.MenuItem(_('using account %s') % account, |
| | 4284 | False) |
| | 4285 | single_message_sub_menu.append(single_message_item) |
| | 4286 | single_message_item.connect('activate', |
| | 4287 | self.on_send_single_message_menuitem_activate, account) |
| | 4288 | |
| | 4289 | # join gc |
| | 4290 | if gajim.connections[account].private_storage_supported: |
| | 4291 | connected_accounts_with_private_storage += 1 |
| | 4292 | gc_item = gtk.MenuItem(_('using account %s') % account, False) |
| | 4293 | gc_sub_menu.append(gc_item) |
| | 4294 | gc_menuitem_menu = gtk.Menu() |
| | 4295 | self.add_bookmarks_list(gc_menuitem_menu, account) |
| | 4296 | gc_item.set_submenu(gc_menuitem_menu) |
| | 4297 | |
| | 4298 | # add |
| | 4299 | add_item = gtk.MenuItem(_('to %s account') % account, False) |
| | 4300 | add_sub_menu.append(add_item) |
| | 4301 | add_item.connect('activate', self.on_add_new_contact, account) |
| | 4302 | |
| | 4303 | # disco |
| | 4304 | disco_item = gtk.MenuItem(_('using %s account') % account, False) |
| | 4305 | disco_sub_menu.append(disco_item) |
| | 4306 | disco_item.connect('activate', |
| | 4307 | self.on_service_disco_menuitem_activate, account) |
| | 4308 | |
| | 4309 | single_message_menuitem.set_submenu(single_message_sub_menu) |
| | 4310 | single_message_sub_menu.show_all() |
| | 4311 | gc_sub_menu.show_all() |
| | 4312 | add_new_contact_menuitem.set_submenu(add_sub_menu) |
| | 4313 | add_sub_menu.show_all() |
| | 4314 | service_disco_menuitem.set_submenu(disco_sub_menu) |
| | 4315 | disco_sub_menu.show_all() |