Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/view/Shell.py1
-rwxr-xr-xsugar-emulator1
-rw-r--r--sugar/__init__.py8
-rw-r--r--sugar/_sugarext.defs24
-rw-r--r--sugar/activity/activity.py5
-rw-r--r--sugar/activity/activityfactory.py5
-rw-r--r--sugar/activity/activityfactoryservice.py6
-rw-r--r--sugar/graphics/__init__.py7
-rw-r--r--sugar/ltihooks.py2
-rw-r--r--sugar/objects/mime.py6
10 files changed, 45 insertions, 20 deletions
diff --git a/shell/view/Shell.py b/shell/view/Shell.py
index 706281c..6b9c352 100644
--- a/shell/view/Shell.py
+++ b/shell/view/Shell.py
@@ -145,6 +145,7 @@ class Shell(gobject.GObject):
home_model.notify_activity_launch(activity_id, bundle_id)
def notify_launch_failure(self, activity_id):
+ home_model = self._model.get_home()
home_model.notify_activity_launch_failed(activity_id)
def start_activity(self, activity_type):
diff --git a/sugar-emulator b/sugar-emulator
index f651534..a86e961 100755
--- a/sugar-emulator
+++ b/sugar-emulator
@@ -30,6 +30,7 @@ import gtk
import gobject
from sugar import env
+from sugar import ltihooks
def _get_display_number():
"""Find a free display number trying to connect to 6000+ ports"""
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)