|
|
|
@ -35,7 +35,7 @@ class PresenceWindow(gtk.Window):
|
|
|
|
|
|
|
|
|
|
def _update_buddies_visibility(self):
|
|
|
|
|
for row in self._buddy_store:
|
|
|
|
|
row[_MODEL_COL_VISIBLE] = self._is_buddy_visible(row[_MODEL_COL_BUDDY])
|
|
|
|
|
row[self._MODEL_COL_VISIBLE] = self._is_buddy_visible(row[self._MODEL_COL_BUDDY])
|
|
|
|
|
|
|
|
|
|
def set_activity(self, activity):
|
|
|
|
|
self._activity = activity
|
|
|
|
@ -125,11 +125,11 @@ class PresenceWindow(gtk.Window):
|
|
|
|
|
# Do not show ourself in the buddy list
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
aniter = self._buddy_list_model.append(None)
|
|
|
|
|
self._buddy_list_model.set(aniter,
|
|
|
|
|
self._MODEL_COL_NICK, buddy.get_nick_name(),
|
|
|
|
|
self._MODEL_COL_BUDDY, buddy,
|
|
|
|
|
self._MODEL_COL_VISIBLE, self._is_buddy_visible(buddy))
|
|
|
|
|
aniter = self._buddy_store.append(None)
|
|
|
|
|
self._buddy_store.set(aniter,
|
|
|
|
|
self._MODEL_COL_NICK, buddy.get_nick_name(),
|
|
|
|
|
self._MODEL_COL_BUDDY, buddy,
|
|
|
|
|
self._MODEL_COL_VISIBLE, self._is_buddy_visible(buddy))
|
|
|
|
|
buddy.connect('icon-changed', self.__buddy_icon_changed_cb)
|
|
|
|
|
buddy.connect('service-added', self.__buddy_service_added_cb)
|
|
|
|
|
buddy.connect('service-removed', self.__buddy_service_removed_cb)
|
|
|
|
@ -137,13 +137,13 @@ class PresenceWindow(gtk.Window):
|
|
|
|
|
def __buddy_service_added_cb(self, buddy, service):
|
|
|
|
|
self._update_buddies_visibility()
|
|
|
|
|
|
|
|
|
|
def __buddy_service_remove_cb(self, buddy, service):
|
|
|
|
|
def __buddy_service_removed_cb(self, buddy, service):
|
|
|
|
|
self._update_buddies_visibility()
|
|
|
|
|
|
|
|
|
|
def _on_buddy_disappeared_cb(self, pservice, buddy):
|
|
|
|
|
aniter = self._get_iter_for_buddy(buddy)
|
|
|
|
|
if aniter:
|
|
|
|
|
self._buddy_list_model.remove(aniter)
|
|
|
|
|
self._buddy_store.remove(aniter)
|
|
|
|
|
|
|
|
|
|
def _get_iter_for_buddy(self, buddy):
|
|
|
|
|
aniter = self._buddy_list_model.get_iter_first()
|
|
|
|
|