From 5245f687227e29cde9bd679b9e3ca892180a5895 Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Sun, 20 Dec 2009 14:00:02 +0000 Subject: Name input screen should be deactivable #1497 --- 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 @@ + /schemas/desktop/sugar/user/default_nick + /desktop/sugar/user/default_nick + sugar + string + system + + Default nick + "disabled" to ask nick on initialization; "system" to reuse UNIX account long name. + + + /schemas/desktop/sugar/user/color /desktop/sugar/user/color sugar 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): -- cgit v0.9.1