Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/model/buddy.py
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu.vizoso@collabora.co.uk>2010-09-16 16:35:32 (GMT)
committer Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>2010-09-17 16:06:15 (GMT)
commit9a0b3b51888f4ddfe834bd093b6147b3ea1bd7ec (patch)
treebc2d080ba043686bc74c720b7ca5c7d33c8f5b5d /src/jarabe/model/buddy.py
parent0b95b36d85e08a4df3a63c78f1cf8b549f06a5fa (diff)
Properly store and load friends #2331
Because FriendBuddyModel has a different life cycle than BuddyModel (are tracked also when online), we need to store the key and nick so we can represent them in the UI when the contact are not online and also so we can relate to the contact when it becomes online. * src/jarabe/model/buddy.py: Move out FriendBuddyModel and add a handle property to BuddyModel. * src/jarabe/model/filetransfer.py: Ask neighborhood.py for the buddy associated to a handle. * src/jarabe/model/friends.py: Add FriendBuddyModel. * src/jarabe/model/neighborhood.py: Set the contact handle on the BuddyModel.
Diffstat (limited to 'src/jarabe/model/buddy.py')
-rw-r--r--src/jarabe/model/buddy.py23
1 files changed, 6 insertions, 17 deletions
diff --git a/src/jarabe/model/buddy.py b/src/jarabe/model/buddy.py
index 531d7ea..5f3176e 100644
--- a/src/jarabe/model/buddy.py
+++ b/src/jarabe/model/buddy.py
@@ -28,8 +28,6 @@ from sugar.profile import get_profile
from jarabe.util.telepathy import connection_watcher
-_NOT_PRESENT_COLOR = "#d5d5d5,#FFFFFF"
-
CONNECTION_INTERFACE_BUDDY_INFO = 'org.laptop.Telepathy.BuddyInfo'
class BaseBuddyModel(gobject.GObject):
@@ -40,20 +38,10 @@ class BaseBuddyModel(gobject.GObject):
self._nick = None
self._color = None
self._tags = None
- self._present = False
self._current_activity = None
gobject.GObject.__init__(self, **kwargs)
- def is_present(self):
- return self._present
-
- def set_present(self, present):
- self._present = present
-
- present = gobject.property(type=bool, default=False, getter=is_present,
- setter=set_present)
-
def get_nick(self):
return self._nick
@@ -103,7 +91,6 @@ class OwnerBuddyModel(BaseBuddyModel):
__gtype_name__ = 'SugarOwnerBuddyModel'
def __init__(self):
BaseBuddyModel.__init__(self)
- self.props.present = True
client = gconf.client_get_default()
self.props.nick = client.get_string('/desktop/sugar/user/nick')
@@ -207,6 +194,7 @@ class BuddyModel(BaseBuddyModel):
self._account = None
self._contact_id = None
+ self._handle = None
BaseBuddyModel.__init__(self, **kwargs)
@@ -231,9 +219,10 @@ class BuddyModel(BaseBuddyModel):
contact_id = gobject.property(type=object, getter=get_contact_id,
setter=set_contact_id)
+ def get_handle(self):
+ return self._handle
-class FriendBuddyModel(BuddyModel):
- __gtype_name__ = 'SugarFriendBuddyModel'
- def __init__(self, nick, key):
- BuddyModel.__init__(self, nick=nick, key=key)
+ def set_handle(self, handle):
+ self._handle = handle
+ handle = gobject.property(type=object, getter=get_handle, setter=set_handle)