[PATCH 4/6] Make a home directory for the user by default (#950792).

Chris Lumens clumens at redhat.com
Thu Apr 11 19:00:47 UTC 2013


For non-kickstart installs, this requires there to be a username first, so
make the advanced button depend on that.  This may be confusing if you go
into the advanced dialog, uncheck the home dir button, save, and go back
into the dialog.
---
 pyanaconda/ui/gui/spokes/user.glade | 1 +
 pyanaconda/ui/gui/spokes/user.py    | 9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/pyanaconda/ui/gui/spokes/user.glade b/pyanaconda/ui/gui/spokes/user.glade
index 60b1a7b..ae4a190 100644
--- a/pyanaconda/ui/gui/spokes/user.glade
+++ b/pyanaconda/ui/gui/spokes/user.glade
@@ -306,6 +306,7 @@
                           <object class="GtkButton" id="b_advanced">
                             <property name="label" translatable="yes">_Advanced...</property>
                             <property name="visible">True</property>
+                            <property name="sensitive">False</property>
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
                             <property name="use_underline">True</property>
diff --git a/pyanaconda/ui/gui/spokes/user.py b/pyanaconda/ui/gui/spokes/user.py
index 3e22847..cd2384a 100644
--- a/pyanaconda/ui/gui/spokes/user.py
+++ b/pyanaconda/ui/gui/spokes/user.py
@@ -70,7 +70,9 @@ class AdvancedUserDialog(GUIObject):
         if self._user.homedir:
             t_home.set_text(self._user.homedir)
         elif self._user.name:
-            t_home.set_text("/home/%s" % self._user.name)
+            homedir = "/home/" + self._user.name
+            t_home.set_text(homedir)
+            self._user.homedir = homedir
 
         c_home = self.builder.get_object("c_home")
         c_home.set_active(bool(self._user.homedir))
@@ -167,6 +169,7 @@ class UserSpoke(FirstbootSpokeMixIn, NormalSpoke):
         self.confirm = self.builder.get_object("t_verifypassword")
         self.admin = self.builder.get_object("c_admin")
         self.usepassword = self.builder.get_object("c_usepassword")
+        self.b_advanced = self.builder.get_object("b_advanced")
 
         self.guesser = {
             self.username: True
@@ -211,6 +214,8 @@ class UserSpoke(FirstbootSpokeMixIn, NormalSpoke):
         else:
             self.fullname.grab_focus()
 
+        self.b_advanced.set_sensitive(bool(self._user.name))
+
     @property
     def status(self):
         if self._error:
@@ -290,8 +295,10 @@ class UserSpoke(FirstbootSpokeMixIn, NormalSpoke):
 
         if editable.get_text() == "":
             self.guesser[editable] = True
+            self.b_advanced.set_sensitive(False)
         else:
             self.guesser[editable] = False
+            self.b_advanced.set_sensitive(True)
 
     def _guessNames(self, editable = None, data = None):
         """Called by Gtk callback when the full name field changes.
-- 
1.8.1.2



More information about the anaconda-patches mailing list