diff options
author | Thomas Jourdan <b.vehikel@googlemail.com> | 2009-12-27 08:45:00 (GMT) |
---|---|---|
committer | Thomas Jourdan <b.vehikel@googlemail.com> | 2009-12-27 08:45:00 (GMT) |
commit | ad81db80eab45f50b47e74e96912983e2bd07eb0 (patch) | |
tree | b74e3d1d827913b00486a2b7bcf06e8c02c5cfc1 /activity.py | |
parent | e76e0649cadf83fff760481aef5e8db6a16459aa (diff) |
Displaying my nick name in the status view.
Diffstat (limited to 'activity.py')
-rw-r--r-- | activity.py | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/activity.py b/activity.py index f941a07..460a266 100644 --- a/activity.py +++ b/activity.py @@ -54,6 +54,7 @@ class KandidActivity(activity.Activity): self._print_greetings(handle) self._status = ka_status.Status.instance() self._joined_buddies = set([]) + self._new_tubes = [] # Set title for our Activity self.set_title('Kandid') @@ -172,12 +173,17 @@ class KandidActivity(activity.Activity): self.initiating = True if self._sharing_setup(): self._status.set(ka_status.TOPIC_COLLABORATION, - ka_status.SUB_SHARE, _('activity is shared')) + ka_status.SUB_SHARE, _('Activity is shared.')) ka_debug.info('making a tube...') chan_id = self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].OfferDBusTube( kandidtube.SERVICE, {}) ka_debug.info('tube %u' % chan_id) + my_nick, my_csh = self._get_my_id() + self._status.set(ka_status.TOPIC_COLLABORATION, + ka_status.SUB_ID, + _("I am '%s', my handle in that group is %u.") % (my_nick, my_csh)) + def _sharing_setup(self): if self._shared_activity is None: @@ -219,7 +225,11 @@ class KandidActivity(activity.Activity): self.initiating = False if self._sharing_setup(): self._status.set(ka_status.TOPIC_COLLABORATION, - ka_status.SUB_SHARE, _('Joined an existing shared activity')) + ka_status.SUB_SHARE, _('Joined an existing shared activity.')) + my_nick, my_csh = self._get_my_id() + self._status.set(ka_status.TOPIC_COLLABORATION, + ka_status.SUB_ID, + _("I am '%s', my handle in that group is %u.") % (my_nick, my_csh)) #TODO If a tube already exist, use it. ka_debug.info('This is not my activity: waiting for a tube...') @@ -228,9 +238,12 @@ class KandidActivity(activity.Activity): error_handler=self._on_list_tubes_error) def _on_new_tube(self, tube_id, initiator, tube_type, service, params, state): - ka_debug.info('New tube ID=%d initiator=%d type=%d service=[%s] ' \ - 'params=%r state=%d' % \ - (tube_id, initiator, tube_type, service, params, state)) + details = 'ID=%d initiator=%d type=%d service=[%s] params=%r state=%d' % \ + (tube_id, initiator, tube_type, service, params, state) + ka_debug.info('New tube ' + details) + self._new_tubes.append(details) + self._status.set(ka_status.TOPIC_COLLABORATION, + ka_status.SUB_TUBES, self._new_tubes) if (tube_type == telepathy.TUBE_TYPE_DBUS and service == kandidtube.SERVICE): if state == telepathy.TUBE_STATE_LOCAL_PENDING: self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].AcceptDBusTube(tube_id) @@ -239,8 +252,8 @@ class KandidActivity(activity.Activity): tube_id, group_iface=self.text_chan[telepathy.CHANNEL_INTERFACE_GROUP]) self.kandidtube = self._controller.on_new_tube(tube_conn, - self.initiating, - self._get_buddy) + self.initiating, + self._get_buddy) def _on_buddy_joined (self, joined_activity, buddy): """Called when a buddy joins the shared activity. @@ -258,6 +271,16 @@ class KandidActivity(activity.Activity): self._status.set(ka_status.TOPIC_COLLABORATION, ka_status.SUB_BUDDIES_JOINED, self._joined_buddies) + def _get_my_id(self): + """Get my channel ID and nick.""" + group = self.text_chan[telepathy.CHANNEL_INTERFACE_GROUP] + my_csh = group.GetSelfHandle() + my_buddy = self._get_buddy(my_csh) + my_nick = my_buddy.props.nick if my_buddy is not None else '?' + ka_debug.info('I am %s, my handle in that group is %u' % \ + (my_nick, my_csh)) + return my_nick, my_csh + def _get_buddy(self, cs_handle): """Get a Buddy from a channel specific handle.""" ka_debug.info('Trying to find owner of handle %u...' % cs_handle) |