diff options
-rw-r--r-- | activities/browser/BrowserActivity.py | 6 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | shell/Owner.py | 2 | ||||
-rwxr-xr-x | shell/Shell.py | 1 | ||||
-rw-r--r-- | sugar/conf/Profile.py | 12 | ||||
-rw-r--r-- | sugar/env.py | 16 |
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() |