show contacts that are offline but have sent messages not read yet
This commit is contained in:
		
							parent
							
								
									0b4a0b916f
								
							
						
					
					
						commit
						07d53ae7ea
					
				
					 1 changed files with 20 additions and 14 deletions
				
			
		| 
						 | 
				
			
			@ -100,11 +100,12 @@ class message_Window:
 | 
			
		|||
			self.print_conversation(evt[0], tim = evt[1])
 | 
			
		||||
		del self.plugin.queues[self.account][self.user.jid]
 | 
			
		||||
		self.plugin.roster.redraw_jid(self.user.jid, self.account)
 | 
			
		||||
#		for i in self.plugin.roster.get_user_iter(self.user.jid, self.account):
 | 
			
		||||
#			if self.plugin.roster.pixbufs.has_key(self.user.show):
 | 
			
		||||
#				self.plugin.roster.tree.get_model().set_value(i, 0, \
 | 
			
		||||
#					self.plugin.roster.pixbufs[self.user.show])
 | 
			
		||||
		self.plugin.set_systray()
 | 
			
		||||
		showOffline = self.plugin.config['showoffline']
 | 
			
		||||
		if (self.user.show == 'offline' or self.user.show == 'error') and \
 | 
			
		||||
			not showOffline:
 | 
			
		||||
			if len(self.plugin.roster.contacts[self.account][self.user.jid]) == 1:
 | 
			
		||||
				self.plugin.roster.remove_user(self.user, self.account)
 | 
			
		||||
 | 
			
		||||
	def on_msg_key_press_event(self, widget, event):
 | 
			
		||||
		"""When a key is pressed :
 | 
			
		||||
| 
						 | 
				
			
			@ -408,7 +409,8 @@ class roster_Window:
 | 
			
		|||
				user.groups.append('general')
 | 
			
		||||
 | 
			
		||||
		if (user.show == 'offline' or user.show == 'error') and not showOffline\
 | 
			
		||||
			and not 'Agents' in user.groups:
 | 
			
		||||
			and not 'Agents' in user.groups and \
 | 
			
		||||
			not self.plugin.queues[account].has_key(user.jid):
 | 
			
		||||
			return
 | 
			
		||||
 | 
			
		||||
		model = self.tree.get_model()
 | 
			
		||||
| 
						 | 
				
			
			@ -547,7 +549,8 @@ class roster_Window:
 | 
			
		|||
		"""When a user change his status"""
 | 
			
		||||
		showOffline = self.plugin.config['showoffline']
 | 
			
		||||
		model = self.tree.get_model()
 | 
			
		||||
		if (show == 'offline' or show == 'error') and not showOffline:
 | 
			
		||||
		if (show == 'offline' or show == 'error') and not showOffline and \
 | 
			
		||||
			not self.plugin.queues[account].has_key(user.jid):
 | 
			
		||||
			if len(self.contacts[account][user.jid]) > 1:
 | 
			
		||||
				luser = self.contacts[account][user.jid]
 | 
			
		||||
				for u in luser:
 | 
			
		||||
| 
						 | 
				
			
			@ -885,9 +888,9 @@ class roster_Window:
 | 
			
		|||
				'not in list', 'not in list', 'none', '', 0)
 | 
			
		||||
			self.contacts[account][jid] = [user1]
 | 
			
		||||
			self.add_user_to_roster(jid, account)
 | 
			
		||||
		iter = self.get_user_iter(jid, account)
 | 
			
		||||
		if iter:
 | 
			
		||||
			path = self.tree.get_model().get_path(iter[0])
 | 
			
		||||
		iters = self.get_user_iter(jid, account)
 | 
			
		||||
		if iters:
 | 
			
		||||
			path = self.tree.get_model().get_path(iters[0])
 | 
			
		||||
		else:
 | 
			
		||||
			path = None
 | 
			
		||||
		autopopup = self.plugin.config['autopopup']
 | 
			
		||||
| 
						 | 
				
			
			@ -903,11 +906,14 @@ class roster_Window:
 | 
			
		|||
				self.plugin.set_systray('message')
 | 
			
		||||
			tim = time.strftime("[%H:%M:%S]")
 | 
			
		||||
			self.plugin.queues[account][jid].put((msg, tim))
 | 
			
		||||
			if path:
 | 
			
		||||
				self.tree.expand_row(path[0:1], FALSE)
 | 
			
		||||
				self.tree.expand_row(path[0:2], FALSE)
 | 
			
		||||
				self.tree.scroll_to_cell(path)
 | 
			
		||||
				self.tree.set_cursor(path)
 | 
			
		||||
			if not path:
 | 
			
		||||
				self.add_user_to_roster(jid, account)
 | 
			
		||||
				iters = self.get_user_iter(jid, account)
 | 
			
		||||
				path = self.tree.get_model().get_path(iters[0])
 | 
			
		||||
			self.tree.expand_row(path[0:1], FALSE)
 | 
			
		||||
			self.tree.expand_row(path[0:2], FALSE)
 | 
			
		||||
			self.tree.scroll_to_cell(path)
 | 
			
		||||
			self.tree.set_cursor(path)
 | 
			
		||||
		else:
 | 
			
		||||
			if not self.plugin.windows[account]['chats'].has_key(jid):
 | 
			
		||||
				self.plugin.windows[account]['chats'][jid] = \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue