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-22 14:15:52 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-08-22 14:15:52 (GMT)
commitbf8f1e30adf4894883a8a9dc024e067202c021a1 (patch)
tree6de942fa93bcc95299a9bc369d0e1545fb6b8239
parent511fec421fd4f14f8d2d8d09ac8269101a3940ea (diff)
Forgot to add these
-rw-r--r--shell/FirstTimeDialog.py36
-rw-r--r--sugar/conf/Profile.py50
2 files changed, 86 insertions, 0 deletions
diff --git a/shell/FirstTimeDialog.py b/shell/FirstTimeDialog.py
new file mode 100644
index 0000000..7a7e487
--- /dev/null
+++ b/shell/FirstTimeDialog.py
@@ -0,0 +1,36 @@
+import gtk
+
+from gettext import gettext as _
+
+from sugar import conf
+
+class FirstTimeDialog(gtk.Window):
+ def __init__(self):
+ gtk.Window.__init__(self)
+
+ self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
+
+ vbox = gtk.VBox(False, 6)
+ vbox.set_border_width(12)
+
+ label = gtk.Label(_('Nick Name:'))
+ label.set_alignment(0.0, 0.5)
+ vbox.pack_start(label)
+ label.show()
+
+ self._entry = gtk.Entry()
+ vbox.pack_start(self._entry)
+ self._entry.show()
+
+ button = gtk.Button(None, gtk.STOCK_OK)
+ vbox.pack_start(button)
+ button.connect('clicked', self.__ok_button_clicked_cb)
+ button.show()
+
+ self.add(vbox)
+ vbox.show()
+
+ def __ok_button_clicked_cb(self, button):
+ profile = conf.get_profile()
+ profile.set_nick_name(self._entry.get_text())
+ self.destroy()
diff --git a/sugar/conf/Profile.py b/sugar/conf/Profile.py
new file mode 100644
index 0000000..2a15f85
--- /dev/null
+++ b/sugar/conf/Profile.py
@@ -0,0 +1,50 @@
+import os
+from ConfigParser import ConfigParser
+
+class Profile:
+ def __init__(self):
+ self._nick_name = None
+
+ def _ensure_dirs(self):
+ try:
+ os.makedirs(self._path)
+ except OSError, exc:
+ if exc[0] != 17: # file exists
+ print "Could not create user directory."
+
+ 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
+
+ base_path = os.path.expanduser('~/.sugar')
+ self._path = os.path.join(base_path, profile_id)
+ self._ensure_dirs()
+
+ cp = ConfigParser()
+ parsed = cp.read([self._get_config_path()])
+
+ if cp.has_option('Buddy', 'NickName'):
+ self._nick_name = cp.get('Buddy', 'NickName')
+
+ def save(self):
+ cp = ConfigParser()
+
+ section = 'Buddy'
+ cp.add_section(section)
+ cp.set(section, 'NickName', self._nick_name)
+
+ fileobject = open(self._get_config_path(), 'w')
+ cp.write(fileobject)
+ fileobject.close()
+
+ def _get_config_path(self):
+ return os.path.join(self._path, 'config')