diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-22 20:35:31 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-22 20:35:31 (GMT) |
commit | d5ff67caa5dcfd287c117e8017b96d077ebfa0d3 (patch) | |
tree | ec5b7310b3bc124528bf76ce76756d31d04721ab /sugar/chat/chat.py | |
parent | 4fb745e204e4047413454be64e42e33fa5e0f869 (diff) |
Listen on buddy for icon changes
Diffstat (limited to 'sugar/chat/chat.py')
-rwxr-xr-x | sugar/chat/chat.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sugar/chat/chat.py b/sugar/chat/chat.py index b229dbb..6e246ea 100755 --- a/sugar/chat/chat.py +++ b/sugar/chat/chat.py @@ -582,6 +582,10 @@ class GroupChat(Chat): gobject.idle_add(self._request_buddy_icon, buddy) elif action == Group.SERVICE_REMOVED: pass + + def __buddy_icon_changed_cb(self, buddy): + it = self._get_iter_for_buddy(buddy) + self._buddy_list_model.set(it, self._MODEL_COL_ICON, buddy.get_icon_pixbuf()) def _on_group_presence_event(self, action, buddy): if buddy.get_nick_name() == self._group.get_owner().get_nick_name(): @@ -591,8 +595,8 @@ class GroupChat(Chat): aniter = self._buddy_list_model.append(None) self._buddy_list_model.set(aniter, self._MODEL_COL_NICK, buddy.get_nick_name(), - self._MODEL_COL_ICON, buddy.get_icon_pixbuf(), self._MODEL_COL_BUDDY, buddy) + buddy.connect('icon-changed', self.__buddy_icon_changed_cb) elif action == Group.BUDDY_LEAVE: aniter = self._get_iter_for_buddy(buddy) if aniter: |