model.get_value(iter, X) -> model[iter][X] for roster_window.py (takes less code space so cleaner code)
This commit is contained in:
		
							parent
							
								
									9fb9894092
								
							
						
					
					
						commit
						7e570e66b4
					
				
					 1 changed files with 44 additions and 43 deletions
				
			
		| 
						 | 
				
			
			@ -662,10 +662,10 @@ class RosterWindow:
 | 
			
		|||
		if props:
 | 
			
		||||
			[row, col, x, y] = props
 | 
			
		||||
			iter = model.get_iter(row)
 | 
			
		||||
			if model.get_value(iter, 2) == 'contact':
 | 
			
		||||
				account = model.get_value(iter, 4)
 | 
			
		||||
				jid = model.get_value(iter, 3)
 | 
			
		||||
				img = model.get_value(iter, 0)
 | 
			
		||||
			if model[iter][2] == 'contact':
 | 
			
		||||
				account = model[iter][4]
 | 
			
		||||
				jid = model[iter][3]
 | 
			
		||||
				img = model[iter][0]
 | 
			
		||||
				if self.tooltip.timeout == 0 or self.tooltip.path != props[0]:
 | 
			
		||||
					self.tooltip.path = row
 | 
			
		||||
					self.tooltip.timeout = gobject.timeout_add(500,
 | 
			
		||||
| 
						 | 
				
			
			@ -761,9 +761,9 @@ class RosterWindow:
 | 
			
		|||
	def mk_menu_user(self, event, iter):
 | 
			
		||||
		'''Make contact's popup menu'''
 | 
			
		||||
		model = self.tree.get_model()
 | 
			
		||||
		jid = model.get_value(iter, 3)
 | 
			
		||||
		jid = model[iter][3]
 | 
			
		||||
		path = model.get_path(iter)
 | 
			
		||||
		account = model.get_value(iter, 4)
 | 
			
		||||
		account = model[iter][4]
 | 
			
		||||
		contact = gajim.contacts[account][jid][0]
 | 
			
		||||
		
 | 
			
		||||
		xml = gtk.glade.XML(GTKGUI_GLADE, 'roster_contact_context_menu',
 | 
			
		||||
| 
						 | 
				
			
			@ -859,9 +859,9 @@ class RosterWindow:
 | 
			
		|||
	def mk_menu_agent(self, event, iter):
 | 
			
		||||
		'''Make agent's popup menu'''
 | 
			
		||||
		model = self.tree.get_model()
 | 
			
		||||
		jid = model.get_value(iter, 3)
 | 
			
		||||
		jid = model[iter][3]
 | 
			
		||||
		path = model.get_path(iter)
 | 
			
		||||
		account = model.get_value(iter, 4)
 | 
			
		||||
		account = model[iter][4]
 | 
			
		||||
		user = gajim.contacts[account][jid][0]
 | 
			
		||||
		menu = gtk.Menu()
 | 
			
		||||
		
 | 
			
		||||
| 
						 | 
				
			
			@ -930,7 +930,7 @@ class RosterWindow:
 | 
			
		|||
	def mk_menu_account(self, event, iter):
 | 
			
		||||
		'''Make account's popup menu'''
 | 
			
		||||
		model = self.tree.get_model()
 | 
			
		||||
		account = model.get_value(iter, 3)
 | 
			
		||||
		account = model[iter][3]
 | 
			
		||||
		
 | 
			
		||||
		#FIXME: made this menu insensitive if we're offline
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1041,7 +1041,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
			model, iter = treeselection.get_selected()
 | 
			
		||||
			if not iter:
 | 
			
		||||
				return
 | 
			
		||||
			type = model.get_value(iter, 2)
 | 
			
		||||
			type = model[iter][2]
 | 
			
		||||
			if type == 'contact' or type == 'group':
 | 
			
		||||
				path = model.get_path(iter)
 | 
			
		||||
				self.on_rename(widget, iter, path)
 | 
			
		||||
| 
						 | 
				
			
			@ -1051,9 +1051,9 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
			model, iter = treeselection.get_selected()
 | 
			
		||||
			if not iter:
 | 
			
		||||
				return
 | 
			
		||||
			jid = model.get_value(iter, 3)
 | 
			
		||||
			account = model.get_value(iter, 4)
 | 
			
		||||
			type = model.get_value(iter, 2)
 | 
			
		||||
			jid = model[iter][3]
 | 
			
		||||
			account = model[iter][4]
 | 
			
		||||
			type = model[iter][2]
 | 
			
		||||
			user = gajim.contacts[account][jid][0]
 | 
			
		||||
			if type == 'contact':
 | 
			
		||||
				self.on_req_usub(widget, user, account)
 | 
			
		||||
| 
						 | 
				
			
			@ -1062,7 +1062,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
 | 
			
		||||
	def show_appropriate_context_menu(self, event, iter):
 | 
			
		||||
		model = self.tree.get_model()
 | 
			
		||||
		type = model.get_value(iter, 2)
 | 
			
		||||
		type = model[iter][2]
 | 
			
		||||
		if type == 'group':
 | 
			
		||||
			self.mk_menu_g(event, iter)
 | 
			
		||||
		elif type == 'agent':
 | 
			
		||||
| 
						 | 
				
			
			@ -1087,7 +1087,6 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
		return True
 | 
			
		||||
 | 
			
		||||
	def on_roster_treeview_button_press_event(self, widget, event):
 | 
			
		||||
		'''popup contact's, group's or agent's menu'''
 | 
			
		||||
		# hide tooltip, no matter the button is pressed
 | 
			
		||||
		self.tooltip.hide_tooltip()
 | 
			
		||||
		if event.button == 3: # Right click
 | 
			
		||||
| 
						 | 
				
			
			@ -1102,6 +1101,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
			iter = model.get_iter(path)
 | 
			
		||||
			self.show_appropriate_context_menu(event, iter)
 | 
			
		||||
			return True
 | 
			
		||||
		
 | 
			
		||||
		if event.button == 2: # Middle click
 | 
			
		||||
			try:
 | 
			
		||||
				path, column, x, y = self.tree.get_path_at_pos(int(event.x), 
 | 
			
		||||
| 
						 | 
				
			
			@ -1112,10 +1112,10 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
			self.tree.get_selection().select_path(path)
 | 
			
		||||
			model = self.tree.get_model()
 | 
			
		||||
			iter = model.get_iter(path)
 | 
			
		||||
			type = model.get_value(iter, 2)
 | 
			
		||||
			type = model[iter][2]
 | 
			
		||||
			if type == 'agent' or type == 'contact':
 | 
			
		||||
				account = model.get_value(iter, 4)
 | 
			
		||||
				jid = model.get_value(iter, 3)
 | 
			
		||||
				account = model[iter][4]
 | 
			
		||||
				jid = model[iter][3]
 | 
			
		||||
				if self.plugin.windows[account]['chats'].has_key(jid):
 | 
			
		||||
					self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
 | 
			
		||||
				elif gajim.contacts[account].has_key(jid):
 | 
			
		||||
| 
						 | 
				
			
			@ -1123,6 +1123,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
					self.plugin.windows[account]['chats'][jid].set_active_tab(jid)
 | 
			
		||||
				self.plugin.windows[account]['chats'][jid].window.present()
 | 
			
		||||
			return True
 | 
			
		||||
		
 | 
			
		||||
		if event.button == 1: # Left click
 | 
			
		||||
			try:
 | 
			
		||||
				path, column, x, y = self.tree.get_path_at_pos(int(event.x), 
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,7 +1133,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
				return False
 | 
			
		||||
			model = self.tree.get_model()
 | 
			
		||||
			iter = model.get_iter(path)
 | 
			
		||||
			type = model.get_value(iter, 2)
 | 
			
		||||
			type = model[iter][2]
 | 
			
		||||
			if type == 'group':
 | 
			
		||||
				if x < 20: # first cell in 1st column (the arrow SINGLE clicked)
 | 
			
		||||
					if (self.tree.row_expanded(path)):
 | 
			
		||||
| 
						 | 
				
			
			@ -1572,9 +1573,9 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
		'''When an iter is double clicked: open the chat window'''
 | 
			
		||||
		model = self.tree.get_model()
 | 
			
		||||
		iter = model.get_iter(path)
 | 
			
		||||
		account = model.get_value(iter, 4)
 | 
			
		||||
		type = model.get_value(iter, 2)
 | 
			
		||||
		jid = model.get_value(iter, 3)
 | 
			
		||||
		account = model[iter][4]
 | 
			
		||||
		type = model[iter][2]
 | 
			
		||||
		jid = model[iter][3]
 | 
			
		||||
		if type == 'group' or type == 'account':
 | 
			
		||||
			if self.tree.row_expanded(path):
 | 
			
		||||
				self.tree.collapse_row(path)
 | 
			
		||||
| 
						 | 
				
			
			@ -1594,11 +1595,11 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
		if gajim.config.get('mergeaccounts'):
 | 
			
		||||
			accounts = gajim.connections.keys()
 | 
			
		||||
		else:
 | 
			
		||||
			accounts = [model.get_value(iter, 4)]
 | 
			
		||||
		type = model.get_value(iter, 2)
 | 
			
		||||
			accounts = [model[iter][4]]
 | 
			
		||||
		type = model[iter][2]
 | 
			
		||||
		if type == 'group':
 | 
			
		||||
			model.set_value(iter, 0, self.jabber_state_images['opened'])
 | 
			
		||||
			jid = model.get_value(iter, 3)
 | 
			
		||||
			jid = model[iter][3]
 | 
			
		||||
			for account in accounts:
 | 
			
		||||
				if gajim.groups[account].has_key(jid): # This account has this group
 | 
			
		||||
					gajim.groups[account][jid]['expand'] = True
 | 
			
		||||
| 
						 | 
				
			
			@ -1621,11 +1622,11 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
		if gajim.config.get('mergeaccounts'):
 | 
			
		||||
			accounts = gajim.connections.keys()
 | 
			
		||||
		else:
 | 
			
		||||
			accounts = [model.get_value(iter, 4)]
 | 
			
		||||
		type = model.get_value(iter, 2)
 | 
			
		||||
			accounts = [model[iter][4]]
 | 
			
		||||
		type = model[iter][2]
 | 
			
		||||
		if type == 'group':
 | 
			
		||||
			model.set_value(iter, 0, self.jabber_state_images['closed'])
 | 
			
		||||
			jid = model.get_value(iter, 3)
 | 
			
		||||
			jid = model[iter][3]
 | 
			
		||||
			for account in accounts:
 | 
			
		||||
				if gajim.groups[account].has_key(jid): # This account has this group
 | 
			
		||||
					gajim.groups[account][jid]['expand'] = False
 | 
			
		||||
| 
						 | 
				
			
			@ -1667,7 +1668,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
				gajim.connections[account].update_contact(jid, new_text, u.groups)
 | 
			
		||||
			self.draw_contact(jid, account)
 | 
			
		||||
		elif type == 'group':
 | 
			
		||||
			old_name = model.get_value(iter, 1)
 | 
			
		||||
			old_name = model[iter][1]
 | 
			
		||||
			#  Groups maynot change name from or to 'not in the roster'
 | 
			
		||||
			if _('not in the roster') in [new_text, old_name]:
 | 
			
		||||
				return
 | 
			
		||||
| 
						 | 
				
			
			@ -1731,7 +1732,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
		model = self.status_combobox.get_model()
 | 
			
		||||
		iter = model.get_iter_root()
 | 
			
		||||
		while iter:
 | 
			
		||||
			model.set_value(iter, 1, self.jabber_state_images[model.get_value(iter, 2)])
 | 
			
		||||
			model.set_value(iter, 1, self.jabber_state_images[model[iter][2]])
 | 
			
		||||
			iter = model.iter_next(iter)
 | 
			
		||||
		# Update the systray
 | 
			
		||||
		if self.plugin.systray_enabled:
 | 
			
		||||
| 
						 | 
				
			
			@ -1765,17 +1766,17 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
	def iconCellDataFunc(self, column, renderer, model, iter, data = None):
 | 
			
		||||
		'''When a row is added, set properties for icon renderer'''
 | 
			
		||||
		theme = gajim.config.get('roster_theme')
 | 
			
		||||
		if model.get_value(iter, 2) == 'account':
 | 
			
		||||
		if model[iter][2] == 'account':
 | 
			
		||||
			renderer.set_property('cell-background', 
 | 
			
		||||
				gajim.config.get_per('themes', theme, 'accountbgcolor'))
 | 
			
		||||
			renderer.set_property('xalign', 0)
 | 
			
		||||
		elif model.get_value(iter, 2) == 'group':
 | 
			
		||||
		elif model[iter][2] == 'group':
 | 
			
		||||
			renderer.set_property('cell-background', 
 | 
			
		||||
				gajim.config.get_per('themes', theme, 'groupbgcolor'))
 | 
			
		||||
			renderer.set_property('xalign', 0.5)
 | 
			
		||||
		else:
 | 
			
		||||
			jid = model.get_value(iter, 3)
 | 
			
		||||
			account = model.get_value(iter, 4)
 | 
			
		||||
			jid = model[iter][3]
 | 
			
		||||
			account = model[iter][4]
 | 
			
		||||
			if jid in gajim.newly_added[account]:
 | 
			
		||||
				renderer.set_property('cell-background', '#adc3c6')
 | 
			
		||||
			elif jid in gajim.to_be_removed[account]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1789,7 +1790,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
	def nameCellDataFunc(self, column, renderer, model, iter, data = None):
 | 
			
		||||
		'''When a row is added, set properties for name renderer'''
 | 
			
		||||
		theme = gajim.config.get('roster_theme')
 | 
			
		||||
		if model.get_value(iter, 2) == 'account':
 | 
			
		||||
		if model[iter][2] == 'account':
 | 
			
		||||
			renderer.set_property('foreground', 
 | 
			
		||||
				gajim.config.get_per('themes', theme, 'accounttextcolor'))
 | 
			
		||||
			renderer.set_property('cell-background', 
 | 
			
		||||
| 
						 | 
				
			
			@ -1798,7 +1799,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
				gajim.config.get_per('themes', theme, 'accountfont'))
 | 
			
		||||
			renderer.set_property('xpad', 0)
 | 
			
		||||
			renderer.set_property('width', 3)
 | 
			
		||||
		elif model.get_value(iter, 2) == 'group':
 | 
			
		||||
		elif model[iter][2] == 'group':
 | 
			
		||||
			renderer.set_property('foreground', 
 | 
			
		||||
				gajim.config.get_per('themes', theme, 'grouptextcolor'))
 | 
			
		||||
			renderer.set_property('cell-background', 
 | 
			
		||||
| 
						 | 
				
			
			@ -1807,8 +1808,8 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
				gajim.config.get_per('themes', theme, 'groupfont'))
 | 
			
		||||
			renderer.set_property('xpad', 4)
 | 
			
		||||
		else:
 | 
			
		||||
			jid = model.get_value(iter, 3)
 | 
			
		||||
			account = model.get_value(iter, 4)
 | 
			
		||||
			jid = model[iter][3]
 | 
			
		||||
			account = model[iter][4]
 | 
			
		||||
			renderer.set_property('foreground', 
 | 
			
		||||
				gajim.config.get_per('themes', theme, 'contacttextcolor'))
 | 
			
		||||
			if jid in gajim.newly_added[account]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1825,15 +1826,15 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
	def fill_secondary_pixbuf_rederer(self, column, renderer, model, iter, data=None):
 | 
			
		||||
		'''When a row is added, set properties for secondary renderer (avatar or tls)'''
 | 
			
		||||
		theme = gajim.config.get('roster_theme')
 | 
			
		||||
		if model.get_value(iter, 2) == 'account':
 | 
			
		||||
		if model[iter][2] == 'account':
 | 
			
		||||
			renderer.set_property('cell-background', 
 | 
			
		||||
				gajim.config.get_per('themes', theme, 'accountbgcolor'))
 | 
			
		||||
		elif model.get_value(iter, 2) == 'group':
 | 
			
		||||
		elif model[iter][2] == 'group':
 | 
			
		||||
			renderer.set_property('cell-background', 
 | 
			
		||||
				gajim.config.get_per('themes', theme, 'groupbgcolor'))
 | 
			
		||||
		else:
 | 
			
		||||
			jid = model.get_value(iter, 3)
 | 
			
		||||
			account = model.get_value(iter, 4)
 | 
			
		||||
			jid = model[iter][3]
 | 
			
		||||
			account = model[iter][4]
 | 
			
		||||
			if jid in gajim.newly_added[account]:
 | 
			
		||||
				renderer.set_property('cell-background', '#adc3c6')
 | 
			
		||||
			elif jid in gajim.to_be_removed[account]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1906,7 +1907,7 @@ _('If "%s" accepts this request you will know his status.') %jid).get_response()
 | 
			
		|||
		path = model.get_path(iter)
 | 
			
		||||
		data = ''
 | 
			
		||||
		if len(path) == 3:
 | 
			
		||||
			data = model.get_value(iter, 3)
 | 
			
		||||
			data = model[iter][3]
 | 
			
		||||
		selection.set(selection.target, 8, data)
 | 
			
		||||
 | 
			
		||||
	def drag_data_received_data(self, treeview, context, x, y, selection, info,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue