add prelight on mouse enter to activity icons

* prelight uses profile.get_color()
This commit is contained in:
John (J5) Palmieri 2007-01-09 15:25:51 -05:00
parent 4853f68eaa
commit 4869f74642
2 changed files with 13 additions and 0 deletions

View File

@ -20,6 +20,7 @@ import logging
from sugar.graphics.canvasicon import CanvasIcon
from sugar.presence import PresenceService
from sugar.graphics import style
from sugar import profile
class ActivityItem(CanvasIcon):
def __init__(self, activity):
@ -27,6 +28,16 @@ class ActivityItem(CanvasIcon):
CanvasIcon.__init__(self, icon_name=icon_name)
style.apply_stylesheet(self, 'frame.ActivityIcon')
self._activity = activity
self._normal_color = self.get_property('color')
self._prelight_color = profile.get_color()
self.connect('motion-notify-event', self._mouse_motion_event_cb)
def _mouse_motion_event_cb(self, item, event):
if event.detail == hippo.MOTION_DETAIL_ENTER:
self.set_property('color', self._prelight_color)
elif event.detail == hippo.MOTION_DETAIL_LEAVE:
self.set_property('color', self._normal_color)
def get_bundle_id(self):
return self._activity.get_service_name()

View File

@ -26,6 +26,8 @@ from sugar.graphics import colors
from sugar.graphics import iconcolor
from sugar import profile
# TODO: rgb_to_html and html_to_rgb are useful elsewhere
# we should put this in a common module
def rgb_to_html(r, g, b):
""" (r, g, b) tuple (in float format) -> #RRGGBB """
return '#%02x%02x%02x' % (int(r * 255), int(g * 255), int(b * 255))