bugfix: we need to re-create images when we create a menu
This commit is contained in:
		
							parent
							
								
									9fc4e790e8
								
							
						
					
					
						commit
						b9259399be
					
				
					 2 changed files with 280 additions and 88 deletions
				
			
		|  | @ -564,57 +564,149 @@ class RosterWindow: | |||
| 		user = self.contacts[account][jid][0] | ||||
| 		 | ||||
| 		menu = gtk.Menu() | ||||
| 		item = gtk.MenuItem(_('Start Chat')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_roster_treeview_row_activated, path) | ||||
| 		item = gtk.MenuItem(_('Rename')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_rename, iter, path) | ||||
| 
 | ||||
| 		chat_item = gtk.MenuItem() | ||||
| 		chat_icon = gtk.Image() | ||||
| 		chat_icon.set_from_stock(gtk.STOCK_JUMP_TO, gtk.ICON_SIZE_BUTTON) | ||||
| 		label = gtk.Label(_('Start Chat')) | ||||
| 		chat_hbox = gtk.HBox(False, 3) | ||||
| 		chat_hbox.pack_start(chat_icon, False, False) | ||||
| 		chat_hbox.pack_start(label, False, False) | ||||
| 		chat_item.add(chat_hbox) | ||||
| 		menu.append(chat_item) | ||||
| 		chat_item.connect('activate', self.on_roster_treeview_row_activated, path) | ||||
| 
 | ||||
| 		rename_item = gtk.MenuItem() | ||||
| 		rename_icon = gtk.Image() | ||||
| 		rename_icon.set_from_stock(gtk.STOCK_REFRESH, gtk.ICON_SIZE_BUTTON) | ||||
| 		label = gtk.Label(_('Rename')) | ||||
| 		rename_hbox = gtk.HBox(False, 3) | ||||
| 		rename_hbox.pack_start(rename_icon, False, False) | ||||
| 		rename_hbox.pack_start(label, False, False) | ||||
| 		rename_item.add(rename_hbox) | ||||
| 		menu.append(rename_item) | ||||
| 		rename_item.connect('activate', self.on_rename, iter, path) | ||||
| 
 | ||||
| 		if not 'not in the roster' in user.groups: | ||||
| 			item = gtk.MenuItem(_('Edit Groups')) | ||||
| 			menu.append(item) | ||||
| 			item.connect('activate', self.on_edit_groups, user, account) | ||||
| 			edit_groups_item = gtk.MenuItem() | ||||
| 			edit_groups_icon = gtk.Image() | ||||
| 			edit_groups_icon.set_from_stock(gtk.STOCK_EDIT, gtk.ICON_SIZE_BUTTON) | ||||
| 			label = gtk.Label(_('Edit Groups')) | ||||
| 			edit_groups_hbox = gtk.HBox(False, 3) | ||||
| 			edit_groups_hbox.pack_start(edit_groups_icon, False, False) | ||||
| 			edit_groups_hbox.pack_start(label, False, False) | ||||
| 			edit_groups_item.add(edit_groups_hbox) | ||||
| 			menu.append(edit_groups_item) | ||||
| 			edit_groups_item.connect('activate', self.on_edit_groups, user, account) | ||||
| 
 | ||||
| 			item = gtk.MenuItem() | ||||
| 			menu.append(item) | ||||
| 			if gajim.config.get('usegpg'): | ||||
| 				item = gtk.MenuItem(_('Assign OpenPGP Key')) | ||||
| 				menu.append(item) | ||||
| 				item.connect('activate', self.on_assign_pgp_key, user, account) | ||||
| 
 | ||||
| 				gpg_key_item = gtk.MenuItem() | ||||
| 				gpg_key_icon = gtk.Image() | ||||
| 				gpg_key_icon.set_from_stock(gtk.STOCK_DIALOG_AUTHENTICATION, gtk.ICON_SIZE_BUTTON) | ||||
| 				label = gtk.Label(_('Assign OpenPGP Key')) | ||||
| 				gpg_key_hbox = gtk.HBox(False, 3) | ||||
| 				gpg_key_hbox.pack_start(gpg_key_icon, False, False) | ||||
| 				gpg_key_hbox.pack_start(label, False, False) | ||||
| 				gpg_key_item.add(gpg_key_hbox) | ||||
| 				menu.append(gpg_key_item) | ||||
| 				gpg_key_item.connect('activate', self.on_assign_pgp_key, user, account) | ||||
| 
 | ||||
