Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2007-04-19 16:58:19 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2007-04-19 16:58:19 (GMT)
commit8a54707dc5cc8eb6ff1719ce0d8cde28d5356b4d (patch)
treef49330c8fdaba0b9f285098432dfa8c09ae1745c
parentcb997a5264bd78db73c558595126c89215718537 (diff)
parent276d374b1ae6a0b7567979707d129aee7a6b2717 (diff)
Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar
-rw-r--r--browser/sugar-browser.cpp13
-rw-r--r--data/mime.types1
-rw-r--r--services/clipboard/typeregistry.py21
3 files changed, 32 insertions, 3 deletions
diff --git a/browser/sugar-browser.cpp b/browser/sugar-browser.cpp
index 273cea8..df5769b 100644
--- a/browser/sugar-browser.cpp
+++ b/browser/sugar-browser.cpp
@@ -65,6 +65,8 @@
#include <nsICommandManager.h>
#include <nsIClipboardDragDropHooks.h>
+#define SUGAR_PATH "SUGAR_PATH"
+
enum {
PROP_0,
PROP_PROGRESS,
@@ -161,9 +163,11 @@ sugar_browser_startup(const char *profile_path, const char *profile_name)
NS_ENSURE_TRUE(prefService, FALSE);
/* Read our predefined default prefs */
+ nsCString pathToPrefs(g_getenv(SUGAR_PATH));
+ pathToPrefs.Append("/data/gecko-prefs.js");
+
nsCOMPtr<nsILocalFile> file;
- NS_NewNativeLocalFile(nsCString(SHARE_DIR"/gecko-prefs.js"),
- PR_TRUE, getter_AddRefs(file));
+ NS_NewNativeLocalFile(pathToPrefs, PR_TRUE, getter_AddRefs(file));
NS_ENSURE_TRUE(file, FALSE);
rv = prefService->ReadUserPrefs (file);
@@ -176,7 +180,10 @@ sugar_browser_startup(const char *profile_path, const char *profile_name)
prefService->GetBranch ("", getter_AddRefs(pref));
NS_ENSURE_TRUE(pref, FALSE);
- pref->SetCharPref ("helpers.private_mime_types_file", SHARE_DIR"/mime.types");
+ nsCString pathToMimeTypes(g_getenv(SUGAR_PATH));
+ pathToMimeTypes.Append("/data/mime.types");
+
+ pref->SetCharPref ("helpers.private_mime_types_file", pathToMimeTypes.get());
rv = prefService->ReadUserPrefs (nsnull);
if (NS_FAILED(rv)) {
diff --git a/data/mime.types b/data/mime.types
index 0f76f39..a6ffcb2 100644
--- a/data/mime.types
+++ b/data/mime.types
@@ -1,2 +1,3 @@
application/x-squeak-project pr
application/x-abiword abw
+application/vnd.olpc-x-sugar xo
diff --git a/services/clipboard/typeregistry.py b/services/clipboard/typeregistry.py
index 88bdf60..0cab0e9 100644
--- a/services/clipboard/typeregistry.py
+++ b/services/clipboard/typeregistry.py
@@ -237,6 +237,26 @@ class UriListFileType(FileType):
return mime_type in cls._types
matches_mime_type = classmethod(matches_mime_type)
+class XoFileType(FileType):
+
+ _types = set(['application/vnd.olpc-x-sugar'])
+
+ def get_name(self):
+ return _('Activity package')
+
+ def get_icon(self):
+ return 'theme:stock-missing'
+
+ def get_preview(self):
+ return ''
+
+ def get_activity(self):
+ return ''
+
+ def matches_mime_type(cls, mime_type):
+ return mime_type in cls._types
+ matches_mime_type = classmethod(matches_mime_type)
+
class UnknownFileType(FileType):
def get_name(self):
return _('Object')
@@ -267,6 +287,7 @@ class TypeRegistry:
self._types.append(AbiwordFileType)
self._types.append(TextFileType)
self._types.append(SqueakProjectFileType)
+ self._types.append(XoFileType)
def get_type(self, formats):
for file_type in self._types: