From 3cf713d3bd0db9b439d16d33776be55df43a4252 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Mon, 20 Oct 2008 15:29:15 +0000 Subject: Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar --- diff --git a/bin/sugar-session b/bin/sugar-session index 4f8dfa7..eb76fda 100644 --- a/bin/sugar-session +++ b/bin/sugar-session @@ -17,9 +17,15 @@ import sys import os +if os.environ.get('SUGAR_LOGGER_LEVEL', '') == 'debug': + import time + print '%r STARTUP: Starting the shell' % time.time() + sys.stdout.flush() + import gettext -import gconf +import logging +import gconf import gtk import gobject import dbus.glib @@ -38,11 +44,13 @@ from jarabe import config from jarabe import service def uisetup_completed_cb(): + logging.debug('STARTUP: --- uisetup_completed_cb ---') from jarabe.model import screen screen.set_dcon_freeze(0) def uisetup_delayed_cb(home_window): + logging.debug('STARTUP: --- uisetup_delayed_cb ---') from jarabe.journal import journalactivity from jarabe.view import keyhandler from jarabe import frame @@ -56,7 +64,6 @@ def uisetup_delayed_cb(home_window): def main(): service.start_logsmanager() - logger.start('shell') intro.check_profile() @@ -84,8 +91,8 @@ def main(): home_window = HomeWindow() home_window.show() - gobject.idle_add(uisetup_delayed_cb, home_window) gobject.idle_add(uisetup_completed_cb) + gobject.idle_add(uisetup_delayed_cb, home_window) try: gtk.main() diff --git a/src/jarabe/desktop/activitieslist.py b/src/jarabe/desktop/activitieslist.py index a39e525..2ce4973 100644 --- a/src/jarabe/desktop/activitieslist.py +++ b/src/jarabe/desktop/activitieslist.py @@ -14,6 +14,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +import logging + import gobject import gtk import hippo @@ -37,6 +39,8 @@ class ActivitiesList(gtk.VBox): } def __init__(self): + logging.debug('STARTUP: Loading the activities list') + gobject.GObject.__init__(self) scrolled_window = gtk.ScrolledWindow() @@ -57,10 +61,12 @@ class ActivitiesList(gtk.VBox): self._box.props.background_color = style.COLOR_WHITE.get_int() canvas.set_root(self._box) + gobject.idle_add(self.__connect_to_bundle_registry_cb) + + def __connect_to_bundle_registry_cb(self): registry = bundleregistry.get_registry() for info in registry: self._add_activity(info) - registry.connect('bundle-added', self.__activity_added_cb) registry.connect('bundle-removed', self.__activity_removed_cb) diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index 4ffa7fe..2afb933 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -71,6 +71,8 @@ class FavoritesView(hippo.Canvas): } def __init__(self, **kwargs): + logging.debug('STARTUP: Loading the favorites view') + gobject.GObject.__init__(self, **kwargs) # DND stuff @@ -88,11 +90,6 @@ class FavoritesView(hippo.Canvas): self._layout = None self._alert = None - registry = bundleregistry.get_registry() - registry.connect('bundle-added', self.__activity_added_cb) - registry.connect('bundle-removed', self.__activity_removed_cb) - registry.connect('bundle-changed', self.__activity_changed_cb) - # More DND stuff self.add_events(gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.POINTER_MOTION_HINT_MASK) @@ -103,6 +100,14 @@ class FavoritesView(hippo.Canvas): self.connect('drag-drop', self.__drag_drop_cb) self.connect('drag-data-received', self.__drag_data_received_cb) + gobject.idle_add(self.__connect_to_bundle_registry_cb) + + def __connect_to_bundle_registry_cb(self): + registry = bundleregistry.get_registry() + registry.connect('bundle-added', self.__activity_added_cb) + registry.connect('bundle-removed', self.__activity_removed_cb) + registry.connect('bundle-changed', self.__activity_changed_cb) + def _add_activity(self, activity_info): icon = ActivityIcon(activity_info) icon.connect('erase-activated', self.__erase_activated_cb) diff --git a/src/jarabe/desktop/groupbox.py b/src/jarabe/desktop/groupbox.py index 5f4bdf2..b77ae6e 100644 --- a/src/jarabe/desktop/groupbox.py +++ b/src/jarabe/desktop/groupbox.py @@ -14,6 +14,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +import logging + import gobject import gtk import hippo @@ -31,6 +33,8 @@ from jarabe.desktop.spreadlayout import SpreadLayout class GroupBox(hippo.Canvas): __gtype_name__ = 'SugarGroupBox' def __init__(self): + logging.debug("STARTUP: Loading the group view") + gobject.GObject.__init__(self) self._box = hippo.CanvasBox() diff --git a/src/jarabe/desktop/homebox.py b/src/jarabe/desktop/homebox.py index 999fede..8580140 100644 --- a/src/jarabe/desktop/homebox.py +++ b/src/jarabe/desktop/homebox.py @@ -50,6 +50,8 @@ class HomeBox(gtk.VBox): __gtype_name__ = 'SugarHomeBox' def __init__(self): + logging.debug("STARTUP: Loading the home view") + gobject.GObject.__init__(self) self._favorites_view = favoritesview.FavoritesView() diff --git a/src/jarabe/desktop/homewindow.py b/src/jarabe/desktop/homewindow.py index e88fca6..37509b4 100644 --- a/src/jarabe/desktop/homewindow.py +++ b/src/jarabe/desktop/homewindow.py @@ -14,6 +14,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +import logging + import gtk from sugar.graphics import style @@ -27,12 +29,13 @@ from jarabe.model.shell import ShellModel from jarabe.model import shell _HOME_PAGE = 0 -_GROUP_PAGE = 1 +_GROUP_PAGE = 1 _MESH_PAGE = 2 _TRANSITION_PAGE = 3 class HomeWindow(gtk.Window): def __init__(self): + logging.debug('STARTUP: Loading the desktop window') gtk.Window.__init__(self) accel_group = gtk.AccelGroup() diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py index 3170d35..31dc1e0 100644 --- a/src/jarabe/desktop/meshbox.py +++ b/src/jarabe/desktop/meshbox.py @@ -444,6 +444,8 @@ class MeshToolbar(gtk.Toolbar): class MeshBox(gtk.VBox): __gtype_name__ = 'SugarMeshBox' def __init__(self): + logging.debug("STARTUP: Loading the mesh view") + gobject.GObject.__init__(self) self._model = neighborhood.get_model() diff --git a/src/jarabe/frame/frame.py b/src/jarabe/frame/frame.py index 49574f8..a1daced 100644 --- a/src/jarabe/frame/frame.py +++ b/src/jarabe/frame/frame.py @@ -94,6 +94,7 @@ class Frame(object): MODE_NON_INTERACTIVE = 2 def __init__(self): + logging.debug("STARTUP: Loading the frame") self.mode = None self._palette_group = palettegroup.get_group('frame') diff --git a/src/jarabe/journal/journalactivity.py b/src/jarabe/journal/journalactivity.py index 1f63696..0513382 100644 --- a/src/jarabe/journal/journalactivity.py +++ b/src/jarabe/journal/journalactivity.py @@ -115,6 +115,7 @@ class JournalActivityDBusService(dbus.service.Object): class JournalActivity(Window): def __init__(self): + logging.debug("STARTUP: Loading the journal") Window.__init__(self) self.set_title(_('Journal')) diff --git a/src/jarabe/journal/misc.py b/src/jarabe/journal/misc.py index 269f238..19322ad 100644 --- a/src/jarabe/journal/misc.py +++ b/src/jarabe/journal/misc.py @@ -177,13 +177,15 @@ def resume(jobject, bundle_id=None): activity_bundle = registry.get_bundle(activities[0].get_bundle_id()) activityfactory.create_with_uri(activity_bundle, bundle.get_start_uri()) else: - if not get_activities(jobject) and bundle_id is None: - logging.warning('No activity can open this object, %s.' % - jobject.metadata.get('mime_type', None)) - return if bundle_id is None: - bundle_id = get_activities(jobject)[0].get_bundle_id() - bundle = registry.get_bundle(bundle_id) + activities = get_activities(jobject) + if not activities: + logging.warning('No activity can open this object, %s.' % + jobject.metadata.get('mime_type', None)) + return + bundle_id = activities[0].get_bundle_id() + + bundle = registry.get_bundle(bundle_id) activity_id = jobject.metadata['activity_id'] object_id = jobject.object_id diff --git a/src/jarabe/model/bundleregistry.py b/src/jarabe/model/bundleregistry.py index 279f1a9..1ddeea3 100644 --- a/src/jarabe/model/bundleregistry.py +++ b/src/jarabe/model/bundleregistry.py @@ -42,6 +42,7 @@ class BundleRegistry(gobject.GObject): } def __init__(self): + logging.debug('STARTUP: Loading the bundle registry') gobject.GObject.__init__(self) self._mime_defaults = self._load_mime_defaults() @@ -186,9 +187,12 @@ class BundleRegistry(gobject.GObject): return False def _add_bundle(self, bundle_path): + logging.debug('STARTUP: Adding bundle %r' % bundle_path) try: bundle = ActivityBundle(bundle_path) except MalformedBundleException: + logging.error('Error loading bundle %r:\n%s' % (bundle_path, + ''.join(traceback.format_exception(*sys.exc_info())))) return None self._bundles.append(bundle) -- cgit v0.9.1