Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--data/sugar.schemas.in11
-rw-r--r--src/jarabe/intro/window.py18
2 files changed, 29 insertions, 0 deletions
diff --git a/data/sugar.schemas.in b/data/sugar.schemas.in
index 48770de..bb69f9e 100644
--- a/data/sugar.schemas.in
+++ b/data/sugar.schemas.in
@@ -13,6 +13,17 @@
</locale>
</schema>
<schema>
+ <key>/schemas/desktop/sugar/user/default_nick</key>
+ <applyto>/desktop/sugar/user/default_nick</applyto>
+ <owner>sugar</owner>
+ <type>string</type>
+ <default>system</default>
+ <locale name="C">
+ <short>Default nick</short>
+ <long>"disabled" to ask nick on initialization; "system" to reuse UNIX account long name.</long>
+ </locale>
+ </schema>
+ <schema>
<key>/schemas/desktop/sugar/user/color</key>
<applyto>/desktop/sugar/user/color</applyto>
<owner>sugar</owner>
diff --git a/src/jarabe/intro/window.py b/src/jarabe/intro/window.py
index 94c6782..35c0cda 100644
--- a/src/jarabe/intro/window.py
+++ b/src/jarabe/intro/window.py
@@ -18,6 +18,7 @@ import os
import logging
from gettext import gettext as _
import gconf
+import pwd
import gtk
import gobject
@@ -111,6 +112,9 @@ class _NamePage(_Page):
def get_name(self):
return self._entry.props.text
+ def set_name(self, new_name):
+ self._entry.props.text = new_name
+
def activate(self):
self._entry.props.widget.grab_focus()
@@ -156,6 +160,20 @@ class _IntroBox(hippo.CanvasBox):
self._current_page = None
self._next_button = None
+ client = gconf.client_get_default()
+ default_nick = client.get_string('/desktop/sugar/user/default_nick')
+ if default_nick != 'disabled':
+ self._page = self.PAGE_COLOR
+ if default_nick == 'system':
+ pwd_entry = pwd.getpwuid(os.getuid())
+ if pwd_entry.pw_gecos:
+ nick = pwd_entry.pw_gecos.split(',')[0]
+ self._name_page.set_name(nick)
+ else:
+ self._name_page.set_name(pwd_entry.pw_name)
+ else:
+ self._name_page.set_name(default_nick)
+
self._setup_page()
def _setup_page(self):