diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-02-04 18:52:47 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-02-04 18:52:47 (GMT) |
commit | 46d2cc268e3e9a1badd58ec3c06a2e37993828c9 (patch) | |
tree | 4ab2463b6ae56e727e3be39f21886f4b6c3d1521 /src/jarabe/desktop | |
parent | 9a2614ef57594b4f125732d969ef569b1ba0927c (diff) |
show launcher screen as soon as possible. #243
So the user has inmediate feedback.
Diffstat (limited to 'src/jarabe/desktop')
-rw-r--r-- | src/jarabe/desktop/activitieslist.py | 13 | ||||
-rw-r--r-- | src/jarabe/desktop/favoritesview.py | 19 | ||||
-rw-r--r-- | src/jarabe/desktop/meshbox.py | 6 |
3 files changed, 35 insertions, 3 deletions
diff --git a/src/jarabe/desktop/activitieslist.py b/src/jarabe/desktop/activitieslist.py index a6d17b3..5d6f900 100644 --- a/src/jarabe/desktop/activitieslist.py +++ b/src/jarabe/desktop/activitieslist.py @@ -26,9 +26,11 @@ from sugar.graphics import style from sugar.graphics.icon import CanvasIcon from sugar.graphics.xocolor import XoColor from sugar.activity import activityfactory +from sugar.activity.activityhandle import ActivityHandle from jarabe.model import bundleregistry from jarabe.view.palettes import ActivityPalette +from jarabe.view import launcher class ActivitiesList(gtk.VBox): __gtype_name__ = 'SugarActivitiesList' @@ -257,7 +259,16 @@ class ActivityEntry(hippo.CanvasBox, hippo.CanvasItem): self._favorite_icon.props.favorite = self._favorite def __icon_button_release_event_cb(self, icon, event): - activityfactory.create(self._bundle) + activity_id = activityfactory.create_activity_id() + + client = gconf.client_get_default() + xo_color = XoColor(client.get_string('/desktop/sugar/user/color')) + + launcher.add_launcher(activity_id, + self._bundle.get_icon(), + xo_color) + + activityfactory.create(self._bundle, ActivityHandle(activity_id)) def get_bundle_id(self): return self._bundle_id diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index 6de290b..9535edf 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -30,12 +30,14 @@ from sugar.graphics.menuitem import MenuItem from sugar.graphics.alert import Alert from sugar.graphics.xocolor import XoColor from sugar.activity import activityfactory +from sugar.activity.activityhandle import ActivityHandle from sugar.presence import presenceservice from sugar import dispatch from jarabe.view.palettes import JournalPalette from jarabe.view.palettes import CurrentActivityPalette, ActivityPalette from jarabe.view.buddymenu import BuddyMenu +from jarabe.view import launcher from jarabe.model.buddy import BuddyModel from jarabe.model import shell from jarabe.model import bundleregistry @@ -530,9 +532,22 @@ class ActivityIcon(CanvasIcon): def __button_release_event_cb(self, icon, event): self.palette.popdown(immediate=True) if get_settings().resume_mode and self._journal_entries: - journal.misc.resume(self._journal_entries[0]) + entry = self._journal_entries[0] + launcher.add_launcher(entry['activity_id'], + self._activity_info.get_icon(), + XoColor(entry.get('icon-color', ''))) + journal.misc.resume(entry) else: - activityfactory.create(self._activity_info) + client = gconf.client_get_default() + xo_color = XoColor(client.get_string('/desktop/sugar/user/color')) + + activity_id = activityfactory.create_activity_id() + launcher.add_launcher(activity_id, + self._activity_info.get_icon(), + xo_color) + + handle = ActivityHandle(activity_id) + activityfactory.create(self._activity_info, handle) def get_bundle_id(self): return self._activity_info.get_bundle_id() diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py index 24f55e1..eb6cc80 100644 --- a/src/jarabe/desktop/meshbox.py +++ b/src/jarabe/desktop/meshbox.py @@ -38,6 +38,7 @@ from sugar.util import unique_id from jarabe.model import neighborhood from jarabe.view.buddyicon import BuddyIcon from jarabe.view.pulsingicon import CanvasPulsingIcon +from jarabe.view import launcher from jarabe.desktop.snowflakelayout import SnowflakeLayout from jarabe.desktop.spreadlayout import SpreadLayout from jarabe.desktop import keydialog @@ -471,6 +472,11 @@ class ActivityView(hippo.CanvasBox): handle = ActivityHandle(self._model.get_id()) bundle = bundleregistry.get_registry().get_bundle(bundle_id) + + launcher.add_launcher(self._model.get_id(), + bundle.get_icon(), + self._model.get_color()) + activityfactory.create(bundle, handle) def set_filter(self, query): |