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>2006-08-25 18:12:52 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-08-25 18:12:52 (GMT)
commit6b232d97d823012a51c7de8565dd3bbb428d3397 (patch)
tree8a2c1505542a3b108f0f5727645da9124c9507cf
parentba3d5fce8c5051fbb6d9557d127f922145ad7f41 (diff)
Rework profiles code a bit, initialize gecko profile
-rw-r--r--activities/browser/BrowserActivity.py6
-rw-r--r--configure.ac2
-rw-r--r--shell/Owner.py2
-rwxr-xr-xshell/Shell.py1
-rw-r--r--sugar/conf/Profile.py12
-rw-r--r--sugar/env.py16
6 files changed, 25 insertions, 14 deletions
diff --git a/activities/browser/BrowserActivity.py b/activities/browser/BrowserActivity.py
index d618d33..f702570 100644
--- a/activities/browser/BrowserActivity.py
+++ b/activities/browser/BrowserActivity.py
@@ -1,3 +1,5 @@
+import os
+
import gtk
import geckoembed
@@ -8,11 +10,15 @@ from sugar.p2p.model.RemoteModel import RemoteModel
from NotificationBar import NotificationBar
from NavigationToolbar import NavigationToolbar
+from sugar import env
class BrowserActivity(Activity):
def __init__(self):
Activity.__init__(self)
+ path = os.path.join(env.get_profile_path(), 'gecko')
+ geckoembed.set_profile_path(path)
+
self._share_service = None
self._model_service = None
self._notif_service = None
diff --git a/configure.ac b/configure.ac
index eec1823..198231b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([Sugar],[0.22],[],[sugar])
+AC_INIT([Sugar],[0.24],[],[sugar])
AC_PREREQ([2.59])
diff --git a/shell/Owner.py b/shell/Owner.py
index 81b390e..e2e64e8 100644
--- a/shell/Owner.py
+++ b/shell/Owner.py
@@ -15,7 +15,7 @@ class ShellOwner(object):
server portion of the Owner, paired with the client portion in Buddy.py."""
def __init__(self):
self._nick = env.get_nick_name()
- user_dir = env.get_user_dir()
+ user_dir = env.get_profile_path()
self._icon = None
for fname in os.listdir(user_dir):
diff --git a/shell/Shell.py b/shell/Shell.py
index 3c54830..b79e245 100755
--- a/shell/Shell.py
+++ b/shell/Shell.py
@@ -94,6 +94,7 @@ class Shell(gobject.GObject):
self.set_zoom_level(Shell.ZOOM_MESH)
def __first_time_dialog_destroy_cb(self, dialog):
+ conf.get_profile().save()
self.start()
def start(self):
diff --git a/sugar/conf/Profile.py b/sugar/conf/Profile.py
index f8e6950..c569cb3 100644
--- a/sugar/conf/Profile.py
+++ b/sugar/conf/Profile.py
@@ -3,7 +3,8 @@ from ConfigParser import ConfigParser
from sugar.canvas.IconColor import IconColor
class Profile:
- def __init__(self):
+ def __init__(self,):
+ self._path = None
self._nick_name = None
def _ensure_dirs(self):
@@ -18,23 +19,20 @@ class Profile:
def set_color(self, color):
self._color = color
- self.save()
def get_nick_name(self):
return self._nick_name
def set_nick_name(self, nick_name):
self._nick_name = nick_name
- self.save()
def get_path(self):
return self._path
- def read(self, profile_id):
- self._profile_id = profile_id
+ def set_path(self, path):
+ self._path = path
- base_path = os.path.expanduser('~/.sugar')
- self._path = os.path.join(base_path, profile_id)
+ def read(self):
self._color = None
self._ensure_dirs()
diff --git a/sugar/env.py b/sugar/env.py
index 4db74e8..4b977d3 100644
--- a/sugar/env.py
+++ b/sugar/env.py
@@ -44,15 +44,21 @@ def setup():
registry = sugar.conf.get_activity_registry()
registry.scan_directory(get_activities_dir())
+ read_profile()
+
+def read_profile():
profile = sugar.conf.get_profile()
+ profile.set_path(get_profile_path())
+ profile.read()
+
+def get_profile_path():
if os.environ.has_key('SUGAR_PROFILE'):
- profile.read(os.environ['SUGAR_PROFILE'])
+ profile_id = os.environ['SUGAR_PROFILE']
else:
- profile.read('default')
+ profile_id = 'default'
+ path = os.path.expanduser('~/.sugar')
-def get_user_dir():
- profile = sugar.conf.get_profile()
- return profile.get_path()
+ return os.path.join(path, profile_id)
def get_nick_name():
profile = sugar.conf.get_profile()