From c274279a09e4788c0b06415afd8024bcde74bfb6 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Fri, 06 Aug 2010 08:47:17 +0000 Subject: Create the palette for BuddyIcon lazily so it can be overridden in OwnerIcon --- diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index 7765d0e..088a847 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -603,7 +603,6 @@ class OwnerIcon(BuddyIcon): def __init__(self, size): BuddyIcon.__init__(self, buddy=get_owner_instance(), size=size) - self._power_manager = None self._palette_enabled = False self._register_menu = None diff --git a/src/jarabe/view/buddyicon.py b/src/jarabe/view/buddyicon.py index 6e08d9e..37b9167 100644 --- a/src/jarabe/view/buddyicon.py +++ b/src/jarabe/view/buddyicon.py @@ -28,11 +28,11 @@ class BuddyIcon(CanvasIcon): self._buddy.connect('notify::present', self.__buddy_notify_present_cb) self._buddy.connect('notify::color', self.__buddy_notify_color_cb) - palette = BuddyMenu(buddy) - self.set_palette(palette) - self._update_color() + def create_palette(self): + return BuddyMenu(self._buddy) + def __buddy_notify_present_cb(self, buddy, pspec): # Update the icon's color when the buddy comes and goes self._update_color() @@ -41,19 +41,18 @@ 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() + if palette is not None: + palette.props.icon.props.stroke_color = self.props.stroke_color + palette.props.icon.props.fill_color = self.props.fill_color else: self.props.xo_color = self._buddy.get_color() - palette_icon.props.xo_color = self._buddy.get_color() + if palette is not None: + palette.props.icon.props.xo_color = self._buddy.get_color() def set_filter(self, query): self._greyed_out = (self._buddy.get_nick().lower().find(query) == -1) \ -- cgit v0.9.1