Ticket #1397: 0001-Use-correct-color-when-resuming-an-entry-from-the-fa.patch

File 0001-Use-correct-color-when-resuming-an-entry-from-the-fa.patch, 3.7 KB (added by tomeu, 15 years ago)
  • src/jarabe/desktop/favoritesview.py

    From 32064933bba9ee85619bd3c8fae265ccbcbdaa84 Mon Sep 17 00:00:00 2001
    From: Tomeu Vizoso <tomeu@sugarlabs.org>
    Date: Wed, 23 Sep 2009 15:10:27 +0200
    Subject: [PATCH] Use correct color when resuming an entry from the favorites view #1397
    
    ---
     src/jarabe/desktop/favoritesview.py |   42 +++++++++++++++++++++-------------
     1 files changed, 26 insertions(+), 16 deletions(-)
    
    diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py
    index 1bfbbf1..490e5c0 100644
    a b class ActivityIcon(CanvasIcon): 
    467467    def create_palette(self):
    468468        palette = FavoritePalette(self._activity_info, self._journal_entries)
    469469        palette.connect('activate', self.__palette_activate_cb)
     470        palette.connect('entry-activate', self.__palette_entry_activate_cb)
    470471        return palette
    471472
    472473    def __palette_activate_cb(self, palette):
    473474        self._activate()
    474475
     476    def __palette_entry_activate_cb(self, palette, metadata):
     477        self._resume(metadata)
     478
    475479    def __hovering_changed_event_cb(self, icon, hovering):
    476480        self._hovering = hovering
    477481        self.emit_paint_needed(0, 0, -1, -1)
    class ActivityIcon(CanvasIcon): 
    515519    def __button_release_event_cb(self, icon, event):
    516520        self._activate()
    517521
     522    def _resume(self, journal_entry):
     523        if not journal_entry['activity_id']:
     524            journal_entry['activity_id'] = activityfactory.create_activity_id()
     525
     526        shell_model = shell.get_model()
     527        activity = shell_model.get_activity_by_id(journal_entry['activity_id'])
     528        if activity:
     529            activity.get_window().activate(gtk.get_current_event_time())
     530            return
     531
     532        launcher.add_launcher(journal_entry['activity_id'],
     533                              self._activity_info.get_icon(),
     534                              misc.get_icon_color(journal_entry))
     535        misc.resume(journal_entry, self._activity_info.get_bundle_id())
     536
    518537    def _activate(self):
    519538        if self.palette is not None:
    520539            self.palette.popdown(immediate=True)
    521540
    522541        if self._resume_mode and self._journal_entries:
    523             entry = self._journal_entries[0]
    524 
    525             if not entry['activity_id']:
    526                 entry['activity_id'] = activityfactory.create_activity_id()
    527 
    528             shell_model = shell.get_model()
    529             activity = shell_model.get_activity_by_id(entry['activity_id'])
    530             if activity:
    531                 activity.get_window().activate(gtk.get_current_event_time())
    532                 return
    533 
    534             launcher.add_launcher(entry['activity_id'],
    535                                   self._activity_info.get_icon(),
    536                                   misc.get_icon_color(entry))
    537             misc.resume(entry, self._activity_info.get_bundle_id())
     542            self._resume(self._journal_entries[0])
    538543        else:
    539544            client = gconf.client_get_default()
    540545            xo_color = XoColor(client.get_string('/desktop/sugar/user/color'))
    class ActivityIcon(CanvasIcon): 
    571576class FavoritePalette(ActivityPalette):
    572577    __gtype_name__ = 'SugarFavoritePalette'
    573578
     579    __gsignals__ = {
     580        'entry-activate': (gobject.SIGNAL_RUN_FIRST,
     581                           gobject.TYPE_NONE, ([object])),
     582    }
     583
    574584    def __init__(self, activity_info, journal_entries):
    575585        ActivityPalette.__init__(self, activity_info)
    576586
    class FavoritePalette(ActivityPalette): 
    609619
    610620    def __resume_entry_cb(self, menu_item, entry):
    611621        if entry is not None:
    612             misc.resume(entry, entry['activity'])
     622            self.emit('entry-activate', entry)
    613623
    614624class CurrentActivityIcon(CanvasIcon, hippo.CanvasItem):
    615625    def __init__(self):