5728 a11y friendly support for the users page
authorjedy@pampas
Fri, 12 Dec 2008 11:04:54 +0800
changeset 378 4ae8f35fdf91
parent 377 8d1d0dee501b
child 379 142e03bb2794
5728 a11y friendly support for the users page
usr/src/cmd/gui-install/src/callbacks.c
usr/src/cmd/gui-install/src/interface-globals.h
usr/src/cmd/gui-install/src/users-screen.c
usr/src/cmd/gui-install/src/users-screen.h
usr/src/cmd/gui-install/src/users.glade
--- a/usr/src/cmd/gui-install/src/callbacks.c	Wed Dec 10 17:47:16 2008 -0700
+++ b/usr/src/cmd/gui-install/src/callbacks.c	Fri Dec 12 11:04:54 2008 +0800
@@ -268,7 +268,7 @@
 			get_default_language();
 			break;
 		case USER_SCREEN :
-			if (MainWindow.UsersWindow.userswindowtable) {
+			if (MainWindow.UsersWindow.userstoplevel) {
 				if (!users_validate()) {
 					return;
 				}
@@ -371,10 +371,10 @@
 			break;
 
 		case USER_SCREEN :
-			if (!MainWindow.UsersWindow.userswindowtable) {
+			if (!MainWindow.UsersWindow.userstoplevel) {
 				users_load_widgets();
 				gtk_box_pack_start(GTK_BOX(MainWindow.screencontentvbox),
-						MainWindow.UsersWindow.userswindowtable,
+						MainWindow.UsersWindow.userstoplevel,
 						TRUE, TRUE, 0);
 			}
 
@@ -388,7 +388,7 @@
 				MainWindow.InactiveStageTitles[LANGUAGE_SCREEN]);
 #endif /* HIDE_LANGUAGE_SCREEN */
 
-			gtk_widget_show(MainWindow.UsersWindow.userswindowtable);
+			gtk_widget_show(MainWindow.UsersWindow.userstoplevel);
 
 			gtk_label_set_label(GTK_LABEL(MainWindow.screentitlelabel),
 				MainWindow.ScreenTitles[USER_SCREEN]);
@@ -411,7 +411,7 @@
 			gtk_widget_hide(MainWindow.nextbutton);
 			switch (InstallationProfile.installationtype) {
 				case INSTALLATION_TYPE_INITIAL_INSTALL:
-					gtk_widget_hide(MainWindow.UsersWindow.userswindowtable);
+					gtk_widget_hide(MainWindow.UsersWindow.userstoplevel);
 					gtk_widget_show(MainWindow.installbutton);
 					gtk_widget_set_sensitive(MainWindow.installbutton, TRUE);
 					gtk_label_set_label(GTK_LABEL(MainWindow.userlabel),
@@ -681,7 +681,7 @@
 			break;
 		case TIMEZONE_SCREEN :
 #ifdef HIDE_LANGUAGE_SCREEN
-			gtk_widget_hide(MainWindow.UsersWindow.userswindowtable);
+			gtk_widget_hide(MainWindow.UsersWindow.userstoplevel);
 			gtk_label_set_label(GTK_LABEL(MainWindow.userlabel),
 				MainWindow.InactiveStageTitles[USER_SCREEN]);
 #else
@@ -702,7 +702,7 @@
 			help_dialog_refresh(InstallCurrScreen);
 			break;
 		case LANGUAGE_SCREEN :
-			gtk_widget_hide(MainWindow.UsersWindow.userswindowtable);
+			gtk_widget_hide(MainWindow.UsersWindow.userstoplevel);
 			gtk_label_set_label(GTK_LABEL(MainWindow.userlabel),
 				MainWindow.InactiveStageTitles[USER_SCREEN]);
 			gtk_widget_show(MainWindow.languagewindowtable);
@@ -722,7 +722,7 @@
 					MainWindow.ConfirmationWindow.confirmationwindowtable);
 			gtk_label_set_label(GTK_LABEL(MainWindow.installationlabel),
 				MainWindow.InactiveStageTitles[INSTALLATION_SCREEN]);
-			gtk_widget_show(MainWindow.UsersWindow.userswindowtable);
+			gtk_widget_show(MainWindow.UsersWindow.userstoplevel);
 			gtk_widget_set_sensitive(MainWindow.backbutton, TRUE);
 			gtk_widget_set_sensitive(MainWindow.nextbutton, TRUE);
 			gtk_label_set_label(GTK_LABEL(MainWindow.screentitlelabel),
--- a/usr/src/cmd/gui-install/src/interface-globals.h	Wed Dec 10 17:47:16 2008 -0700
+++ b/usr/src/cmd/gui-install/src/interface-globals.h	Fri Dec 12 11:04:54 2008 +0800
@@ -84,7 +84,7 @@
 #define	DATETIMEZONENODE "datetimezonetoplevel"
 #define	TIMEZONENODE "timezonetoplevel"
 #define	LANGUAGENODE "languagewindowtable"
-#define	USERSNODE "userswindowtable"
+#define	USERSNODE "userstoplevel"
 #define	CONFIRMATIONNODE "confirmationwindowtable"
 #define	INSTALLATIONNODE "installationwindowtable"
 #define	FINISHNODE "finishbox"
--- a/usr/src/cmd/gui-install/src/users-screen.c	Wed Dec 10 17:47:16 2008 -0700
+++ b/usr/src/cmd/gui-install/src/users-screen.c	Fri Dec 12 11:04:54 2008 +0800
@@ -120,24 +120,24 @@
 
 	glade_xml_signal_autoconnect(MainWindow.userswindowxml);
 
-	MainWindow.UsersWindow.userswindowtable = NULL;
+	MainWindow.UsersWindow.userstoplevel = NULL;
 	MainWindow.UsersWindow.rootpassword1entry = NULL;
 	MainWindow.UsersWindow.rootpassword2entry = NULL;
-	MainWindow.UsersWindow.rootpasswordinfotable = NULL;
+	MainWindow.UsersWindow.rootpasswordinfo= NULL;
 	MainWindow.UsersWindow.rootpasswordinfoimage = NULL;
 	MainWindow.UsersWindow.rootpasswordinfolabel = NULL;
 	MainWindow.UsersWindow.usernameentry = NULL;
 	MainWindow.UsersWindow.loginnameentry = NULL;
-	MainWindow.UsersWindow.loginnameinfotable = NULL;
+	MainWindow.UsersWindow.loginnameinfo= NULL;
 	MainWindow.UsersWindow.loginnameinfoimage = NULL;
 	MainWindow.UsersWindow.loginnameinfolabel = NULL;
 	MainWindow.UsersWindow.userpassword1entry = NULL;
 	MainWindow.UsersWindow.userpassword2entry = NULL;
-	MainWindow.UsersWindow.userpasswordinfotable = NULL;
+	MainWindow.UsersWindow.userpasswordinfo= NULL;
 	MainWindow.UsersWindow.userpasswordinfoimage = NULL;
 	MainWindow.UsersWindow.userpasswordinfolabel = NULL;
 	MainWindow.UsersWindow.hostnameentry = NULL;
-	MainWindow.UsersWindow.hostnameinfotable = NULL;
+	MainWindow.UsersWindow.hostnameinfo = NULL;
 	MainWindow.UsersWindow.hostnameinfoimage = NULL;
 	MainWindow.UsersWindow.hostnameinfolabel = NULL;
 
@@ -197,18 +197,18 @@
 	GtkWidget *loginnamelabel;
 	GtkWidget *hostnamelabel;
 
-	MainWindow.UsersWindow.userswindowtable = glade_xml_get_widget(
+	MainWindow.UsersWindow.userstoplevel = glade_xml_get_widget(
 													MainWindow.userswindowxml,
-													"userswindowtable");
+													"userstoplevel");
 	MainWindow.UsersWindow.rootpassword1entry = glade_xml_get_widget(
 													MainWindow.userswindowxml,
 													"rootpassword1entry");
 	MainWindow.UsersWindow.rootpassword2entry = glade_xml_get_widget(
 													MainWindow.userswindowxml,
 													"rootpassword2entry");
-	MainWindow.UsersWindow.rootpasswordinfotable = glade_xml_get_widget(
+	MainWindow.UsersWindow.rootpasswordinfo= glade_xml_get_widget(
 													MainWindow.userswindowxml,
-													"rootpasswordinfotable");
+													"rootpasswordinfohbox");
 	MainWindow.UsersWindow.rootpasswordinfoimage = glade_xml_get_widget(
 													MainWindow.userswindowxml,
 													"rootpasswordinfoimage");
@@ -221,9 +221,9 @@
 	MainWindow.UsersWindow.loginnameentry = glade_xml_get_widget(
 													MainWindow.userswindowxml,
 													"loginnameentry");
-	MainWindow.UsersWindow.loginnameinfotable = glade_xml_get_widget(
+	MainWindow.UsersWindow.loginnameinfo= glade_xml_get_widget(
 													MainWindow.userswindowxml,
-													"loginnameinfotable");
+													"loginnameinfohbox");
 	MainWindow.UsersWindow.loginnameinfoimage = glade_xml_get_widget(
 													MainWindow.userswindowxml,
 													"loginnameinfoimage");
@@ -236,9 +236,9 @@
 	MainWindow.UsersWindow.userpassword2entry = glade_xml_get_widget(
 													MainWindow.userswindowxml,
 													"userpassword2entry");
-	MainWindow.UsersWindow.userpasswordinfotable = glade_xml_get_widget(
+	MainWindow.UsersWindow.userpasswordinfo = glade_xml_get_widget(
 													MainWindow.userswindowxml,
-													"userpasswordinfotable");
+													"userpasswordinfohbox");
 	MainWindow.UsersWindow.userpasswordinfoimage = glade_xml_get_widget(
 													MainWindow.userswindowxml,
 													"userpasswordinfoimage");
@@ -248,9 +248,9 @@
 	MainWindow.UsersWindow.hostnameentry = glade_xml_get_widget(
 													MainWindow.userswindowxml,
 													"hostnameentry");
-	MainWindow.UsersWindow.hostnameinfotable = glade_xml_get_widget(
+	MainWindow.UsersWindow.hostnameinfo = glade_xml_get_widget(
 													MainWindow.userswindowxml,
-													"hostnameinfotable");
+													"hostnameinfohbox");
 	MainWindow.UsersWindow.hostnameinfoimage = glade_xml_get_widget(
 													MainWindow.userswindowxml,
 													"hostnameinfoimage");
--- a/usr/src/cmd/gui-install/src/users-screen.h	Wed Dec 10 17:47:16 2008 -0700
+++ b/usr/src/cmd/gui-install/src/users-screen.h	Fri Dec 12 11:04:54 2008 +0800
@@ -38,24 +38,24 @@
 #include <glade/glade.h>
 
 typedef struct _UsersWindowXML {
-	GtkWidget *userswindowtable;
+	GtkWidget *userstoplevel;
 	GtkWidget *rootpassword1entry;
 	GtkWidget *rootpassword2entry;
-	GtkWidget *rootpasswordinfotable;
+	GtkWidget *rootpasswordinfo;
 	GtkWidget *rootpasswordinfoimage;
 	GtkWidget *rootpasswordinfolabel;
 	GtkWidget *usernameentry;
 	GtkWidget *loginnameentry;
-	GtkWidget *loginnameinfotable;
+	GtkWidget *loginnameinfo;
 	GtkWidget *loginnameinfoimage;
 	GtkWidget *loginnameinfolabel;
 	GtkWidget *userpassword1entry;
 	GtkWidget *userpassword2entry;
-	GtkWidget *userpasswordinfotable;
+	GtkWidget *userpasswordinfo;
 	GtkWidget *userpasswordinfoimage;
 	GtkWidget *userpasswordinfolabel;
 	GtkWidget *hostnameentry;
-	GtkWidget *hostnameinfotable;
+	GtkWidget *hostnameinfo;
 	GtkWidget *hostnameinfoimage;
 	GtkWidget *hostnameinfolabel;
 
--- a/usr/src/cmd/gui-install/src/users.glade	Wed Dec 10 17:47:16 2008 -0700
+++ b/usr/src/cmd/gui-install/src/users.glade	Fri Dec 12 11:04:54 2008 +0800
@@ -32,532 +32,525 @@
     <property name="gravity">GDK_GRAVITY_CENTER</property>
     <signal name="delete_event" handler="gtk_main_quit"/>
     <child>
-      <widget class="GtkTable" id="userswindowtable">
+      <widget class="GtkVBox" id="userstoplevel">
         <property name="visible">True</property>
-        <property name="border_width">12</property>
-        <property name="n_rows">3</property>
-        <property name="n_columns">1</property>
-        <property name="row_spacing">20</property>
+        <property name="border_width">8</property>
+        <property name="spacing">20</property>
         <child>
-          <widget class="GtkTable" id="roottable">
+          <widget class="GtkFrame" id="rootframe">
             <property name="visible">True</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">3</property>
-            <property name="column_spacing">6</property>
-            <property name="row_spacing">6</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">GTK_SHADOW_NONE</property>
             <child>
-              <placeholder/>
+              <widget class="GtkAlignment" id="rootalign">
+                <property name="visible">True</property>
+                <property name="top_padding">10</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkTable" id="roottable">
+                    <property name="visible">True</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">3</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">10</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="rootpassword2entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="visibility">False</property>
+                        <property name="activates_default">True</property>
+                        <property name="width_chars">14</property>
+                        <signal name="changed" handler="on_users_entry_changed"/>
+                        <signal name="focus_out_event" handler="on_rootpassword_focus_out_event"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="rootpassword1entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="visibility">False</property>
+                        <property name="activates_default">True</property>
+                        <property name="width_chars">14</property>
+                        <signal name="changed" handler="on_users_entry_changed"/>
+                        <signal name="focus_out_event" handler="on_rootpassword_focus_out_event"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="rootpassword2label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">10</property>
+                        <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;Con_firm password:&lt;/span&gt;</property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">rootpassword2entry</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="rootpassword1label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">0</property>
+                        <property name="xpad">10</property>
+                        <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_Root password:&lt;/span&gt;</property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">rootpassword1entry</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="rootpasswordinfohbox">
+                        <property name="visible">True</property>
+                        <property name="spacing">5</property>
+                        <child>
+                          <widget class="GtkImage" id="rootpasswordinfoimage">
+                            <property name="xalign">0</property>
+                            <property name="stock">gtk-no</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="rootpasswordinfolabel">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Re-enter to check for typing errors.</property>
+                            <property name="use_markup">True</property>
+                            <property name="wrap">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
             </child>
             <child>
-              <widget class="GtkLabel" id="rootheaderlabel">
+              <widget class="GtkLabel" id="rootlabel">
                 <property name="visible">True</property>
                 <property name="xalign">0</property>
-                <property name="ypad">10</property>
+                <property name="ypad">5</property>
                 <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;Enter a root password for this system.&lt;/span&gt;</property>
                 <property name="use_markup">True</property>
               </widget>
               <packing>
-                <property name="right_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="rootpassword1label">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="yalign">0</property>
-                <property name="xpad">10</property>
-                <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_Root password:&lt;/span&gt;</property>
-                <property name="use_markup">True</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">rootpassword1entry</property>
-              </widget>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkEntry" id="rootpassword1entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="visibility">False</property>
-                <property name="activates_default">True</property>
-                <property name="width_chars">14</property>
-                <signal name="changed" handler="on_users_entry_changed"/>
-                <signal name="focus_out_event" handler="on_rootpassword_focus_out_event"/>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="rootpassword2label">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="xpad">10</property>
-                <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;Con_firm password:&lt;/span&gt;</property>
-                <property name="use_markup">True</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">rootpassword2entry</property>
-              </widget>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkEntry" id="rootpassword2entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="visibility">False</property>
-                <property name="activates_default">True</property>
-                <property name="width_chars">14</property>
-                <signal name="changed" handler="on_users_entry_changed"/>
-                <signal name="focus_out_event" handler="on_rootpassword_focus_out_event"/>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkTable" id="rootpasswordinfotable">
-                <property name="visible">True</property>
-                <property name="n_rows">1</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">5</property>
-                <child>
-                  <widget class="GtkImage" id="rootpasswordinfoimage">
-                    <property name="xalign">0</property>
-                    <property name="stock">gtk-no</property>
-                    <property name="icon_size">1</property>
-                  </widget>
-                  <packing>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="rootpasswordinfolabel">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Re-enter to check for typing errors.</property>
-                    <property name="use_markup">True</property>
-                    <property name="wrap">True</property>
-                  </widget>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-              </widget>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="type">label_item</property>
               </packing>
             </child>
           </widget>
           <packing>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
           </packing>
         </child>
         <child>
-          <widget class="GtkTable" id="usertable">
+          <widget class="GtkFrame" id="userframe">
             <property name="visible">True</property>
-            <property name="n_rows">5</property>
-            <property name="n_columns">3</property>
-            <property name="column_spacing">6</property>
-            <property name="row_spacing">6</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">GTK_SHADOW_NONE</property>
             <child>
-              <placeholder/>
+              <widget class="GtkAlignment" id="useralign">
+                <property name="visible">True</property>
+                <property name="top_padding">10</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkTable" id="usertable">
+                    <property name="visible">True</property>
+                    <property name="n_rows">4</property>
+                    <property name="n_columns">3</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">10</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="userpassword2entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="visibility">False</property>
+                        <property name="activates_default">True</property>
+                        <property name="width_chars">14</property>
+                        <signal name="changed" handler="on_users_entry_changed"/>
+                        <signal name="focus_out_event" handler="on_userpassword_focus_out_event"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">3</property>
+                        <property name="bottom_attach">4</property>
+                        <property name="x_options"></property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="userpassword1entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="visibility">False</property>
+                        <property name="activates_default">True</property>
+                        <property name="width_chars">14</property>
+                        <signal name="changed" handler="on_users_entry_changed"/>
+                        <signal name="focus_out_event" handler="on_userpassword_focus_out_event"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="loginnameentry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="activates_default">True</property>
+                        <property name="width_chars">14</property>
+                        <signal name="changed" handler="on_users_entry_changed"/>
+                        <signal name="focus_out_event" handler="on_loginname_focus_out_event"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="userpassword2label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">10</property>
+                        <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;Conf_irm password:&lt;/span&gt;</property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">userpassword2entry</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">3</property>
+                        <property name="bottom_attach">4</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="userpassword1label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">10</property>
+                        <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_User password:&lt;/span&gt;</property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">userpassword1entry</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="loginnamelabel">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">10</property>
+                        <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_Log-in name:&lt;/span&gt;</property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">loginnameentry</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="usernameentry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="activates_default">True</property>
+                        <property name="width_chars">14</property>
+                        <signal name="changed" handler="on_users_entry_changed"/>
+                        <signal name="focus_out_event" handler="on_username_focus_out_event"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="usernamelabel">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">10</property>
+                        <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_Your name:&lt;/span&gt;</property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">usernameentry</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="loginnameinforhbox">
+                        <property name="visible">True</property>
+                        <property name="spacing">5</property>
+                        <child>
+                          <widget class="GtkImage" id="loginnameinfoimage">
+                            <property name="xalign">0</property>
+                            <property name="stock">gtk-no</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="loginnameinfolabel">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Required when creating a user account.</property>
+                            <property name="use_markup">True</property>
+                            <property name="wrap">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="userpasswordinfohbox">
+                        <property name="visible">True</property>
+                        <property name="spacing">5</property>
+                        <child>
+                          <widget class="GtkImage" id="userpasswordinfoimage">
+                            <property name="xalign">0</property>
+                            <property name="stock">gtk-no</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="userpasswordinfolabel">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Re-enter to check for typing errors.</property>
+                            <property name="use_markup">True</property>
+                            <property name="wrap">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">3</property>
+                        <property name="bottom_attach">4</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
             </child>
             <child>
-              <placeholder/>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="useraccountheaderlabel">
+              <widget class="GtkLabel" id="userlabel">
                 <property name="visible">True</property>
                 <property name="xalign">0</property>
-                <property name="ypad">10</property>
+                <property name="ypad">5</property>
                 <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;Create a user account for yourself.&lt;/span&gt;</property>
                 <property name="use_markup">True</property>
               </widget>
               <packing>
-                <property name="right_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="usernamelabel">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="xpad">10</property>
-                <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_Your name:&lt;/span&gt;</property>
-                <property name="use_markup">True</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">usernameentry</property>
-              </widget>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkEntry" id="usernameentry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="activates_default">True</property>
-                <property name="width_chars">14</property>
-                <signal name="changed" handler="on_users_entry_changed"/>
-                <signal name="focus_out_event" handler="on_username_focus_out_event"/>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="loginnamelabel">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="xpad">10</property>
-                <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_Log-in name:&lt;/span&gt;</property>
-                <property name="use_markup">True</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">loginnameentry</property>
-              </widget>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkEntry" id="loginnameentry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="activates_default">True</property>
-                <property name="width_chars">14</property>
-                <signal name="changed" handler="on_users_entry_changed"/>
-                <signal name="focus_out_event" handler="on_loginname_focus_out_event"/>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkTable" id="loginnameinfotable">
-                <property name="visible">True</property>
-                <property name="n_rows">1</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">5</property>
-                <child>
-                  <widget class="GtkImage" id="loginnameinfoimage">
-                    <property name="xalign">0</property>
-                    <property name="stock">gtk-no</property>
-                    <property name="icon_size">1</property>
-                  </widget>
-                  <packing>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="loginnameinfolabel">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Required when creating a user account.</property>
-                    <property name="use_markup">True</property>
-                    <property name="wrap">True</property>
-                  </widget>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-              </widget>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="userpassword1label">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="xpad">10</property>
-                <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_User password:&lt;/span&gt;</property>
-                <property name="use_markup">True</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">userpassword1entry</property>
-              </widget>
-              <packing>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkEntry" id="userpassword1entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="visibility">False</property>
-                <property name="activates_default">True</property>
-                <property name="width_chars">14</property>
-                <signal name="changed" handler="on_users_entry_changed"/>
-                <signal name="focus_out_event" handler="on_userpassword_focus_out_event"/>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="userpassword2label">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="xpad">10</property>
-                <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;Conf_irm password:&lt;/span&gt;</property>
-                <property name="use_markup">True</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">userpassword2entry</property>
-              </widget>
-              <packing>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkEntry" id="userpassword2entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="visibility">False</property>
-                <property name="activates_default">True</property>
-                <property name="width_chars">14</property>
-                <signal name="changed" handler="on_users_entry_changed"/>
-                <signal name="focus_out_event" handler="on_userpassword_focus_out_event"/>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkTable" id="userpasswordinfotable">
-                <property name="visible">True</property>
-                <property name="n_rows">1</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">5</property>
-                <child>
-                  <widget class="GtkImage" id="userpasswordinfoimage">
-                    <property name="xalign">0</property>
-                    <property name="stock">gtk-no</property>
-                    <property name="icon_size">1</property>
-                  </widget>
-                  <packing>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="userpasswordinfolabel">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Re-enter to check for typing errors.</property>
-                    <property name="use_markup">True</property>
-                    <property name="wrap">True</property>
-                  </widget>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-              </widget>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="type">label_item</property>
               </packing>
             </child>
           </widget>
           <packing>
-            <property name="top_attach">1</property>
-            <property name="bottom_attach">2</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
           </packing>
         </child>
         <child>
-          <widget class="GtkTable" id="hosttable">
+          <widget class="GtkFrame" id="hostframe">
             <property name="visible">True</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">3</property>
-            <property name="column_spacing">6</property>
-            <property name="row_spacing">6</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">GTK_SHADOW_NONE</property>
             <child>
-              <placeholder/>
+              <widget class="GtkAlignment" id="hostalign">
+                <property name="visible">True</property>
+                <property name="top_padding">10</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkTable" id="hosttable">
+                    <property name="visible">True</property>
+                    <property name="n_columns">3</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">10</property>
+                    <child>
+                      <widget class="GtkEntry" id="hostnameentry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="activates_default">True</property>
+                        <property name="width_chars">14</property>
+                        <property name="text" translatable="yes">opensolaris</property>
+                        <signal name="changed" handler="on_users_entry_changed"/>
+                        <signal name="focus_out_event" handler="on_hostname_focus_out_event"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="hostnamelabel">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="xpad">10</property>
+                        <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_Computer name:&lt;/span&gt;</property>
+                        <property name="use_markup">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">hostnameentry</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hostnameinfohbox">
+                        <property name="visible">True</property>
+                        <property name="spacing">5</property>
+                        <child>
+                          <widget class="GtkImage" id="hostnameinfoimage">
+                            <property name="xalign">0</property>
+                            <property name="stock">gtk-no</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="hostnameinfolabel">
+                            <property name="visible">True</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
             </child>
             <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="hostheaderlabel">
+              <widget class="GtkLabel" id="hostlabel">
                 <property name="visible">True</property>
                 <property name="xalign">0</property>
-                <property name="ypad">10</property>
+                <property name="ypad">5</property>
                 <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;Enter a computer name for this system.&lt;/span&gt;</property>
                 <property name="use_markup">True</property>
               </widget>
               <packing>
-                <property name="right_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="hostnamelabel">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="yalign">0</property>
-                <property name="xpad">10</property>
-                <property name="label" translatable="yes">&lt;span font_desc="Arial Bold"&gt;_Computer name:&lt;/span&gt;</property>
-                <property name="use_markup">True</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">hostnameentry</property>
-              </widget>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options"></property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkEntry" id="hostnameentry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="activates_default">True</property>
-                <property name="width_chars">14</property>
-                <property name="text" translatable="yes">opensolaris</property>
-                <signal name="changed" handler="on_users_entry_changed"/>
-                <signal name="focus_out_event" handler="on_hostname_focus_out_event"/>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkTable" id="hostnameinfotable">
-                <property name="visible">True</property>
-                <property name="n_rows">1</property>
-                <property name="n_columns">2</property>
-                <property name="column_spacing">5</property>
-                <child>
-                  <widget class="GtkImage" id="hostnameinfoimage">
-                    <property name="xalign">0</property>
-                    <property name="stock">gtk-no</property>
-                    <property name="icon_size">1</property>
-                  </widget>
-                  <packing>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="hostnameinfolabel">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="use_markup">True</property>
-                    <property name="wrap">True</property>
-                  </widget>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="x_options"></property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-              </widget>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="right_attach">3</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="type">label_item</property>
               </packing>
             </child>
           </widget>
           <packing>
-            <property name="top_attach">2</property>
-            <property name="bottom_attach">3</property>
-            <property name="x_options">GTK_FILL</property>
-            <property name="y_options"></property>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
           </packing>
         </child>
       </widget>