diff options
author | Eben Eliason <eben@localhost.localdomain> | 2008-03-24 10:35:42 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-04-02 13:06:12 (GMT) |
commit | 39eabae4e2784a1236f2366b6acf923830c97e1c (patch) | |
tree | 6359c7c636e7863e6f6e0ddb986ea996c823858a /src | |
parent | 8856d855852226e76b585db9ab5a7acff8f5272b (diff) |
Add icons to palettes of objects in Groups/Neighborhood
This update adds icons to the palettes of people and
activities shown in both Groups and Neighborhood views.
As I cannot see APs in my jhbuild, I have not done the
same for them, though it should be.
Diffstat (limited to 'src')
-rw-r--r-- | src/view/BuddyIcon.py | 8 | ||||
-rw-r--r-- | src/view/BuddyMenu.py | 7 | ||||
-rw-r--r-- | src/view/frame/friendstray.py | 1 | ||||
-rw-r--r-- | src/view/home/FriendView.py | 1 | ||||
-rw-r--r-- | src/view/home/FriendsBox.py | 9 | ||||
-rw-r--r-- | src/view/home/MeshBox.py | 8 |
6 files changed, 29 insertions, 5 deletions
diff --git a/src/view/BuddyIcon.py b/src/view/BuddyIcon.py index ccc9c46..041f757 100644 --- a/src/view/BuddyIcon.py +++ b/src/view/BuddyIcon.py @@ -40,11 +40,19 @@ class BuddyIcon(CanvasIcon): self._update_color() def _update_color(self): + + # keep the icon in the palette in sync with the view + palette = self.get_palette() + palette_icon = palette.props.icon + if self._greyed_out: self.props.stroke_color = '#D5D5D5' self.props.fill_color = style.COLOR_TRANSPARENT.get_svg() + palette_icon.props.stroke_color = '#D5D5D5' + palette_icon.props.fill_color = style.COLOR_TRANSPARENT.get_svg() else: self.props.xo_color = self._buddy.get_color() + palette_icon.props.xo_color = self._buddy.get_color() def set_filter(self, query): self._greyed_out = (self._buddy.get_nick().lower().find(query) == -1) \ diff --git a/src/view/BuddyMenu.py b/src/view/BuddyMenu.py index 2bdb6d9..10ee3a0 100644 --- a/src/view/BuddyMenu.py +++ b/src/view/BuddyMenu.py @@ -18,6 +18,7 @@ import logging import gobject import hippo +import gtk from sugar.graphics.palette import Palette from sugar.graphics.menuitem import MenuItem @@ -31,7 +32,11 @@ class BuddyMenu(Palette): def __init__(self, buddy): self._buddy = buddy - Palette.__init__(self, buddy.get_nick()) + buddy_icon = Icon(icon_name='computer-xo', + xo_color=buddy.get_color(), + icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR) + Palette.__init__(self, None, primary_text=buddy.get_nick(), + icon=buddy_icon) self._active_activity_changed_hid = None self.connect('destroy', self.__destroy_cb) diff --git a/src/view/frame/friendstray.py b/src/view/frame/friendstray.py index d45bfb2..8b45409 100644 --- a/src/view/frame/friendstray.py +++ b/src/view/frame/friendstray.py @@ -31,6 +31,7 @@ class FriendIcon(TrayIcon): xo_color=buddy.get_color()) palette = BuddyMenu(buddy) + palette.props.icon_visible = False self.set_palette(palette) palette.set_group_id('frame') palette.props.invoker = FrameWidgetInvoker(self) diff --git a/src/view/home/FriendView.py b/src/view/home/FriendView.py index 86b46c4..6ef75ef 100644 --- a/src/view/home/FriendView.py +++ b/src/view/home/FriendView.py @@ -83,4 +83,5 @@ class FriendView(hippo.CanvasBox): self._buddy_activity_changed_cb(buddy, None) def _buddy_color_changed_cb(self, buddy, color): + # TODO: shouldn't this change self._buddy_icon instead? self._activity_icon.props.xo_color = buddy.get_color() diff --git a/src/view/home/FriendsBox.py b/src/view/home/FriendsBox.py index a25415e..3e776b2 100644 --- a/src/view/home/FriendsBox.py +++ b/src/view/home/FriendsBox.py @@ -16,12 +16,13 @@ import random +import gtk import hippo import gobject from sugar import profile from sugar.graphics import style -from sugar.graphics.icon import CanvasIcon +from sugar.graphics.icon import CanvasIcon, Icon from sugar.graphics.palette import Palette from model import shellmodel @@ -42,7 +43,11 @@ class FriendsBox(hippo.CanvasBox): self._owner_icon = CanvasIcon(icon_name='computer-xo', cache=True, xo_color=profile.get_color()) self._owner_icon.props.size = style.LARGE_ICON_SIZE - palette = Palette(profile.get_nick_name()) + palette_icon = Icon(icon_name='computer-xo', + xo_color=profile.get_color()) + palette_icon.props.icon_size = gtk.ICON_SIZE_LARGE_TOOLBAR + palette = Palette(None, primary_text=profile.get_nick_name(), + icon=palette_icon) self._owner_icon.set_palette(palette) self._layout.add_center(self._owner_icon) diff --git a/src/view/home/MeshBox.py b/src/view/home/MeshBox.py index cd0eee9..b166edc 100644 --- a/src/view/home/MeshBox.py +++ b/src/view/home/MeshBox.py @@ -22,7 +22,7 @@ import hippo import gobject import gtk -from sugar.graphics.icon import CanvasIcon +from sugar.graphics.icon import CanvasIcon, Icon from sugar.graphics.xocolor import XoColor from sugar.graphics import style from sugar.graphics.icon import get_icon_state @@ -261,7 +261,11 @@ class ActivityView(hippo.CanvasBox): return icon def _create_palette(self): - p = palette.Palette(self._model.activity.props.name) + p_icon = Icon(file=self._model.get_icon_name(), + xo_color=self._model.get_color()) + p_icon.props.icon_size = gtk.ICON_SIZE_LARGE_TOOLBAR + p = palette.Palette(None, primary_text=self._model.activity.props.name, + icon=p_icon) private = self._model.activity.props.private joined = self._model.activity.props.joined |