Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2010-03-10 14:51:24 (GMT)
committer Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>2010-08-20 13:02:26 (GMT)
commit37815dcb32fbca6e4d33884fed02023f72818f3e (patch)
treedc569e2f12ce35080defbde37e26deee9cc84d6e
parente1333de208a82c99da076bf26642a59f2868bd70 (diff)
Remove myicon.py and move to BuddyIcon(OwnerBuddyModel())
-rw-r--r--src/jarabe/desktop/Makefile.am1
-rw-r--r--src/jarabe/desktop/favoritesview.py17
-rw-r--r--src/jarabe/desktop/myicon.py28
-rw-r--r--src/jarabe/desktop/transitionbox.py6
-rw-r--r--src/jarabe/model/buddy.py21
5 files changed, 26 insertions, 47 deletions
diff --git a/src/jarabe/desktop/Makefile.am b/src/jarabe/desktop/Makefile.am
index 5b47455..68a2cb0 100644
--- a/src/jarabe/desktop/Makefile.am
+++ b/src/jarabe/desktop/Makefile.am
@@ -11,7 +11,6 @@ sugar_PYTHON = \
homewindow.py \
keydialog.py \
meshbox.py \
- myicon.py \
schoolserver.py \
snowflakelayout.py \
spreadlayout.py \
diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py
index fad25dd..d35b285 100644
--- a/src/jarabe/desktop/favoritesview.py
+++ b/src/jarabe/desktop/favoritesview.py
@@ -37,16 +37,16 @@ from sugar.datastore import datastore
from jarabe.view.palettes import JournalPalette
from jarabe.view.palettes import CurrentActivityPalette, ActivityPalette
+from jarabe.view.buddyicon import BuddyIcon
from jarabe.view.buddymenu import BuddyMenu
from jarabe.view import launcher
-from jarabe.model.buddy import BuddyModel
+from jarabe.model.buddy import BuddyModel, OwnerBuddyModel
from jarabe.model import shell
from jarabe.model import bundleregistry
from jarabe.journal import misc
from jarabe.desktop import schoolserver
from jarabe.desktop.schoolserver import RegisterError
-from jarabe.desktop.myicon import MyIcon
from jarabe.desktop import favoriteslayout
_logger = logging.getLogger('FavoritesView')
@@ -82,7 +82,7 @@ class FavoritesView(hippo.Canvas):
self._box.props.background_color = style.COLOR_WHITE.get_int()
self.set_root(self._box)
- self._my_icon = _MyIcon(style.XLARGE_ICON_SIZE)
+ self._my_icon = OwnerIcon(style.XLARGE_ICON_SIZE)
self._my_icon.connect('register-activate', self.__register_activate_cb)
self._box.append(self._my_icon)
@@ -593,15 +593,15 @@ class CurrentActivityIcon(CanvasIcon, hippo.CanvasItem):
self._home_activity = home_activity
self._update()
-class _MyIcon(MyIcon):
- __gtype_name__ = 'SugarFavoritesMyIcon'
+class OwnerIcon(BuddyIcon):
+ __gtype_name__ = 'SugarFavoritesOwnerIcon'
__gsignals__ = {
'register-activate' : (gobject.SIGNAL_RUN_FIRST,
gobject.TYPE_NONE, ([]))
}
- def __init__(self, scale):
- MyIcon.__init__(self, scale)
+ def __init__(self, size):
+ BuddyIcon.__init__(self, buddy=OwnerBuddyModel(), size=size)
self._power_manager = None
self._palette_enabled = False
@@ -613,8 +613,7 @@ class _MyIcon(MyIcon):
return
presence_service = presenceservice.get_instance()
- owner = BuddyModel(buddy=presence_service.get_owner())
- palette = BuddyMenu(owner)
+ palette = BuddyMenu(OwnerBuddyModel())
client = gconf.client_get_default()
backup_url = client.get_string('/desktop/sugar/backup_url')
diff --git a/src/jarabe/desktop/myicon.py b/src/jarabe/desktop/myicon.py
deleted file mode 100644
index 4a4ad95..0000000
--- a/src/jarabe/desktop/myicon.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (C) 2006-2007 Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-import gconf
-
-from sugar.graphics.icon import CanvasIcon
-from sugar.graphics.xocolor import XoColor
-
-class MyIcon(CanvasIcon):
- def __init__(self, size):
- client = gconf.client_get_default()
- color = XoColor(client.get_string("/desktop/sugar/user/color"))
- CanvasIcon.__init__(self, size=size,
- icon_name='computer-xo',
- xo_color=color)
diff --git a/src/jarabe/desktop/transitionbox.py b/src/jarabe/desktop/transitionbox.py
index af17cfb..acf563a 100644
--- a/src/jarabe/desktop/transitionbox.py
+++ b/src/jarabe/desktop/transitionbox.py
@@ -20,7 +20,8 @@ import gobject
from sugar.graphics import style
from sugar.graphics import animator
-from jarabe.desktop.myicon import MyIcon
+from jarabe.model.buddy import OwnerBuddyModel
+from jarabe.view.buddyicon import BuddyIcon
class _Animation(animator.Animation):
def __init__(self, icon, start_size, end_size):
@@ -77,7 +78,8 @@ class TransitionBox(hippo.Canvas):
self._layout = _Layout()
self._box.set_layout(self._layout)
- self._my_icon = MyIcon(style.XLARGE_ICON_SIZE)
+ self._my_icon = BuddyIcon(buddy=OwnerBuddyModel(),
+ size=style.XLARGE_ICON_SIZE)
self._box.append(self._my_icon)
self._animator = animator.Animator(0.3)
diff --git a/src/jarabe/model/buddy.py b/src/jarabe/model/buddy.py
index 8741343..f89f138 100644
--- a/src/jarabe/model/buddy.py
+++ b/src/jarabe/model/buddy.py
@@ -14,9 +14,11 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+import gobject
+import gconf
+
from sugar.presence import presenceservice
from sugar.graphics.xocolor import XoColor
-import gobject
_NOT_PRESENT_COLOR = "#d5d5d5,#FFFFFF"
@@ -32,9 +34,6 @@ class BaseBuddyModel(gobject.GObject):
gobject.GObject.__init__(self, **kwargs)
- def _set_color_from_string(self, color_string):
- self._color = XoColor(color_string)
-
def is_present(self):
return self._present
@@ -60,7 +59,10 @@ class BaseBuddyModel(gobject.GObject):
def get_color(self):
return self._color
- color = gobject.property(type=object, getter=get_color)
+ def set_color(self, color):
+ self._color = color
+
+ color = gobject.property(type=object, getter=get_color, setter=set_color)
def get_tags(self):
return self._tags
@@ -85,8 +87,10 @@ class OwnerBuddyModel(BaseBuddyModel):
def __init__(self):
BaseBuddyModel.__init__(self)
self.props.present = True
- self.props.nick = 'XXXXXXXXXXXXXX'
- self.props.color = ''
+
+ client = gconf.client_get_default()
+ self.props.nick = client.get_string("/desktop/sugar/user/nick")
+ self.props.color = XoColor(client.get_string("/desktop/sugar/user/color"))
def is_owner(self):
return True
@@ -126,6 +130,9 @@ class BuddyModel(BaseBuddyModel):
else:
self._update_buddy(buddy)
+ def _set_color_from_string(self, color_string):
+ self._color = XoColor(color_string)
+
def _get_buddies_cb(self, buddy_list):
buddy = None
for iter_buddy in buddy_list: