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): |
467 | 467 | def create_palette(self): |
468 | 468 | palette = FavoritePalette(self._activity_info, self._journal_entries) |
469 | 469 | palette.connect('activate', self.__palette_activate_cb) |
| 470 | palette.connect('entry-activate', self.__palette_entry_activate_cb) |
470 | 471 | return palette |
471 | 472 | |
472 | 473 | def __palette_activate_cb(self, palette): |
473 | 474 | self._activate() |
474 | 475 | |
| 476 | def __palette_entry_activate_cb(self, palette, metadata): |
| 477 | self._resume(metadata) |
| 478 | |
475 | 479 | def __hovering_changed_event_cb(self, icon, hovering): |
476 | 480 | self._hovering = hovering |
477 | 481 | self.emit_paint_needed(0, 0, -1, -1) |
… |
… |
class ActivityIcon(CanvasIcon): |
515 | 519 | def __button_release_event_cb(self, icon, event): |
516 | 520 | self._activate() |
517 | 521 | |
| 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 | |
518 | 537 | def _activate(self): |
519 | 538 | if self.palette is not None: |
520 | 539 | self.palette.popdown(immediate=True) |
521 | 540 | |
522 | 541 | 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]) |
538 | 543 | else: |
539 | 544 | client = gconf.client_get_default() |
540 | 545 | xo_color = XoColor(client.get_string('/desktop/sugar/user/color')) |
… |
… |
class ActivityIcon(CanvasIcon): |
571 | 576 | class FavoritePalette(ActivityPalette): |
572 | 577 | __gtype_name__ = 'SugarFavoritePalette' |
573 | 578 | |
| 579 | __gsignals__ = { |
| 580 | 'entry-activate': (gobject.SIGNAL_RUN_FIRST, |
| 581 | gobject.TYPE_NONE, ([object])), |
| 582 | } |
| 583 | |
574 | 584 | def __init__(self, activity_info, journal_entries): |
575 | 585 | ActivityPalette.__init__(self, activity_info) |
576 | 586 | |
… |
… |
class FavoritePalette(ActivityPalette): |
609 | 619 | |
610 | 620 | def __resume_entry_cb(self, menu_item, entry): |
611 | 621 | if entry is not None: |
612 | | misc.resume(entry, entry['activity']) |
| 622 | self.emit('entry-activate', entry) |
613 | 623 | |
614 | 624 | class CurrentActivityIcon(CanvasIcon, hippo.CanvasItem): |
615 | 625 | def __init__(self): |