Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/model/bundleregistry.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/jarabe/model/bundleregistry.py')
-rw-r--r--src/jarabe/model/bundleregistry.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/jarabe/model/bundleregistry.py b/src/jarabe/model/bundleregistry.py
index 60b2ab9..5abd654 100644
--- a/src/jarabe/model/bundleregistry.py
+++ b/src/jarabe/model/bundleregistry.py
@@ -31,6 +31,7 @@ from sugar.bundle.bundle import MalformedBundleException, \
from sugar import env
from jarabe import config
+from jarabe.model import mimeregistry
class BundleRegistry(gobject.GObject):
"""Tracks the available activity bundles"""
@@ -244,13 +245,25 @@ class BundleRegistry(gobject.GObject):
def get_activities_for_type(self, mime_type):
result = []
+
+ mime = mimeregistry.get_registry()
+ default_bundle_id = mime.get_default_activity(mime_type)
+ default_bundle = None
+
for bundle in self._bundles:
if bundle.get_mime_types() and mime_type in bundle.get_mime_types():
- if self.get_default_for_type(mime_type) == \
+
+ if bundle.get_bundle_id() == default_bundle_id:
+ default_bundle = bundle
+ elif self.get_default_for_type(mime_type) == \
bundle.get_bundle_id():
result.insert(0, bundle)
else:
result.append(bundle)
+
+ if default_bundle is not None:
+ result.insert(0, default_bundle)
+
return result
def get_default_for_type(self, mime_type):