when we compare 2 offline contacts, the one which has a status messages is shown above the one without. fixes #3010
This commit is contained in:
		
							parent
							
								
									607f13747e
								
							
						
					
					
						commit
						019f43fa38
					
				
					 2 changed files with 9 additions and 0 deletions
				
			
		|  | @ -405,6 +405,9 @@ class Contacts: | ||||||
| 				score += contact.priority * 10 | 				score += contact.priority * 10 | ||||||
| 		score += ['not in roster', 'error', 'offline', 'invisible', 'dnd', 'xa', | 		score += ['not in roster', 'error', 'offline', 'invisible', 'dnd', 'xa', | ||||||
| 		'away', 'chat', 'online', 'requested', 'message'].index(contact.show) | 		'away', 'chat', 'online', 'requested', 'message'].index(contact.show) | ||||||
|  | 		if contact.show == 'offline' and contact.status: | ||||||
|  | 			# Offline contacts with a status message have highest score | ||||||
|  | 			score += 1 | ||||||
| 		return score | 		return score | ||||||
| 
 | 
 | ||||||
| 	def get_metacontacts_big_brother(self, family): | 	def get_metacontacts_big_brother(self, family): | ||||||
|  |  | ||||||
|  | @ -3956,6 +3956,12 @@ class RosterWindow: | ||||||
| 				return -1 | 				return -1 | ||||||
| 			elif show1 > show2: | 			elif show1 > show2: | ||||||
| 				return 1 | 				return 1 | ||||||
|  | 			if show1 == 6 and show2 == 6: | ||||||
|  | 				# If both are offline, and one has a status message, it is above | ||||||
|  | 				if contact1.status and not contact2.status: | ||||||
|  | 					return -1 | ||||||
|  | 				elif contact2.status and not contact1.status: | ||||||
|  | 					return 1 | ||||||
| 		# We compare names | 		# We compare names | ||||||
| 		if name1.lower() < name2.lower(): | 		if name1.lower() < name2.lower(): | ||||||
| 			return -1 | 			return -1 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue