Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/chat/chat.py
diff options
context:
space:
mode:
authorMarco 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)
commitd5ff67caa5dcfd287c117e8017b96d077ebfa0d3 (patch)
treeec5b7310b3bc124528bf76ce76756d31d04721ab /sugar/chat/chat.py
parent4fb745e204e4047413454be64e42e33fa5e0f869 (diff)
Listen on buddy for icon changes
Diffstat (limited to 'sugar/chat/chat.py')
-rwxr-xr-xsugar/chat/chat.py6
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: