diff options
Diffstat (limited to 'src/jarabe/model/buddy.py')
-rw-r--r-- | src/jarabe/model/buddy.py | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/src/jarabe/model/buddy.py b/src/jarabe/model/buddy.py index 25ca857..249b1f5 100644 --- a/src/jarabe/model/buddy.py +++ b/src/jarabe/model/buddy.py @@ -221,114 +221,6 @@ class BuddyModel(BaseBuddyModel): contact_id = gobject.property(type=object, getter=get_contact_id, setter=set_contact_id) -""" - self._pservice = presenceservice.get_instance() - - self._buddy = None - self._ba_handler = None - self._pc_handler = None - self._dis_handler = None - self._bic_handler = None - self._cac_handler = None - - if not buddy: - self._key = key - # connect to the PS's buddy-appeared signal and - # wait for the buddy to appear - self._ba_handler = self._pservice.connect('buddy-appeared', - self._buddy_appeared_cb) - # Set color to 'inactive'/'disconnected' - self._set_color_from_string(_NOT_PRESENT_COLOR) - self._nick = nick - - self._pservice.get_buddies_async(reply_handler=self._get_buddies_cb) - else: - self._update_buddy(buddy) - - def _set_color_from_string(self, color_string): - self._color = XoColor(color_string) - - def _get_buddies_cb(self, buddy_list): - buddy = None - for iter_buddy in buddy_list: - if iter_buddy.props.key == self._key: - buddy = iter_buddy - break - - if buddy: - if self._ba_handler: - # Once we have the buddy, we no longer need to - # monitor buddy-appeared events - self._pservice.disconnect(self._ba_handler) - self._ba_handler = None - - self._update_buddy(buddy) - - def is_owner(self): - return False - - def is_present(self): - if self._buddy: - return True - return False - - def get_buddy(self): - return self._buddy - - def _update_buddy(self, buddy): - if not buddy: - raise ValueError("Buddy cannot be None.") - - self._buddy = buddy - self._key = self._buddy.props.key - self._nick = self._buddy.props.nick - self._tags = self._buddy.props.tags - self._set_color_from_string(self._buddy.props.color) - self.props.present = True - - self._pc_handler = self._buddy.connect('property-changed', - self._buddy_property_changed_cb) - - def _buddy_appeared_cb(self, pservice, buddy): - if self._buddy or buddy.props.key != self._key: - return - - if self._ba_handler: - # Once we have the buddy, we no longer need to - # monitor buddy-appeared events - self._pservice.disconnect(self._ba_handler) - self._ba_handler = None - - self._update_buddy(buddy) - self.emit('appeared') - - def _buddy_property_changed_cb(self, buddy, keys): - if not self._buddy: - return - if 'color' in keys: - self._set_color_from_string(self._buddy.props.color) - self.emit('color-changed', self.get_color()) - if 'current-activity' in keys: - self.emit('current-activity-changed', buddy.props.current_activity) - if 'nick' in keys: - self._nick = self._buddy.props.nick - self.emit('nick-changed', self.get_nick()) - if 'tags' in keys: - self._tags = self._buddy.props.tags - self.emit('tags-changed', self.get_tags()) - - def _buddy_disappeared_cb(self, buddy): - if buddy != self._buddy: - return - self._buddy.disconnect(self._pc_handler) - self._buddy.disconnect(self._dis_handler) - self._buddy.disconnect(self._bic_handler) - self._buddy.disconnect(self._cac_handler) - self._set_color_from_string(_NOT_PRESENT_COLOR) - self.emit('disappeared') - self._buddy = None - self.props.present = False -""" class FriendBuddyModel(BuddyModel): __gtype_name__ = 'SugarFriendBuddyModel' |