Start implementing friends/mesh
parent
de65daf548
commit
0d4acb6e78
@ -0,0 +1,40 @@
|
||||
import gobject
|
||||
|
||||
from sugar.presence.PresenceService import PresenceService
|
||||
|
||||
class Friend:
|
||||
def __init__(self, buddy):
|
||||
self._buddy = buddy
|
||||
|
||||
def get_name(self):
|
||||
return self._buddy.get_name()
|
||||
|
||||
class FriendsModel(gobject.GObject):
|
||||
__gsignals__ = {
|
||||
'friend-added': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
|
||||
([gobject.TYPE_PYOBJECT])),
|
||||
'friend-removed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
|
||||
([gobject.TYPE_PYOBJECT]))
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
gobject.GObject.__init__(self)
|
||||
|
||||
self._friends = []
|
||||
|
||||
self._pservice = PresenceService()
|
||||
self._pservice.connect("buddy-appeared", self.__buddy_appeared_cb)
|
||||
|
||||
for buddy in self._pservice.get_buddies():
|
||||
self.add_friend(buddy)
|
||||
|
||||
def add_friend(self, buddy):
|
||||
friend = Friend(buddy)
|
||||
self._friends.append(friend)
|
||||
self.emit('friend-added', friend)
|
||||
|
||||
def __iter__(self):
|
||||
return self._friends.__iter__()
|
||||
|
||||
def __buddy_appeared_cb(self, pservice, buddy):
|
||||
self.add_friend(buddy)
|
@ -0,0 +1,13 @@
|
||||
from home.FriendsModel import FriendsModel
|
||||
from home.MeshModel import MeshModel
|
||||
|
||||
class HomeModel:
|
||||
def __init__(self, registry):
|
||||
self._friends = FriendsModel()
|
||||
self._mesh = MeshModel(registry)
|
||||
|
||||
def get_friends(self):
|
||||
return self._friends
|
||||
|
||||
def get_mesh(self):
|
||||
return self._mesh
|
@ -1,7 +1,10 @@
|
||||
sugardir = $(pkgdatadir)/shell
|
||||
sugardir = $(pkgdatadir)/shell/home
|
||||
sugar_PYTHON = \
|
||||
__init__.py \
|
||||
FriendsModel.py \
|
||||
FriendsView.py \
|
||||
MeshModel.py \
|
||||
MeshView.py \
|
||||
HomeView.py \
|
||||
HomeWindow.py
|
||||
HomeWindow.py \
|
||||
HomeModel.py
|
||||
|
@ -1,4 +1,5 @@
|
||||
sugardir = $(pythondir)/sugar/canvas
|
||||
sugar_PYTHON = \
|
||||
__init__.py \
|
||||
DonutItem.py \
|
||||
IconItem.py
|
||||
|
Loading…
Reference in New Issue