Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
authorThomas 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)
commitad81db80eab45f50b47e74e96912983e2bd07eb0 (patch)
treeb74e3d1d827913b00486a2b7bcf06e8c02c5cfc1 /activity.py
parente76e0649cadf83fff760481aef5e8db6a16459aa (diff)
Displaying my nick name in the status view.
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py37
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)