| 				item = gtk.MenuItem() | ||||
| 				menu.append(item) | ||||
| 			item = gtk.MenuItem(_('Subscription')) | ||||
| 			menu.append(item) | ||||
| 
 | ||||
| 			subscription_item = gtk.MenuItem() | ||||
| 			subscription_icon = gtk.Image() | ||||
| 			subscription_icon.set_from_stock(gtk.STOCK_DIALOG_QUESTION, gtk.ICON_SIZE_BUTTON) | ||||
| 			label = gtk.Label(_('Subscription')) | ||||
| 			subscription_hbox = gtk.HBox(False, 3) | ||||
| 			subscription_hbox.pack_start(subscription_icon, False, False) | ||||
| 			subscription_hbox.pack_start(label, False, False) | ||||
| 			subscription_item.add(subscription_hbox) | ||||
| 			menu.append(subscription_item) | ||||
| 
 | ||||
| 			sub_menu = gtk.Menu() | ||||
| 			item.set_submenu(sub_menu) | ||||
| 			subscription_item.set_submenu(sub_menu) | ||||
| 			 | ||||
| 			item = gtk.MenuItem(_('Re_send Authorization to')) | ||||
| 			sub_menu.append(item) | ||||
| 			item.connect('activate', self.authorize, jid, account) | ||||
| 			resend_auth_item = gtk.MenuItem() | ||||
| 			resend_auth_icon = gtk.Image() | ||||
| 			resend_auth_icon.set_from_stock(gtk.STOCK_GO_FORWARD, gtk.ICON_SIZE_BUTTON) | ||||
| 			label = gtk.Label(_('Re_send Authorization to')) | ||||
| 			label.set_use_underline(True) | ||||
| 			resend_auth_hbox = gtk.HBox(False, 3) | ||||
| 			resend_auth_hbox.pack_start(resend_auth_icon, False, False) | ||||
| 			resend_auth_hbox.pack_start(label, False, False) | ||||
| 			resend_auth_item.add(resend_auth_hbox) | ||||
| 			sub_menu.append(resend_auth_item) | ||||
| 			resend_auth_item.connect('activate', self.authorize, jid, account) | ||||
| 			 | ||||
| 			item = gtk.MenuItem(_('Rere_quest Authorization from')) | ||||
| 			sub_menu.append(item) | ||||
| 			item.connect('activate', self.req_sub, jid,  | ||||
| 			rerequest_auth_item = gtk.MenuItem() | ||||
| 			rerequest_auth_icon = gtk.Image() | ||||
| 			rerequest_auth_icon.set_from_stock(gtk.STOCK_GO_BACK, gtk.ICON_SIZE_BUTTON) | ||||
| 			label = gtk.Label(_('Rere_quest Authorization from')) | ||||
| 			label.set_use_underline(True) | ||||
| 			rerequest_auth_hbox = gtk.HBox(False, 3) | ||||
| 			rerequest_auth_hbox.pack_start(rerequest_auth_icon, False, False) | ||||
| 			rerequest_auth_hbox.pack_start(label, False, False) | ||||
| 			rerequest_auth_item.add(rerequest_auth_hbox) | ||||
| 			sub_menu.append(rerequest_auth_item) | ||||
| 			rerequest_auth_item.connect('activate', self.req_sub, jid,  | ||||
| 				_('I would like to add you to my roster'), account) | ||||
| 			 | ||||
| 		else: | ||||
| 			item = gtk.MenuItem() | ||||
| 			menu.append(item) | ||||
| 			item = gtk.MenuItem(_('Add to Roster')) | ||||
| 			menu.append(item) | ||||
| 			item.connect('activate', self.on_add_to_roster, user, account) | ||||
| 
 | ||||
| 		item = gtk.MenuItem(_('Remove')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_req_usub, user, account) | ||||
| 			add_item = gtk.MenuItem() | ||||
| 			add_icon = gtk.Image() | ||||
| 			add_icon.set_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_BUTTON) | ||||
| 			label = gtk.Label(_('_Add to Roster')) | ||||
| 			label.set_use_underline(True) | ||||
| 			add_hbox = gtk.HBox(False, 3) | ||||
| 			add_hbox.pack_start(add_icon, False, False) | ||||
| 			add_hbox.pack_start(label, False, False) | ||||
| 			add_item.add(add_hbox) | ||||
| 			menu.append(add_item) | ||||
| 			add_item.connect('activate', self.on_add_to_roster, user, account) | ||||
| 			 | ||||
| 		remove_item = gtk.MenuItem() | ||||
| 		remove_icon = gtk.Image() | ||||
| 		remove_icon.set_from_stock(gtk.STOCK_REMOVE, gtk.ICON_SIZE_BUTTON) | ||||
| 		label = gtk.Label(_('_Remove from Roster')) | ||||
| 		label.set_use_underline(True) | ||||
| 		remove_hbox = gtk.HBox(False, 3) | ||||
| 		remove_hbox.pack_start(remove_icon, False, False) | ||||
| 		remove_hbox.pack_start(label, False, False) | ||||
| 		remove_item.add(remove_hbox) | ||||
| 		menu.append(remove_item) | ||||
| 		remove_item.connect('activate', self.on_req_usub, user, account) | ||||
| 
 | ||||
