From 3a7c4da5b6a21d0f8249f72b7cd80753c9c52dcd Mon Sep 17 00:00:00 2001
From: Aleksey Lim <alsroot@member.fsf.org>
Date: Tue, 20 Oct 2009 17:18:14 +0000
Subject: Name input screen should be deactivable #1497
---
data/sugar.schemas.in | 11 +++++++++++
src/jarabe/intro/window.py | 18 ++++++++++++++++++
2 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/data/sugar.schemas.in b/data/sugar.schemas.in
index 8c43930..1740d7d 100644
a
|
b
|
|
13 | 13 | </locale> |
14 | 14 | </schema> |
15 | 15 | <schema> |
| 16 | <key>/schemas/desktop/sugar/user/default_nick</key> |
| 17 | <applyto>/desktop/sugar/user/default_nick</applyto> |
| 18 | <owner>sugar</owner> |
| 19 | <type>string</type> |
| 20 | <default>passwd</default> |
| 21 | <locale name="C"> |
| 22 | <short>Default nick</short> |
| 23 | <long>"disabled" to ask nick on initialization; "passwd" to reuse UNIX account long name.</long> |
| 24 | </locale> |
| 25 | </schema> |
| 26 | <schema> |
16 | 27 | <key>/schemas/desktop/sugar/user/color</key> |
17 | 28 | <applyto>/desktop/sugar/user/color</applyto> |
18 | 29 | <owner>sugar</owner> |
diff --git a/src/jarabe/intro/window.py b/src/jarabe/intro/window.py
index 94c6782..42ef6b1 100644
a
|
b
|
import os |
18 | 18 | import logging |
19 | 19 | from gettext import gettext as _ |
20 | 20 | import gconf |
| 21 | import pwd |
21 | 22 | |
22 | 23 | import gtk |
23 | 24 | import gobject |
… |
… |
class _NamePage(_Page): |
111 | 112 | def get_name(self): |
112 | 113 | return self._entry.props.text |
113 | 114 | |
| 115 | def set_name(self, new_name): |
| 116 | self._entry.props.text = new_name |
| 117 | |
114 | 118 | def activate(self): |
115 | 119 | self._entry.props.widget.grab_focus() |
116 | 120 | |
… |
… |
class _IntroBox(hippo.CanvasBox): |
156 | 160 | self._current_page = None |
157 | 161 | self._next_button = None |
158 | 162 | |
| 163 | client = gconf.client_get_default() |
| 164 | default_nick = client.get_string('/desktop/sugar/user/default_nick') |
| 165 | if default_nick != 'disabled': |
| 166 | self._page = self.PAGE_COLOR |
| 167 | if default_nick == 'passwd': |
| 168 | pw = pwd.getpwuid(os.getuid()) |
| 169 | if pw.pw_gecos: |
| 170 | nick = pw.pw_gecos.split(',')[0] |
| 171 | self._name_page.set_name(nick) |
| 172 | else: |
| 173 | self._name_page.set_name(pw.pw_name) |
| 174 | else: |
| 175 | self._name_page.set_name(default_nick) |
| 176 | |
159 | 177 | self._setup_page() |
160 | 178 | |
161 | 179 | def _setup_page(self): |