From 1d4112a8825480169517b09305271646fca69286 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 29 Jun 2007 20:11:28 +0000 Subject: Set glib program name and application name. Better way of importing ltihooks. Several cleanups. --- (limited to 'sugar') diff --git a/sugar/__init__.py b/sugar/__init__.py index fe79b51..d534a16 100644 --- a/sugar/__init__.py +++ b/sugar/__init__.py @@ -17,7 +17,15 @@ # Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. +import os + +from sugar import ltihooks + ZOOM_MESH = 0 ZOOM_FRIENDS = 1 ZOOM_HOME = 2 ZOOM_ACTIVITY = 3 + +print os.path.join(os.path.dirname(__file__), 'Makefile.am') +if os.path.isfile(os.path.join(os.path.dirname(__file__), 'Makefile.am')): + ltihooks.install() diff --git a/sugar/_sugarext.defs b/sugar/_sugarext.defs index 2e07b61..93c85c9 100644 --- a/sugar/_sugarext.defs +++ b/sugar/_sugarext.defs @@ -102,3 +102,27 @@ '("const-char*" "property") ) ) + +(define-function get_prgname + (c-name "g_get_prgname") + (return-type "const-char*") +) + +(define-function get_application_name + (c-name "g_get_application_name") + (return-type "const-char*") +) + +(define-function set_prgname + (c-name "g_set_prgname") + (parameters + '("const-char*" "name") + ) +) + +(define-function set_application_name + (c-name "g_set_application_name") + (parameters + '("const-char*" "name") + ) +) diff --git a/sugar/activity/activity.py b/sugar/activity/activity.py index a45c844..7f6ad9b 100644 --- a/sugar/activity/activity.py +++ b/sugar/activity/activity.py @@ -39,6 +39,7 @@ from sugar.graphics.toolbutton import ToolButton from sugar.datastore import datastore from sugar import wm from sugar import profile +from sugar import _sugarext class ActivityToolbar(gtk.Toolbar): def __init__(self, activity): @@ -272,7 +273,7 @@ class Activity(Window, gtk.Container): return self._activity_id def get_service_name(self): - return os.environ['SUGAR_BUNDLE_SERVICE_NAME'] + return _sugarext.get_prgname() def set_canvas(self, canvas): Window.set_canvas(self, canvas) @@ -416,7 +417,7 @@ class Activity(Window, gtk.Container): def get_bundle_name(): """Return the bundle name for the current process' bundle """ - return os.environ['SUGAR_BUNDLE_NAME'] + return _sugarext.get_application_name() def get_bundle_path(): """Return the bundle path for the current process' bundle diff --git a/sugar/activity/activityfactory.py b/sugar/activity/activityfactory.py index f3e8bbe..d1480b2 100644 --- a/sugar/activity/activityfactory.py +++ b/sugar/activity/activityfactory.py @@ -129,9 +129,8 @@ class ActivityCreationHandler(gobject.GObject): logging.debug("Couldn't create activity %s (%s): %s" % (self._activity_handle.activity_id, self._service_name, err)) self._shell.NotifyLaunchFailure( - service_name, self.get_activity_id(), - reply_handler=self._no_reply_handler, - error_handler=self._notify_launch_failure_error_handler) + self.get_activity_id(), reply_handler=self._no_reply_handler, + error_handler=self._notify_launch_failure_error_handler) def create(service_name, activity_handle=None): """Create a new activity from its name.""" diff --git a/sugar/activity/activityfactoryservice.py b/sugar/activity/activityfactoryservice.py index bc7c4e7..8b1397f 100644 --- a/sugar/activity/activityfactoryservice.py +++ b/sugar/activity/activityfactoryservice.py @@ -29,6 +29,7 @@ import dbus.glib from sugar.activity.bundle import Bundle from sugar.activity import activityhandle from sugar import logger +from sugar import _sugarext # Work around for dbus mutex locking issue gobject.threads_init() @@ -155,8 +156,9 @@ def run(bundle_path): gtk.icon_theme_get_default().append_search_path(bundle.get_icons_path()) os.environ['SUGAR_BUNDLE_PATH'] = bundle_path - os.environ['SUGAR_BUNDLE_SERVICE_NAME'] = bundle.get_service_name() - os.environ['SUGAR_BUNDLE_NAME'] = bundle.get_name() + + _sugarext.set_prgname(bundle.get_service_name()) + _sugarext.set_application_name(bundle.get_name()) factory = ActivityFactoryService(bundle.get_service_name(), bundle.get_class()) diff --git a/sugar/graphics/__init__.py b/sugar/graphics/__init__.py index 2e8fe8e..9f0a73f 100644 --- a/sugar/graphics/__init__.py +++ b/sugar/graphics/__init__.py @@ -17,9 +17,4 @@ # Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. -try: - from sugar._sugarext import AddressEntry -except ImportError: - from sugar import ltihooks - from sugar._sugarext import AddressEntry - +from sugar._sugarext import AddressEntry diff --git a/sugar/ltihooks.py b/sugar/ltihooks.py index 1de3034..d2e6b1f 100644 --- a/sugar/ltihooks.py +++ b/sugar/ltihooks.py @@ -68,5 +68,3 @@ def install(): importer.install() def uninstall(): importer.uninstall() - -install() diff --git a/sugar/objects/mime.py b/sugar/objects/mime.py index f4dc1a3..8725700 100644 --- a/sugar/objects/mime.py +++ b/sugar/objects/mime.py @@ -15,11 +15,7 @@ # Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. -try: - from sugar import _sugarext -except ImportError: - from sugar import ltihooks - from sugar import _sugarext +from sugar import _sugarext def get_for_file(file_name): return _sugarext.get_mime_type_for_file(file_name) -- cgit v0.9.1