| 		item = gtk.MenuItem() | ||||
| 		menu.append(item) | ||||
| 		item = gtk.MenuItem(_('Information')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_info, user, account) | ||||
| 		item = gtk.MenuItem(_('History')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_history, user) | ||||
| 
 | ||||
| 		info_item = gtk.MenuItem() | ||||
| 		info_icon = gtk.Image() | ||||
| 		info_icon.set_from_stock(gtk.STOCK_DIALOG_INFO, gtk.ICON_SIZE_BUTTON) | ||||
| 		label = gtk.Label(_('Information')) | ||||
| 		info_hbox = gtk.HBox(False, 3) | ||||
| 		info_hbox.pack_start(info_icon, False, False) | ||||
| 		info_hbox.pack_start(label, False, False) | ||||
| 		info_item.add(info_hbox) | ||||
| 		menu.append(info_item) | ||||
| 		info_item.connect('activate', self.on_info, user, account) | ||||
| 
 | ||||
| 		history_item = gtk.MenuItem() | ||||
| 		history_icon = gtk.Image() | ||||
| 		history_icon.set_from_stock(gtk.STOCK_JUSTIFY_FILL, gtk.ICON_SIZE_BUTTON) | ||||
| 		label = gtk.Label(_('History')) | ||||
| 		history_hbox = gtk.HBox(False, 3) | ||||
| 		history_hbox.pack_start(history_icon, False, False) | ||||
| 		history_hbox.pack_start(label, False, False) | ||||
| 		history_item.add(history_hbox) | ||||
| 		menu.append(history_item) | ||||
| 		history_item.connect('activate', self.on_history, user) | ||||
| 
 | ||||
| 		menu.popup(None, None, None, event.button, event.time) | ||||
| 		menu.show_all() | ||||
|  | @ -626,9 +718,18 @@ class RosterWindow: | |||
| 		path = model.get_path(iter) | ||||
| 
 | ||||
| 		menu = gtk.Menu() | ||||
| 		item = gtk.MenuItem(_('Rename')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_rename, iter, path) | ||||
| 
 | ||||
| 		rename_item = gtk.MenuItem() | ||||
| 		rename_icon = gtk.Image() | ||||
| 		rename_icon.set_from_stock(gtk.STOCK_REFRESH, gtk.ICON_SIZE_BUTTON) | ||||
| 		label = gtk.Label(_('Rename')) | ||||
| 		rename_hbox = gtk.HBox(False, 3) | ||||
| 		rename_hbox.pack_start(rename_icon, False, False) | ||||
| 		rename_hbox.pack_start(label, False, False) | ||||
| 		rename_item.add(rename_hbox) | ||||
| 		menu.append(rename_item) | ||||
| 		rename_item.connect('activate', self.on_rename, iter, path) | ||||
| 
 | ||||
