bugfix when we redraw an agent iter and when an agent becomes offline

This commit is contained in:
Yann Leboulanger 2005-04-12 14:29:33 +00:00
parent 33fe77ff8a
commit c827489dff
2 changed files with 20 additions and 17 deletions

View File

@ -377,22 +377,23 @@ class plugin:
user1.priority, user1.keyID)
luser.append(user1)
user1.resource = resource
if old_show == 0 and new_show > 1:
if not user1.jid in self.roster.newly_added[account]:
self.roster.newly_added[account].append(user1.jid)
if user1.jid in self.roster.to_be_removed[account]:
self.roster.to_be_removed[account].remove(user1.jid)
gobject.timeout_add(5000, self.roster.remove_newly_added, \
user1.jid, account)
if old_show > 1 and new_show == 0 and self.connected[account] > 1:
if not user1.jid in self.roster.to_be_removed[account]:
self.roster.to_be_removed[account].append(user1.jid)
if user1.jid in self.roster.newly_added[account]:
self.roster.newly_added[account].remove(user1.jid)
self.roster.redraw_jid(user1.jid, account)
if not self.queues[account].has_key(jid):
gobject.timeout_add(5000, self.roster.really_remove_user, user1,\
account)
if user1.jid.find('@') > 0: # It's not an agent
if old_show == 0 and new_show > 1:
if not user1.jid in self.roster.newly_added[account]:
self.roster.newly_added[account].append(user1.jid)
if user1.jid in self.roster.to_be_removed[account]:
self.roster.to_be_removed[account].remove(user1.jid)
gobject.timeout_add(5000, self.roster.remove_newly_added, \
user1.jid, account)
if old_show > 1 and new_show == 0 and self.connected[account] > 1:
if not user1.jid in self.roster.to_be_removed[account]:
self.roster.to_be_removed[account].append(user1.jid)
if user1.jid in self.roster.newly_added[account]:
self.roster.newly_added[account].remove(user1.jid)
self.roster.redraw_jid(user1.jid, account)
if not self.queues[account].has_key(jid):
gobject.timeout_add(5000, self.roster.really_remove_user, \
user1, account)
user1.show = array[1]
user1.status = array[2]
user1.priority = priority

View File

@ -204,7 +204,9 @@ class Roster_window:
prio = u.priority
user = u
for iter in iters:
if self.plugin.queues[account].has_key(jid):
if jid.find("@") <= 0: # It's an agent
img = self.pixbufs[user.show]
elif self.plugin.queues[account].has_key(jid):
img = self.pixbufs['message']
else:
if user.sub != 'both':