Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEben Eliason <eben@localhost.localdomain>2008-03-24 10:35:42 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-04-02 13:06:12 (GMT)
commit39eabae4e2784a1236f2366b6acf923830c97e1c (patch)
tree6359c7c636e7863e6f6e0ddb986ea996c823858a /src
parent8856d855852226e76b585db9ab5a7acff8f5272b (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.py8
-rw-r--r--src/view/BuddyMenu.py7
-rw-r--r--src/view/frame/friendstray.py1
-rw-r--r--src/view/home/FriendView.py1
-rw-r--r--src/view/home/FriendsBox.py9
-rw-r--r--src/view/home/MeshBox.py8
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