| 		menu.popup(None, None, None, event.button, event.time) | ||||
| 		menu.show_all() | ||||
| 		menu.reposition() | ||||
|  | @ -641,28 +742,61 @@ class RosterWindow: | |||
| 		account = model.get_value(iter, 4) | ||||
| 		user = self.contacts[account][jid][0] | ||||
| 		menu = gtk.Menu() | ||||
| 		item = gtk.MenuItem(_('_Log on')) | ||||
| 		 | ||||
| 		state_images = self.get_appropriate_state_images(jid) | ||||
| 		 | ||||
| 		item = gtk.MenuItem() | ||||
| 		icon = state_images['online'] | ||||
| 		label = gtk.Label(_('_Log on')) | ||||
| 		label.set_use_underline(True) | ||||
| 		hbox = gtk.HBox(False, 3) | ||||
| 		hbox.pack_start(icon, False, False) | ||||
| 		hbox.pack_start(label, False, False) | ||||
| 		item.add(hbox) | ||||
| 		menu.append(item) | ||||
| 		show = self.contacts[account][jid][0].show | ||||
| 		if show != 'offline' and show != 'error': | ||||
| 			item.set_sensitive(False) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_agent_logging, jid, None, account) | ||||
| 
 | ||||
| 		item = gtk.MenuItem(_('Log _off')) | ||||
| 		item = gtk.MenuItem() | ||||
| 		icon = state_images['offline'] | ||||
| 		label = gtk.Label(_('Log _off')) | ||||
| 		label.set_use_underline(True) | ||||
| 		hbox = gtk.HBox(False, 3) | ||||
| 		hbox.pack_start(icon, False, False) | ||||
| 		hbox.pack_start(label, False, False) | ||||
| 		item.add(hbox) | ||||
| 		menu.append(item) | ||||
| 		if show == 'offline' or show == 'error': | ||||
| 			item.set_sensitive(False) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_agent_logging, jid, 'unavailable', | ||||
| 							account) | ||||
| 
 | ||||
| 		item = gtk.MenuItem() | ||||
| 		menu.append(item) | ||||
| 
 | ||||
| 		item = gtk.MenuItem(_('_Edit')) | ||||
| 		item = gtk.MenuItem() | ||||
| 		icon = gtk.Image() | ||||
| 		icon.set_from_stock(gtk.STOCK_EDIT, gtk.ICON_SIZE_BUTTON) | ||||
| 		label = gtk.Label(_('Edit')) | ||||
| 		label.set_use_underline(True) | ||||
| 		hbox = gtk.HBox(False, 3) | ||||
| 		hbox.pack_start(icon, False, False) | ||||
| 		hbox.pack_start(label, False, False) | ||||
| 		item.add(hbox) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_edit_agent, user, account) | ||||
| 
 | ||||
| 		item = gtk.MenuItem(_('_Remove')) | ||||
| 		item = gtk.MenuItem() | ||||
| 		icon = gtk.Image() | ||||
| 		icon.set_from_stock(gtk.STOCK_REMOVE, gtk.ICON_SIZE_BUTTON) | ||||
| 		label = gtk.Label(_('_Remove from Roster')) | ||||
| 		label.set_use_underline(True) | ||||
| 		hbox = gtk.HBox(False, 3) | ||||
| 		hbox.pack_start(icon, False, False) | ||||
| 		hbox.pack_start(label, False, False) | ||||
| 		item.add(hbox) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_remove_agent, user, account) | ||||
| 
 | ||||
|  | @ -682,54 +816,108 @@ class RosterWindow: | |||
| 		model = self.tree.get_model() | ||||
| 		account = model.get_value(iter, 3) | ||||
| 
 | ||||
| 		# we have to create our own set of icons for the menu | ||||
| 		# using self.jabber_status_images is poopoo | ||||
| 		iconset = gajim.config.get('iconset') | ||||
| 		if not iconset: | ||||
| 			iconset = 'sun' | ||||
| 		path = os.path.join(gajim.DATA_DIR, 'iconsets/' + iconset + '/16x16/') | ||||
| 		state_images = self.load_iconset(path) | ||||
| 
 | ||||
| 		menu = gtk.Menu() | ||||
| 		item = gtk.MenuItem(_('Status')) | ||||
| 		menu.append(item) | ||||
| 		 | ||||
| 		status_item = gtk.MenuItem() | ||||
| 		status_icon = gtk.Image() | ||||
| 		status_icon.set_from_stock(gtk.STOCK_NETWORK, gtk.ICON_SIZE_BUTTON) | ||||
| 		status_label = gtk.Label(_('Status')) | ||||
| 		status_hbox = gtk.HBox(False, 3) | ||||
| 		status_hbox.pack_start(status_icon, False, False) | ||||
| 		status_hbox.pack_start(status_label, False, False) | ||||
| 		status_item.add(status_hbox) | ||||
| 		menu.append(status_item) | ||||
| 		 | ||||
| 		sub_menu = gtk.Menu() | ||||
| 		item.set_submenu(sub_menu) | ||||
| 		item = gtk.MenuItem(_('Online')) | ||||
| 		sub_menu.append(item) | ||||
| 		item.connect('activate', self.change_status, account, 'online') | ||||
| 		item = gtk.MenuItem(_('Free for chat')) | ||||
| 		sub_menu.append(item) | ||||
| 		item.connect('activate', self.change_status, account, 'chat') | ||||
| 		item = gtk.MenuItem(_('Away')) | ||||
| 		sub_menu.append(item) | ||||
| 		item.connect('activate', self.change_status, account, 'away') | ||||
| 		item = gtk.MenuItem(_('Not Available')) | ||||
| 		sub_menu.append(item) | ||||
| 		item.connect('activate', self.change_status, account, 'xa') | ||||
| 		item = gtk.MenuItem(_('Busy')) | ||||
| 		sub_menu.append(item) | ||||
| 		item.connect('activate', self.change_status, account, 'dnd') | ||||
| 		item = gtk.MenuItem(_('Invisible')) | ||||
| 		sub_menu.append(item) | ||||
| 		item.connect('activate', self.change_status, account, 'invisible') | ||||
| 		status_item.set_submenu(sub_menu) | ||||
| 
 | ||||
| 		for show in ['online', 'chat', 'away', 'xa', 'dnd', 'invisible', | ||||
| 			'offline']: | ||||
| 
 | ||||
| 			if show == 'offline': # We add a sep before offline item | ||||
| 				item = gtk.MenuItem() | ||||
| 				sub_menu.append(item) | ||||
| 		item = gtk.MenuItem(_('Offline')) | ||||
| 
 | ||||
| 			item = gtk.MenuItem() | ||||
| 			icon = state_images[show] | ||||
| 			label = gtk.Label(helpers.get_uf_show(show)) | ||||
| 			hbox = gtk.HBox(False, 3) | ||||
| 			hbox.pack_start(icon, False, False) | ||||
| 			hbox.pack_start(label, False, False) | ||||
| 			item.add(hbox) | ||||
| 			sub_menu.append(item) | ||||
| 		item.connect('activate', self.change_status, account, 'offline') | ||||
| 			item.connect('activate', self.change_status, account, show) | ||||
| 		 | ||||
| 		item = gtk.MenuItem() | ||||
| 		menu.append(item) | ||||
| 
 | ||||
