From 32064933bba9ee85619bd3c8fae265ccbcbdaa84 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Wed, 23 Sep 2009 13:10:27 +0000 Subject: Use correct color when resuming an entry from the favorites view #1397 --- diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index 1bfbbf1..490e5c0 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -467,11 +467,15 @@ class ActivityIcon(CanvasIcon): def create_palette(self): palette = FavoritePalette(self._activity_info, self._journal_entries) palette.connect('activate', self.__palette_activate_cb) + palette.connect('entry-activate', self.__palette_entry_activate_cb) return palette def __palette_activate_cb(self, palette): self._activate() + def __palette_entry_activate_cb(self, palette, metadata): + self._resume(metadata) + def __hovering_changed_event_cb(self, icon, hovering): self._hovering = hovering self.emit_paint_needed(0, 0, -1, -1) @@ -515,26 +519,27 @@ class ActivityIcon(CanvasIcon): def __button_release_event_cb(self, icon, event): self._activate() + def _resume(self, journal_entry): + if not journal_entry['activity_id']: + journal_entry['activity_id'] = activityfactory.create_activity_id() + + shell_model = shell.get_model() + activity = shell_model.get_activity_by_id(journal_entry['activity_id']) + if activity: + activity.get_window().activate(gtk.get_current_event_time()) + return + + launcher.add_launcher(journal_entry['activity_id'], + self._activity_info.get_icon(), + misc.get_icon_color(journal_entry)) + misc.resume(journal_entry, self._activity_info.get_bundle_id()) + def _activate(self): if self.palette is not None: self.palette.popdown(immediate=True) if self._resume_mode and self._journal_entries: - entry = self._journal_entries[0] - - if not entry['activity_id']: - entry['activity_id'] = activityfactory.create_activity_id() - - shell_model = shell.get_model() - activity = shell_model.get_activity_by_id(entry['activity_id']) - if activity: - activity.get_window().activate(gtk.get_current_event_time()) - return - - launcher.add_launcher(entry['activity_id'], - self._activity_info.get_icon(), - misc.get_icon_color(entry)) - misc.resume(entry, self._activity_info.get_bundle_id()) + self._resume(self._journal_entries[0]) else: client = gconf.client_get_default() xo_color = XoColor(client.get_string('/desktop/sugar/user/color')) @@ -571,6 +576,11 @@ class ActivityIcon(CanvasIcon): class FavoritePalette(ActivityPalette): __gtype_name__ = 'SugarFavoritePalette' + __gsignals__ = { + 'entry-activate': (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, ([object])), + } + def __init__(self, activity_info, journal_entries): ActivityPalette.__init__(self, activity_info) @@ -609,7 +619,7 @@ class FavoritePalette(ActivityPalette): def __resume_entry_cb(self, menu_item, entry): if entry is not None: - misc.resume(entry, entry['activity']) + self.emit('entry-activate', entry) class CurrentActivityIcon(CanvasIcon, hippo.CanvasItem): def __init__(self): -- cgit v0.9.1