From c74276dcdbbd51df8d1a9ec40326cf5e26244267 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Wed, 19 Sep 2007 17:20:40 +0000 Subject: Always remove invites from the frame Conflicts: NEWS --- diff --git a/NEWS b/NEWS index 27ee28a..a623f14 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +* #3601 Always remove invites from the frame. (cassidy) + +Snapshot b8ce5083b7 + * #3560 Updated spanish translation. (marco) Snapshot b8ce5083b7 diff --git a/shell/model/Invites.py b/shell/model/Invites.py index d4779f1..9ffab44 100644 --- a/shell/model/Invites.py +++ b/shell/model/Invites.py @@ -15,6 +15,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import gobject +from sugar.presence import presenceservice class Invite: def __init__(self, issuer, bundle_id, activity_id): @@ -41,6 +42,10 @@ class Invites(gobject.GObject): self._dict = {} + ps = presenceservice.get_instance() + owner = ps.get_owner() + owner.connect('joined-activity', self._owner_joined_cb) + def add_invite(self, issuer, bundle_id, activity_id): if activity_id in self._dict: # there is no point to add more than one time @@ -60,5 +65,8 @@ class Invites(gobject.GObject): if invite is not None: self.remove_invite(invite) + def _owner_joined_cb(self, owner, activity): + self.remove_activity(activity.props.id) + def __iter__(self): return self._dict.values().__iter__() -- cgit v0.9.1