| 		item = gtk.MenuItem(_('_Edit Account')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_edit_account, account) | ||||
| 		item = gtk.MenuItem(_('_Service Discovery')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_service_disco_menuitem_activate, account) | ||||
| 		item = gtk.MenuItem(_('_Add Contact')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_add_new_contact, account) | ||||
| 		item = gtk.MenuItem(_('Join _Groupchat')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_join_gc_activate, account) | ||||
| 		item = gtk.MenuItem(_('_New Message')) | ||||
| 		menu.append(item) | ||||
| 		item.connect('activate', self.on_new_message_menuitem_activate, account) | ||||
| 		edit_item = gtk.MenuItem() | ||||
| 		edit_icon = gtk.Image() | ||||
| 		edit_icon.set_from_stock(gtk.STOCK_EDIT, gtk.ICON_SIZE_BUTTON) | ||||
| 		edit_label = gtk.Label(_('_Edit Account')) | ||||
| 		edit_label.set_use_underline(True) | ||||
| 		edit_hbox = gtk.HBox(False, 3) | ||||
| 		edit_hbox.pack_start(edit_icon, False, False) | ||||
| 		edit_hbox.pack_start(edit_label, False, False) | ||||
| 		edit_item.add(edit_hbox) | ||||
| 		edit_item.connect('activate', self.on_edit_account, account) | ||||
| 		menu.append(edit_item) | ||||
| 		 | ||||
| 		discover_item = gtk.MenuItem() | ||||
| 		discover_icon = gtk.Image() | ||||
| 		discover_icon.set_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_BUTTON) | ||||
| 		discover_label = gtk.Label(_('_Service Discovery')) | ||||
| 		discover_label.set_use_underline(True) | ||||
| 		discover_hbox = gtk.HBox(False, 3) | ||||
| 		discover_hbox.pack_start(discover_icon, False, False) | ||||
| 		discover_hbox.pack_start(discover_label, False, False) | ||||
| 		discover_item.add(discover_hbox) | ||||
| 		discover_item.connect('activate', self.on_service_disco_menuitem_activate, account) | ||||
| 		menu.append(discover_item) | ||||
| 		 | ||||
| 		add_contact_item = gtk.MenuItem() | ||||
| 		add_contact_icon = gtk.Image() | ||||
| 		add_contact_icon.set_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_BUTTON) | ||||
| 		add_contact_label = gtk.Label(_('_Add Contact')) | ||||
| 		add_contact_label.set_use_underline(True) | ||||
| 		add_contact_hbox = gtk.HBox(False, 3) | ||||
| 		add_contact_hbox.pack_start(add_contact_icon, False, False) | ||||
| 		add_contact_hbox.pack_start(add_contact_label, False, False) | ||||
| 		add_contact_item.add(add_contact_hbox) | ||||
| 		add_contact_item.connect('activate', self.on_add_new_contact, account) | ||||
| 		menu.append(add_contact_item) | ||||
| 		 | ||||
| 		join_gc_item = gtk.MenuItem() | ||||
| 		join_gc_icon = gtk.Image() | ||||
| 		join_gc_icon.set_from_stock(gtk.STOCK_CONNECT, gtk.ICON_SIZE_BUTTON) | ||||
| 		join_gc_label = gtk.Label(_('Join _Groupchat')) | ||||
| 		join_gc_label.set_use_underline(True) | ||||
| 		join_gc_hbox = gtk.HBox(False, 3) | ||||
| 		join_gc_hbox.pack_start(join_gc_icon, False, False) | ||||
| 		join_gc_hbox.pack_start(join_gc_label, False, False) | ||||
| 		join_gc_item.add(join_gc_hbox) | ||||
| 		join_gc_item.connect('activate', self.on_join_gc_activate, account) | ||||
| 		menu.append(join_gc_item) | ||||
| 		 | ||||
| 		new_message_item = gtk.MenuItem() | ||||
| 		new_message_icon = gtk.Image() | ||||
| 		new_message_icon.set_from_stock(gtk.STOCK_NEW, gtk.ICON_SIZE_BUTTON) | ||||
| 		new_message_label = gtk.Label(_('_New Message')) | ||||
| 		new_message_label.set_use_underline(True) | ||||
| 		new_message_hbox = gtk.HBox(False, 3) | ||||
| 		new_message_hbox.pack_start(new_message_icon, False, False) | ||||
| 		new_message_hbox.pack_start(new_message_label, False, False) | ||||
| 		new_message_item.add(new_message_hbox) | ||||
| 		new_message_item.connect('activate', self.on_new_message_menuitem_activate, account) | ||||
| 		menu.append(new_message_item) | ||||
| 		 | ||||
| 		menu.popup(None, None, None, event.button, event.time) | ||||
| 		menu.show_all() | ||||
|  |  | |||
|  | @ -134,12 +134,16 @@ class Systray: | |||
| 		new_message_menuitem = self.xml.get_widget('new_message_menuitem') | ||||
| 		status_menuitem = self.xml.get_widget('status_menu') | ||||
| 
 | ||||
| 		# We need our own set of status icons, let's make 'em! | ||||
| 		state_images = self.plugin.roster.jabber_state_images | ||||
| 
 | ||||
| 		sub_menu = gtk.Menu() | ||||
| 		status_menuitem.set_submenu(sub_menu) | ||||
| 
 | ||||
| 		# We need our own set of status icons, let's make 'em! | ||||
| 		iconset = gajim.config.get('iconset') | ||||
| 		if not iconset: | ||||
| 			iconset = 'sun' | ||||
| 		path = os.path.join(gajim.DATA_DIR, 'iconsets/' + iconset + '/16x16/') | ||||
| 		state_images = self.plugin.roster.load_iconset(path) | ||||
| 		 | ||||
| 		for show in ['online', 'chat', 'away', 'xa', 'dnd', 'invisible', | ||||
| 				'offline']: | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue