Patches

Ludwig Nussel ludwig.nussel at gmx.de
Sun Aug 29 07:53:31 EDT 2004


Hi,

patches are piling up here:

  - loki_setup-closeproduct2.diff: another try to get rid of the
    segfault
  - loki_setup-ppc64.diff: make it build on ppc64. I didn't check
    whether it actually runs though
  - loki_setup-freesymlink.diff: fix minor memory leak
  - loki_setup-gladefile.diff: load readme and license dialogs from
    specified rather than hardcoded file (needed if loki-setup is
    installed in the system)
  - loki_setup-imagepos.diff: support for the splashpos attribute in
    the gtk ui. glade has changed the xml file quite a bit but it's
    really just a new vbox with the image frame and a dummy label.
  - loki_setup-localedir.diff: use $SETUP_LOCALEDIR if set (for
    system installs)
  - loki_setup-promptoverwrite.diff: prompt user if the installer
    tries to overwrite existing files (devoted to floam ;-)). The
    prompt can be switched off by setting 'nopromptoverwrite=yes' in
    setup.xml. To globally switch it on or off one can set
    $SETUP_NOPROMPTOVERWRITE
  - loki_setup-lessuiupdates.diff: quick hack to reduce the load
    caused by excessive ui updates.

cu
Ludwig

PS: the German translation in CVS isn't exactly professional, some
strings look more like a babelfish translation. Especially error
messages are translated in a way to make them rather useless and
confusing. For example it doesn't make sense to translate 'fork'
(the system call) or names of xml tags.

-- 
(o_  Ludwig.Nussel at gmx.de
//\  PGP Key ID: FF8135CE
V_/_ ICQ:        52166811
-------------- next part --------------
Index: loki_setup/install.c
===================================================================
--- loki_setup.orig/install.c	2004-05-31 10:15:23.777944071 +0200
+++ loki_setup/install.c	2004-05-31 13:28:28.733509287 +0200
@@ -2042,6 +2042,9 @@
         loki_upgrade_uninstall(product, buf, "setup.data/locale");
 		/* We must call the following in all cases - component installs even, as we have to save the changes */
 		loki_closeproduct(product);
+		/* product might have pointed to info->product. Reopen it so
+		 * install_postinstall/run_script/get_optiontags_string can work */
+		info->product = loki_openproduct(info->name);
     } else {
 		log_fatal(_("Could not create install log"),
 				  detect_home(), info->name);
-------------- next part --------------
Index: loki_setup/configure.in
===================================================================
--- loki_setup.orig/configure.in	2004-08-28 22:32:54.000000000 +0200
+++ loki_setup/configure.in	2004-08-28 22:32:54.000000000 +0200
@@ -174,6 +174,8 @@
 	LDFLAGS="$LDFLAGS -framework Carbon -framework Security -framework IOKit"
 	COMMON_LIBS="carbon/carbonres.o carbon/carbondebug.o carbon/STUPControl.o carbon/YASTControl.o"
 	ARCH=ppc ;;
+    *ppc64* | *powerpc64*)
+        ARCH=ppc64 ;;
     *ppc* | *powerpc*)
         ARCH=ppc ;;
     *i?86*)
Index: loki_setup/loki_setupdb/arch.c
===================================================================
--- loki_setup.orig/loki_setupdb/arch.c	2004-05-22 14:16:38.000000000 +0200
+++ loki_setup/loki_setupdb/arch.c	2004-08-28 22:32:54.000000000 +0200
@@ -23,6 +23,8 @@
         arch = "x86";
 #elif defined(__x86_64__)
         arch = "amd64";
+#elif defined(powerpc64) || defined(__powerpc64__)
+        arch = "ppc64";
 #elif defined(powerpc) || defined(_POWER) || defined(__ppc__) || defined(__POWERPC__)
         arch = "ppc";
 #elif defined(__alpha__)
Index: loki_setup/loki_setupdb/configure.in
===================================================================
--- loki_setup.orig/loki_setupdb/configure.in	2004-08-27 23:48:21.000000000 +0200
+++ loki_setup/loki_setupdb/configure.in	2004-08-29 01:19:34.667842681 +0200
@@ -97,6 +97,8 @@
                 ARCH=ppc
         fi
 	;;
+*ppc64* | *powerpc64*)
+	ARCH=ppc64 ;;
 *ppc* | *powerpc*)
         ARCH=ppc ;;
 *i?86*)
-------------- next part --------------
Index: loki_setup/install.c
===================================================================
--- loki_setup.orig/install.c	2004-05-31 10:24:36.705995744 +0200
+++ loki_setup/install.c	2004-05-31 10:40:33.076994405 +0200
@@ -1415,6 +1415,7 @@
  
                 elem = opt->file_list;
                 opt->file_list = elem->next;
+                free(elem->symlink);
                 free(elem->path);
                 free(elem);
             }
-------------- next part --------------
Index: loki_setup/gtk_ui.c
===================================================================
--- loki_setup.orig/gtk_ui.c	2004-05-31 11:30:14.042203874 +0200
+++ loki_setup/gtk_ui.c	2004-05-31 11:30:24.176037914 +0200
@@ -151,6 +151,8 @@
 static gboolean in_setup = TRUE;
 static GSList *radio_list = NULL; /* Group for the radio buttons */
 
+static const char* glade_file = SETUP_GLADE;
+
 /******** Local prototypes **********/
 
 static const char *check_for_installation(install_info *info);
@@ -367,7 +369,7 @@
     GtkWidget *widget;
     const char *file;
     
-    setup_glade_readme = glade_xml_new(SETUP_GLADE, "readme_dialog");
+    setup_glade_readme = glade_xml_new(glade_file, "readme_dialog");
     glade_xml_signal_autoconnect(setup_glade_readme);
     readme = glade_xml_get_widget(setup_glade_readme, "readme_dialog");
     widget = glade_xml_get_widget(setup_glade_readme, "readme_area");
@@ -733,7 +735,7 @@
 					GtkWidget *license_widget;
 					
 					if (!setup_glade_license)
-						setup_glade_license = glade_xml_new(SETUP_GLADE, "license_dialog");
+						setup_glade_license = glade_xml_new(glade_file, "license_dialog");
 					glade_xml_signal_autoconnect(setup_glade_license);
 					license = glade_xml_get_widget(setup_glade_license, "license_dialog");
 					license_widget = glade_xml_get_widget(setup_glade_license, "license_area");
@@ -1412,7 +1414,6 @@
     GtkWidget *button;
     GtkWidget *install_path, *install_entry, *binary_path, *binary_entry;
     char title[1024];
-	const char* glade_file = SETUP_GLADE;
 
     cur_state = SETUP_INIT;
     cur_info = info;
@@ -1621,7 +1622,7 @@
     GtkWidget *license;
     GtkWidget *widget;
 
-    setup_glade_license = glade_xml_new(SETUP_GLADE, "license_dialog");
+    setup_glade_license = glade_xml_new(glade_file, "license_dialog");
     glade_xml_signal_autoconnect(setup_glade_license);
     license = glade_xml_get_widget(setup_glade_license, "license_dialog");
     widget = glade_xml_get_widget(setup_glade_license, "license_area");
-------------- next part --------------
Index: loki_setup/README.xml
===================================================================
--- loki_setup.orig/README.xml	2004-08-27 23:34:42.000000000 +0200
+++ loki_setup/README.xml	2004-08-28 16:33:47.259420618 +0200
@@ -92,9 +92,10 @@
             the left of the installer in X11). The image must be in XPM format,
             and the default name for this attribute is "splash.xpm".
  
- splashpos  (CARBON ONLY) This option sets the position that the splash image
-            will appear on the setup screen.  If unspecified, the default is
-            "left".  The only valid options currently are "left" and "top".
+ splashpos  This option sets the position that the splash image will
+            appear on the setup screen.  If unspecified, the default
+            is "left". The only valid options currently are "left"
+            and "top".
 
  url        This is a web site which is launched after the install is
             completed.
@@ -950,3 +951,4 @@
 </install>
 
 -------------------------------------------------------------------------
+
Index: loki_setup/gtk_ui.c
===================================================================
--- loki_setup.orig/gtk_ui.c	2004-08-28 16:26:13.533336549 +0200
+++ loki_setup/gtk_ui.c	2004-08-28 16:45:06.661392108 +0200
@@ -1385,18 +1385,25 @@
     }
 }
 
-static void update_image(const char *image_file)
+static void update_image(const char *image_file, gboolean left)
 {
     GtkWidget* window;
     GtkWidget* frame;
     GdkPixmap* pixmap;
 	GdkBitmap* mask;
     GtkWidget* image;
-	char image_path[1024] = SETUP_BASE;
+	char image_path[PATH_MAX] = SETUP_BASE;
 
-	strncat(image_path, image_file, sizeof(image_path));
+	strncat(image_path, image_file, sizeof(image_path)-strlen(image_path));
+	image_path[sizeof(image_path)-1] = '\0';
+
+	if(left)
+		frame = glade_xml_get_widget(setup_glade, "image_frame");
+	else
+		frame = glade_xml_get_widget(setup_glade, "image_frame_top");
+
+	g_return_if_fail(frame != NULL);
 
-    frame = glade_xml_get_widget(setup_glade, "image_frame");
     gtk_container_remove(GTK_CONTAINER(frame), GTK_BIN(frame)->child);
     window = gtk_widget_get_toplevel(frame);
     pixmap = gdk_pixmap_create_from_xpm(window->window, &mask, NULL, image_path);
@@ -1404,6 +1411,7 @@
         image = gtk_pixmap_new(pixmap, mask);
         gtk_widget_show(image);
         gtk_container_add(GTK_CONTAINER(frame), image);
+        gtk_widget_show(frame);
     } else {
         gtk_widget_hide(frame);
     }
@@ -1615,7 +1623,7 @@
     gtk_widget_realize(window);
 
     /* Update the install image */
-    update_image(GetProductSplash(info));
+    update_image(GetProductSplash(info), GetProductSplashPosition(info));
 
     /* Center the installer, it will be shown later */
     gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
Index: loki_setup/image/setup.data/setup.glade
===================================================================
--- loki_setup.orig/image/setup.data/setup.glade	2004-03-02 20:17:29.000000000 +0100
+++ loki_setup/image/setup.data/setup.glade	2004-08-28 16:42:27.247834615 +0200
@@ -33,15 +33,16 @@
   <auto_shrink>False</auto_shrink>
 
   <widget>
-    <class>GtkHBox</class>
-    <name>hbox1</name>
+    <class>GtkVBox</class>
+    <name>vbox21</name>
     <homogeneous>False</homogeneous>
     <spacing>0</spacing>
 
     <widget>
       <class>GtkFrame</class>
-      <name>image_frame</name>
+      <name>image_frame_top</name>
       <border_width>5</border_width>
+      <visible>False</visible>
       <label_xalign>0</label_xalign>
       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
       <child>
@@ -52,7 +53,8 @@
 
       <widget>
 	<class>GtkLabel</class>
-	<name>label30</name>
+	<name>label88</name>
+	<visible>False</visible>
 	<label>[image area]</label>
 	<justify>GTK_JUSTIFY_CENTER</justify>
 	<wrap>False</wrap>
@@ -64,16 +66,10 @@
     </widget>
 
     <widget>
-      <class>GtkNotebook</class>
-      <name>setup_notebook</name>
-      <border_width>5</border_width>
-      <show_tabs>False</show_tabs>
-      <show_border>True</show_border>
-      <tab_pos>GTK_POS_TOP</tab_pos>
-      <scrollable>False</scrollable>
-      <tab_hborder>2</tab_hborder>
-      <tab_vborder>2</tab_vborder>
-      <popup_enable>False</popup_enable>
+      <class>GtkHBox</class>
+      <name>hbox1</name>
+      <homogeneous>False</homogeneous>
+      <spacing>0</spacing>
       <child>
 	<padding>0</padding>
 	<expand>True</expand>
@@ -81,91 +77,65 @@
       </child>
 
       <widget>
-	<class>GtkVBox</class>
-	<name>class_continue</name>
-	<homogeneous>True</homogeneous>
-	<spacing>0</spacing>
+	<class>GtkFrame</class>
+	<name>image_frame</name>
+	<border_width>5</border_width>
+	<visible>False</visible>
+	<label_xalign>0</label_xalign>
+	<shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	<child>
+	  <padding>0</padding>
+	  <expand>True</expand>
+	  <fill>True</fill>
+	</child>
 
 	<widget>
 	  <class>GtkLabel</class>
-	  <name>label69</name>
-	  <label>Please choose the class of installation.</label>
+	  <name>label30</name>
+	  <visible>False</visible>
+	  <label>[image area]</label>
 	  <justify>GTK_JUSTIFY_CENTER</justify>
 	  <wrap>False</wrap>
 	  <xalign>0.5</xalign>
 	  <yalign>0.5</yalign>
 	  <xpad>0</xpad>
 	  <ypad>0</ypad>
-	  <child>
-	    <padding>0</padding>
-	    <expand>False</expand>
-	    <fill>False</fill>
-	  </child>
-	</widget>
-
-	<widget>
-	  <class>GtkRadioButton</class>
-	  <name>recommended_but</name>
-	  <border_width>9</border_width>
-	  <tooltip>This will install the product with the default options and paths</tooltip>
-	  <can_focus>True</can_focus>
-	  <label>Recommended</label>
-	  <active>True</active>
-	  <draw_indicator>True</draw_indicator>
-	  <group>install_class</group>
-	  <child>
-	    <padding>0</padding>
-	    <expand>False</expand>
-	    <fill>False</fill>
-	  </child>
 	</widget>
+      </widget>
 
-	<widget>
-	  <class>GtkRadioButton</class>
-	  <name>expert_but</name>
-	  <border_width>10</border_width>
-	  <tooltip>This will allow you to pick the installation paths and options to be installed </tooltip>
-	  <can_focus>True</can_focus>
-	  <label>Expert</label>
-	  <active>False</active>
-	  <draw_indicator>True</draw_indicator>
-	  <group>install_class</group>
-	  <child>
-	    <padding>0</padding>
-	    <expand>False</expand>
-	    <fill>False</fill>
-	  </child>
-	</widget>
+      <widget>
+	<class>GtkNotebook</class>
+	<name>setup_notebook</name>
+	<border_width>5</border_width>
+	<show_tabs>False</show_tabs>
+	<show_border>True</show_border>
+	<tab_pos>GTK_POS_TOP</tab_pos>
+	<scrollable>False</scrollable>
+	<tab_hborder>2</tab_hborder>
+	<tab_vborder>2</tab_vborder>
+	<popup_enable>False</popup_enable>
+	<child>
+	  <padding>0</padding>
+	  <expand>True</expand>
+	  <fill>True</fill>
+	</child>
 
 	<widget>
-	  <class>GtkHBox</class>
-	  <name>hbox4</name>
+	  <class>GtkVBox</class>
+	  <name>class_continue</name>
 	  <homogeneous>True</homogeneous>
 	  <spacing>0</spacing>
-	  <child>
-	    <padding>0</padding>
-	    <expand>True</expand>
-	    <fill>False</fill>
-	    <pack>GTK_PACK_END</pack>
-	  </child>
 
 	  <widget>
-	    <class>GtkButton</class>
-	    <name>class_cancel</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Escape</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_exit_slot</handler>
-	      <last_modification_time>Thu, 13 Sep 2001 23:46:19 GMT</last_modification_time>
-	    </signal>
-	    <label>Cancel</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	    <class>GtkLabel</class>
+	    <name>label69</name>
+	    <label>Please choose the class of installation.</label>
+	    <justify>GTK_JUSTIFY_CENTER</justify>
+	    <wrap>False</wrap>
+	    <xalign>0.5</xalign>
+	    <yalign>0.5</yalign>
+	    <xpad>0</xpad>
+	    <ypad>0</ypad>
 	    <child>
 	      <padding>0</padding>
 	      <expand>False</expand>
@@ -174,22 +144,15 @@
 	  </widget>
 
 	  <widget>
-	    <class>GtkButton</class>
-	    <name>class_readme</name>
-	    <can_default>True</can_default>
+	    <class>GtkRadioButton</class>
+	    <name>recommended_but</name>
+	    <border_width>9</border_width>
+	    <tooltip>This will install the product with the default options and paths</tooltip>
 	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_F1</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_view_readme_slot</handler>
-	      <last_modification_time>Thu, 13 Sep 2001 23:23:42 GMT</last_modification_time>
-	    </signal>
-	    <label>_View Readme</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	    <label>Recommended</label>
+	    <active>True</active>
+	    <draw_indicator>True</draw_indicator>
+	    <group>install_class</group>
 	    <child>
 	      <padding>0</padding>
 	      <expand>False</expand>
@@ -198,426 +161,457 @@
 	  </widget>
 
 	  <widget>
-	    <class>GtkButton</class>
-	    <name>class_continue</name>
-	    <can_default>True</can_default>
-	    <has_default>True</has_default>
+	    <class>GtkRadioButton</class>
+	    <name>expert_but</name>
+	    <border_width>10</border_width>
+	    <tooltip>This will allow you to pick the installation paths and options to be installed </tooltip>
 	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Return</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>on_class_continue_clicked</handler>
-	      <last_modification_time>Thu, 13 Sep 2001 23:39:48 GMT</last_modification_time>
-	    </signal>
-	    <label>_Continue</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	    <label>Expert</label>
+	    <active>False</active>
+	    <draw_indicator>True</draw_indicator>
+	    <group>install_class</group>
 	    <child>
 	      <padding>0</padding>
 	      <expand>False</expand>
 	      <fill>False</fill>
 	    </child>
 	  </widget>
-	</widget>
-      </widget>
-
-      <widget>
-	<class>GtkLabel</class>
-	<child_name>Notebook:tab</child_name>
-	<name>setup_class</name>
-	<label></label>
-	<justify>GTK_JUSTIFY_CENTER</justify>
-	<wrap>False</wrap>
-	<xalign>0.5</xalign>
-	<yalign>0.5</yalign>
-	<xpad>0</xpad>
-	<ypad>0</ypad>
-      </widget>
-
-      <widget>
-	<class>GtkTable</class>
-	<name>table11</name>
-	<rows>4</rows>
-	<columns>1</columns>
-	<homogeneous>False</homogeneous>
-	<row_spacing>0</row_spacing>
-	<column_spacing>0</column_spacing>
-
-	<widget>
-	  <class>GtkFrame</class>
-	  <name>global_frame</name>
-	  <label>Global Options</label>
-	  <label_xalign>0</label_xalign>
-	  <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>0</top_attach>
-	    <bottom_attach>1</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>True</xexpand>
-	    <yexpand>True</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
 
 	  <widget>
-	    <class>GtkTable</class>
-	    <name>table12</name>
-	    <border_width>5</border_width>
-	    <rows>4</rows>
-	    <columns>2</columns>
-	    <homogeneous>False</homogeneous>
-	    <row_spacing>5</row_spacing>
-	    <column_spacing>5</column_spacing>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label23</name>
-	      <label>Install path:</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>1</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<left_attach>0</left_attach>
-		<right_attach>1</right_attach>
-		<top_attach>0</top_attach>
-		<bottom_attach>1</bottom_attach>
-		<xpad>0</xpad>
-		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
-	      </child>
-	    </widget>
-
-	    <widget>
-	      <class>GtkCombo</class>
-	      <name>install_path</name>
-	      <value_in_list>False</value_in_list>
-	      <ok_if_empty>True</ok_if_empty>
-	      <case_sensitive>False</case_sensitive>
-	      <use_arrows>True</use_arrows>
-	      <use_arrows_always>False</use_arrows_always>
-	      <items></items>
-	      <child>
-		<left_attach>1</left_attach>
-		<right_attach>2</right_attach>
-		<top_attach>0</top_attach>
-		<bottom_attach>1</bottom_attach>
-		<xpad>0</xpad>
-		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
-	      </child>
-
-	      <widget>
-		<class>GtkEntry</class>
-		<child_name>GtkCombo:entry</child_name>
-		<name>install_entry</name>
-		<can_focus>True</can_focus>
-		<signal>
-		  <name>focus_out_event</name>
-		  <handler>setup_entry_installpath_slot</handler>
-		  <last_modification_time>Wed, 15 Sep 1999 01:04:39 GMT</last_modification_time>
-		</signal>
-		<editable>True</editable>
-		<text_visible>True</text_visible>
-		<text_max_length>0</text_max_length>
-		<text></text>
-	      </widget>
-	    </widget>
+	    <class>GtkHBox</class>
+	    <name>hbox4</name>
+	    <homogeneous>True</homogeneous>
+	    <spacing>0</spacing>
+	    <child>
+	      <padding>0</padding>
+	      <expand>True</expand>
+	      <fill>False</fill>
+	      <pack>GTK_PACK_END</pack>
+	    </child>
 
 	    <widget>
-	      <class>GtkLabel</class>
-	      <name>binary_label</name>
-	      <label>Link path:</label>
-	      <justify>GTK_JUSTIFY_RIGHT</justify>
-	      <wrap>False</wrap>
-	      <xalign>1</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
+	      <class>GtkButton</class>
+	      <name>class_cancel</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Escape</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_exit_slot</handler>
+		<last_modification_time>Thu, 13 Sep 2001 23:46:19 GMT</last_modification_time>
+	      </signal>
+	      <label>Cancel</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
 	      <child>
-		<left_attach>0</left_attach>
-		<right_attach>1</right_attach>
-		<top_attach>2</top_attach>
-		<bottom_attach>3</bottom_attach>
-		<xpad>0</xpad>
-		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
+		<padding>0</padding>
+		<expand>False</expand>
+		<fill>False</fill>
 	      </child>
 	    </widget>
 
 	    <widget>
-	      <class>GtkCombo</class>
-	      <name>binary_path</name>
-	      <value_in_list>False</value_in_list>
-	      <ok_if_empty>True</ok_if_empty>
-	      <case_sensitive>False</case_sensitive>
-	      <use_arrows>True</use_arrows>
-	      <use_arrows_always>False</use_arrows_always>
-	      <items></items>
+	      <class>GtkButton</class>
+	      <name>class_readme</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_F1</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_view_readme_slot</handler>
+		<last_modification_time>Thu, 13 Sep 2001 23:23:42 GMT</last_modification_time>
+	      </signal>
+	      <label>_View Readme</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
 	      <child>
-		<left_attach>1</left_attach>
-		<right_attach>2</right_attach>
-		<top_attach>2</top_attach>
-		<bottom_attach>3</bottom_attach>
-		<xpad>0</xpad>
-		<ypad>0</ypad>
-		<xexpand>True</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
+		<padding>0</padding>
+		<expand>False</expand>
+		<fill>False</fill>
 	      </child>
-
-	      <widget>
-		<class>GtkEntry</class>
-		<child_name>GtkCombo:entry</child_name>
-		<name>binary_entry</name>
-		<tooltip>Symbolic links to installed binaries are placed here</tooltip>
-		<can_focus>True</can_focus>
-		<signal>
-		  <name>focus_out_event</name>
-		  <handler>setup_entry_binarypath_slot</handler>
-		  <last_modification_time>Wed, 15 Sep 1999 01:06:14 GMT</last_modification_time>
-		</signal>
-		<editable>True</editable>
-		<text_visible>True</text_visible>
-		<text_max_length>0</text_max_length>
-		<text></text>
-	      </widget>
 	    </widget>
 
 	    <widget>
-	      <class>GtkCheckButton</class>
-	      <name>symlink_checkbox</name>
+	      <class>GtkButton</class>
+	      <name>class_continue</name>
 	      <can_default>True</can_default>
 	      <has_default>True</has_default>
 	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Return</key>
+		<signal>clicked</signal>
+	      </accelerator>
 	      <signal>
-		<name>toggled</name>
-		<handler>on_use_binary_toggled</handler>
-		<last_modification_time>Thu, 03 Aug 2000 09:53:24 GMT</last_modification_time>
+		<name>clicked</name>
+		<handler>on_class_continue_clicked</handler>
+		<last_modification_time>Thu, 13 Sep 2001 23:39:48 GMT</last_modification_time>
 	      </signal>
-	      <label>Install a symbolic link into the path</label>
-	      <active>True</active>
-	      <draw_indicator>True</draw_indicator>
+	      <label>_Continue</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
 	      <child>
-		<left_attach>0</left_attach>
-		<right_attach>2</right_attach>
-		<top_attach>1</top_attach>
-		<bottom_attach>2</bottom_attach>
-		<xpad>0</xpad>
-		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
+		<padding>0</padding>
+		<expand>False</expand>
+		<fill>False</fill>
 	      </child>
 	    </widget>
+	  </widget>
+	</widget>
 
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>manpage_label</name>
-	      <label>Man page path:</label>
-	      <justify>GTK_JUSTIFY_RIGHT</justify>
-	      <wrap>False</wrap>
-	      <xalign>1</xalign>
-	      <yalign>0.5</yalign>
+	<widget>
+	  <class>GtkLabel</class>
+	  <child_name>Notebook:tab</child_name>
+	  <name>setup_class</name>
+	  <label></label>
+	  <justify>GTK_JUSTIFY_CENTER</justify>
+	  <wrap>False</wrap>
+	  <xalign>0.5</xalign>
+	  <yalign>0.5</yalign>
+	  <xpad>0</xpad>
+	  <ypad>0</ypad>
+	</widget>
+
+	<widget>
+	  <class>GtkTable</class>
+	  <name>table11</name>
+	  <rows>4</rows>
+	  <columns>1</columns>
+	  <homogeneous>False</homogeneous>
+	  <row_spacing>0</row_spacing>
+	  <column_spacing>0</column_spacing>
+
+	  <widget>
+	    <class>GtkFrame</class>
+	    <name>global_frame</name>
+	    <label>Global Options</label>
+	    <label_xalign>0</label_xalign>
+	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>0</top_attach>
+	      <bottom_attach>1</bottom_attach>
 	      <xpad>0</xpad>
 	      <ypad>0</ypad>
-	      <child>
-		<left_attach>0</left_attach>
-		<right_attach>1</right_attach>
-		<top_attach>3</top_attach>
-		<bottom_attach>4</bottom_attach>
+	      <xexpand>True</xexpand>
+	      <yexpand>True</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
+
+	    <widget>
+	      <class>GtkTable</class>
+	      <name>table12</name>
+	      <border_width>5</border_width>
+	      <rows>4</rows>
+	      <columns>2</columns>
+	      <homogeneous>False</homogeneous>
+	      <row_spacing>5</row_spacing>
+	      <column_spacing>5</column_spacing>
+
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label23</name>
+		<label>Install path:</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>1</xalign>
+		<yalign>0.5</yalign>
 		<xpad>0</xpad>
 		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
-	      </child>
-	    </widget>
+		<child>
+		  <left_attach>0</left_attach>
+		  <right_attach>1</right_attach>
+		  <top_attach>0</top_attach>
+		  <bottom_attach>1</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
+	      </widget>
 
-	    <widget>
-	      <class>GtkCombo</class>
-	      <name>manpage_combo</name>
-	      <value_in_list>False</value_in_list>
-	      <ok_if_empty>True</ok_if_empty>
-	      <case_sensitive>False</case_sensitive>
-	      <use_arrows>True</use_arrows>
-	      <use_arrows_always>False</use_arrows_always>
-	      <items></items>
-	      <child>
-		<left_attach>1</left_attach>
-		<right_attach>2</right_attach>
-		<top_attach>3</top_attach>
-		<bottom_attach>4</bottom_attach>
+	      <widget>
+		<class>GtkCombo</class>
+		<name>install_path</name>
+		<value_in_list>False</value_in_list>
+		<ok_if_empty>True</ok_if_empty>
+		<case_sensitive>False</case_sensitive>
+		<use_arrows>True</use_arrows>
+		<use_arrows_always>False</use_arrows_always>
+		<items></items>
+		<child>
+		  <left_attach>1</left_attach>
+		  <right_attach>2</right_attach>
+		  <top_attach>0</top_attach>
+		  <bottom_attach>1</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
+
+		<widget>
+		  <class>GtkEntry</class>
+		  <child_name>GtkCombo:entry</child_name>
+		  <name>install_entry</name>
+		  <can_focus>True</can_focus>
+		  <signal>
+		    <name>focus_out_event</name>
+		    <handler>setup_entry_installpath_slot</handler>
+		    <last_modification_time>Wed, 15 Sep 1999 01:04:39 GMT</last_modification_time>
+		  </signal>
+		  <editable>True</editable>
+		  <text_visible>True</text_visible>
+		  <text_max_length>0</text_max_length>
+		  <text></text>
+		</widget>
+	      </widget>
+
+	      <widget>
+		<class>GtkLabel</class>
+		<name>binary_label</name>
+		<label>Link path:</label>
+		<justify>GTK_JUSTIFY_RIGHT</justify>
+		<wrap>False</wrap>
+		<xalign>1</xalign>
+		<yalign>0.5</yalign>
 		<xpad>0</xpad>
 		<ypad>0</ypad>
-		<xexpand>True</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
-	      </child>
+		<child>
+		  <left_attach>0</left_attach>
+		  <right_attach>1</right_attach>
+		  <top_attach>2</top_attach>
+		  <bottom_attach>3</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
+	      </widget>
 
 	      <widget>
-		<class>GtkEntry</class>
-		<child_name>GtkCombo:entry</child_name>
-		<name>manpage_entry</name>
+		<class>GtkCombo</class>
+		<name>binary_path</name>
+		<value_in_list>False</value_in_list>
+		<ok_if_empty>True</ok_if_empty>
+		<case_sensitive>False</case_sensitive>
+		<use_arrows>True</use_arrows>
+		<use_arrows_always>False</use_arrows_always>
+		<items></items>
+		<child>
+		  <left_attach>1</left_attach>
+		  <right_attach>2</right_attach>
+		  <top_attach>2</top_attach>
+		  <bottom_attach>3</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>True</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
+
+		<widget>
+		  <class>GtkEntry</class>
+		  <child_name>GtkCombo:entry</child_name>
+		  <name>binary_entry</name>
+		  <tooltip>Symbolic links to installed binaries are placed here</tooltip>
+		  <can_focus>True</can_focus>
+		  <signal>
+		    <name>focus_out_event</name>
+		    <handler>setup_entry_binarypath_slot</handler>
+		    <last_modification_time>Wed, 15 Sep 1999 01:06:14 GMT</last_modification_time>
+		  </signal>
+		  <editable>True</editable>
+		  <text_visible>True</text_visible>
+		  <text_max_length>0</text_max_length>
+		  <text></text>
+		</widget>
+	      </widget>
+
+	      <widget>
+		<class>GtkCheckButton</class>
+		<name>symlink_checkbox</name>
+		<can_default>True</can_default>
+		<has_default>True</has_default>
 		<can_focus>True</can_focus>
 		<signal>
-		  <name>focus_out_event</name>
-		  <handler>on_manpage_entry_focus_out_event</handler>
-		  <last_modification_time>Fri, 13 Feb 2004 02:26:59 GMT</last_modification_time>
+		  <name>toggled</name>
+		  <handler>on_use_binary_toggled</handler>
+		  <last_modification_time>Thu, 03 Aug 2000 09:53:24 GMT</last_modification_time>
 		</signal>
-		<editable>True</editable>
-		<text_visible>True</text_visible>
-		<text_max_length>0</text_max_length>
-		<text></text>
+		<label>Install a symbolic link into the path</label>
+		<active>True</active>
+		<draw_indicator>True</draw_indicator>
+		<child>
+		  <left_attach>0</left_attach>
+		  <right_attach>2</right_attach>
+		  <top_attach>1</top_attach>
+		  <bottom_attach>2</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
 	      </widget>
-	    </widget>
-	  </widget>
-	</widget>
-
-	<widget>
-	  <class>GtkFrame</class>
-	  <name>frame10</name>
-	  <label>Options</label>
-	  <label_xalign>0</label_xalign>
-	  <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>1</top_attach>
-	    <bottom_attach>2</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>True</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
 
-	  <widget>
-	    <class>GtkTable</class>
-	    <name>table13</name>
-	    <border_width>5</border_width>
-	    <rows>4</rows>
-	    <columns>4</columns>
-	    <homogeneous>False</homogeneous>
-	    <row_spacing>5</row_spacing>
-	    <column_spacing>5</column_spacing>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label_free_space</name>
-	      <label>0 MB</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<left_attach>1</left_attach>
-		<right_attach>2</right_attach>
-		<top_attach>2</top_attach>
-		<bottom_attach>3</bottom_attach>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>manpage_label</name>
+		<label>Man page path:</label>
+		<justify>GTK_JUSTIFY_RIGHT</justify>
+		<wrap>False</wrap>
+		<xalign>1</xalign>
+		<yalign>0.5</yalign>
 		<xpad>0</xpad>
 		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>False</xfill>
-		<yfill>False</yfill>
-	      </child>
+		<child>
+		  <left_attach>0</left_attach>
+		  <right_attach>1</right_attach>
+		  <top_attach>3</top_attach>
+		  <bottom_attach>4</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
+	      </widget>
+
+	      <widget>
+		<class>GtkCombo</class>
+		<name>manpage_combo</name>
+		<value_in_list>False</value_in_list>
+		<ok_if_empty>True</ok_if_empty>
+		<case_sensitive>False</case_sensitive>
+		<use_arrows>True</use_arrows>
+		<use_arrows_always>False</use_arrows_always>
+		<items></items>
+		<child>
+		  <left_attach>1</left_attach>
+		  <right_attach>2</right_attach>
+		  <top_attach>3</top_attach>
+		  <bottom_attach>4</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>True</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
+
+		<widget>
+		  <class>GtkEntry</class>
+		  <child_name>GtkCombo:entry</child_name>
+		  <name>manpage_entry</name>
+		  <can_focus>True</can_focus>
+		  <signal>
+		    <name>focus_out_event</name>
+		    <handler>on_manpage_entry_focus_out_event</handler>
+		    <last_modification_time>Fri, 13 Feb 2004 02:26:59 GMT</last_modification_time>
+		  </signal>
+		  <editable>True</editable>
+		  <text_visible>True</text_visible>
+		  <text_max_length>0</text_max_length>
+		  <text></text>
+		</widget>
+	      </widget>
 	    </widget>
+	  </widget>
 
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label_install_size</name>
-	      <label>0 MB</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
+	  <widget>
+	    <class>GtkFrame</class>
+	    <name>frame10</name>
+	    <label>Options</label>
+	    <label_xalign>0</label_xalign>
+	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>1</top_attach>
+	      <bottom_attach>2</bottom_attach>
 	      <xpad>0</xpad>
 	      <ypad>0</ypad>
-	      <child>
-		<left_attach>3</left_attach>
-		<right_attach>4</right_attach>
-		<top_attach>2</top_attach>
-		<bottom_attach>3</bottom_attach>
-		<xpad>0</xpad>
-		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>False</xfill>
-		<yfill>False</yfill>
-	      </child>
-	    </widget>
+	      <xexpand>False</xexpand>
+	      <yexpand>True</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
 	    <widget>
-	      <class>GtkVBox</class>
-	      <name>option_vbox</name>
+	      <class>GtkTable</class>
+	      <name>table13</name>
+	      <border_width>5</border_width>
+	      <rows>4</rows>
+	      <columns>4</columns>
 	      <homogeneous>False</homogeneous>
-	      <spacing>0</spacing>
-	      <child>
-		<left_attach>0</left_attach>
-		<right_attach>4</right_attach>
-		<top_attach>0</top_attach>
-		<bottom_attach>1</bottom_attach>
+	      <row_spacing>5</row_spacing>
+	      <column_spacing>5</column_spacing>
+
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label_free_space</name>
+		<label>0 MB</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0.5</xalign>
+		<yalign>0.5</yalign>
 		<xpad>0</xpad>
 		<ypad>0</ypad>
-		<xexpand>True</xexpand>
-		<yexpand>True</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>True</yfill>
-	      </child>
+		<child>
+		  <left_attach>1</left_attach>
+		  <right_attach>2</right_attach>
+		  <top_attach>2</top_attach>
+		  <bottom_attach>3</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>False</xfill>
+		  <yfill>False</yfill>
+		</child>
+	      </widget>
 
 	      <widget>
 		<class>GtkLabel</class>
-		<name>label31</name>
-		<label>[packages go here]</label>
+		<name>label_install_size</name>
+		<label>0 MB</label>
 		<justify>GTK_JUSTIFY_CENTER</justify>
 		<wrap>False</wrap>
 		<xalign>0.5</xalign>
@@ -625,303 +619,690 @@
 		<xpad>0</xpad>
 		<ypad>0</ypad>
 		<child>
-		  <padding>0</padding>
-		  <expand>False</expand>
-		  <fill>False</fill>
+		  <left_attach>3</left_attach>
+		  <right_attach>4</right_attach>
+		  <top_attach>2</top_attach>
+		  <bottom_attach>3</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>False</xfill>
+		  <yfill>False</yfill>
 		</child>
 	      </widget>
-	    </widget>
 
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>free_space_label</name>
-	      <label>Free space:</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>1</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<left_attach>0</left_attach>
-		<right_attach>1</right_attach>
-		<top_attach>2</top_attach>
-		<bottom_attach>3</bottom_attach>
+	      <widget>
+		<class>GtkVBox</class>
+		<name>option_vbox</name>
+		<homogeneous>False</homogeneous>
+		<spacing>0</spacing>
+		<child>
+		  <left_attach>0</left_attach>
+		  <right_attach>4</right_attach>
+		  <top_attach>0</top_attach>
+		  <bottom_attach>1</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>True</xexpand>
+		  <yexpand>True</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>True</yfill>
+		</child>
+
+		<widget>
+		  <class>GtkLabel</class>
+		  <name>label31</name>
+		  <label>[packages go here]</label>
+		  <justify>GTK_JUSTIFY_CENTER</justify>
+		  <wrap>False</wrap>
+		  <xalign>0.5</xalign>
+		  <yalign>0.5</yalign>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <child>
+		    <padding>0</padding>
+		    <expand>False</expand>
+		    <fill>False</fill>
+		  </child>
+		</widget>
+	      </widget>
+
+	      <widget>
+		<class>GtkLabel</class>
+		<name>free_space_label</name>
+		<label>Free space:</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>1</xalign>
+		<yalign>0.5</yalign>
 		<xpad>0</xpad>
 		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
-	      </child>
-	    </widget>
+		<child>
+		  <left_attach>0</left_attach>
+		  <right_attach>1</right_attach>
+		  <top_attach>2</top_attach>
+		  <bottom_attach>3</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
+	      </widget>
 
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>estim_size_label</name>
-	      <label>Estimated size:</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>1</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<left_attach>2</left_attach>
-		<right_attach>3</right_attach>
-		<top_attach>2</top_attach>
-		<bottom_attach>3</bottom_attach>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>estim_size_label</name>
+		<label>Estimated size:</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>1</xalign>
+		<yalign>0.5</yalign>
 		<xpad>0</xpad>
 		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
-	      </child>
-	    </widget>
-
+		<child>
+		  <left_attach>2</left_attach>
+		  <right_attach>3</right_attach>
+		  <top_attach>2</top_attach>
+		  <bottom_attach>3</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
+	      </widget>
+
+	      <widget>
+		<class>GtkCheckButton</class>
+		<name>setup_menuitems_checkbox</name>
+		<can_focus>True</can_focus>
+		<signal>
+		  <name>toggled</name>
+		  <handler>setup_checkbox_menuitems_slot</handler>
+		  <last_modification_time>Thu, 16 Sep 1999 01:16:33 GMT</last_modification_time>
+		</signal>
+		<label>Startup menu entries (KDE/Gnome/CDE)</label>
+		<active>True</active>
+		<draw_indicator>True</draw_indicator>
+		<child>
+		  <left_attach>0</left_attach>
+		  <right_attach>4</right_attach>
+		  <top_attach>3</top_attach>
+		  <bottom_attach>4</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>False</yfill>
+		</child>
+	      </widget>
+
+	      <widget>
+		<class>GtkHSeparator</class>
+		<name>install_separator</name>
+		<child>
+		  <left_attach>0</left_attach>
+		  <right_attach>4</right_attach>
+		  <top_attach>1</top_attach>
+		  <bottom_attach>2</bottom_attach>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <xexpand>False</xexpand>
+		  <yexpand>False</yexpand>
+		  <xshrink>False</xshrink>
+		  <yshrink>False</yshrink>
+		  <xfill>True</xfill>
+		  <yfill>True</yfill>
+		</child>
+	      </widget>
+	    </widget>
+	  </widget>
+
+	  <widget>
+	    <class>GtkHButtonBox</class>
+	    <name>hbuttonbox3</name>
+	    <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
+	    <spacing>5</spacing>
+	    <child_min_width>60</child_min_width>
+	    <child_min_height>27</child_min_height>
+	    <child_ipad_x>7</child_ipad_x>
+	    <child_ipad_y>0</child_ipad_y>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>3</top_attach>
+	      <bottom_attach>4</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>False</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
+
 	    <widget>
-	      <class>GtkCheckButton</class>
-	      <name>setup_menuitems_checkbox</name>
+	      <class>GtkButton</class>
+	      <name>button_cancel</name>
+	      <can_default>True</can_default>
 	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Escape</key>
+		<signal>clicked</signal>
+	      </accelerator>
 	      <signal>
-		<name>toggled</name>
-		<handler>setup_checkbox_menuitems_slot</handler>
-		<last_modification_time>Thu, 16 Sep 1999 01:16:33 GMT</last_modification_time>
+		<name>clicked</name>
+		<handler>setup_button_exit_slot</handler>
+		<last_modification_time>Tue, 14 Sep 1999 22:58:10 GMT</last_modification_time>
 	      </signal>
-	      <label>Startup menu entries (KDE/Gnome/CDE)</label>
-	      <active>True</active>
-	      <draw_indicator>True</draw_indicator>
-	      <child>
-		<left_attach>0</left_attach>
-		<right_attach>4</right_attach>
-		<top_attach>3</top_attach>
-		<bottom_attach>4</bottom_attach>
-		<xpad>0</xpad>
-		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>False</yfill>
-	      </child>
+	      <label>Cancel</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
 	    </widget>
 
 	    <widget>
-	      <class>GtkHSeparator</class>
-	      <name>install_separator</name>
-	      <child>
-		<left_attach>0</left_attach>
-		<right_attach>4</right_attach>
-		<top_attach>1</top_attach>
-		<bottom_attach>2</bottom_attach>
-		<xpad>0</xpad>
-		<ypad>0</ypad>
-		<xexpand>False</xexpand>
-		<yexpand>False</yexpand>
-		<xshrink>False</xshrink>
-		<yshrink>False</yshrink>
-		<xfill>True</xfill>
-		<yfill>True</yfill>
-	      </child>
+	      <class>GtkButton</class>
+	      <name>button_readme</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_F1</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_view_readme_slot</handler>
+		<last_modification_time>Wed, 15 Sep 1999 01:10:59 GMT</last_modification_time>
+	      </signal>
+	      <label>_View Readme</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
+
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>button_install</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_install_slot</handler>
+		<last_modification_time>Tue, 14 Sep 1999 22:36:50 GMT</last_modification_time>
+	      </signal>
+	      <label>_Begin Install</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
 	    </widget>
 	  </widget>
-	</widget>
 
-	<widget>
-	  <class>GtkHButtonBox</class>
-	  <name>hbuttonbox3</name>
-	  <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
-	  <spacing>5</spacing>
-	  <child_min_width>60</child_min_width>
-	  <child_min_height>27</child_min_height>
-	  <child_ipad_x>7</child_ipad_x>
-	  <child_ipad_y>0</child_ipad_y>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>3</top_attach>
-	    <bottom_attach>4</bottom_attach>
+	  <widget>
+	    <class>GtkLabel</class>
+	    <name>options_status</name>
+	    <label>[options status]</label>
+	    <justify>GTK_JUSTIFY_CENTER</justify>
+	    <wrap>False</wrap>
+	    <xalign>0.5</xalign>
+	    <yalign>0.5</yalign>
 	    <xpad>0</xpad>
 	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>False</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
-
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>button_cancel</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Escape</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_exit_slot</handler>
-	      <last_modification_time>Tue, 14 Sep 1999 22:58:10 GMT</last_modification_time>
-	    </signal>
-	    <label>Cancel</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>2</top_attach>
+	      <bottom_attach>3</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>False</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>False</yfill>
+	    </child>
 	  </widget>
+	</widget>
+
+	<widget>
+	  <class>GtkLabel</class>
+	  <child_name>Notebook:tab</child_name>
+	  <name>setup_options</name>
+	  <label></label>
+	  <justify>GTK_JUSTIFY_CENTER</justify>
+	  <wrap>False</wrap>
+	  <xalign>0.5</xalign>
+	  <yalign>0.5</yalign>
+	  <xpad>0</xpad>
+	  <ypad>0</ypad>
+	</widget>
+
+	<widget>
+	  <class>GtkTable</class>
+	  <name>table14</name>
+	  <rows>2</rows>
+	  <columns>1</columns>
+	  <homogeneous>False</homogeneous>
+	  <row_spacing>5</row_spacing>
+	  <column_spacing>5</column_spacing>
 
 	  <widget>
-	    <class>GtkButton</class>
-	    <name>button_readme</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_F1</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_view_readme_slot</handler>
-	      <last_modification_time>Wed, 15 Sep 1999 01:10:59 GMT</last_modification_time>
-	    </signal>
-	    <label>_View Readme</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	    <class>GtkFrame</class>
+	    <name>frame13</name>
+	    <label>Install Progress</label>
+	    <label_xalign>0</label_xalign>
+	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>0</top_attach>
+	      <bottom_attach>1</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>False</xexpand>
+	      <yexpand>True</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
+
+	    <widget>
+	      <class>GtkVBox</class>
+	      <name>vbox10</name>
+	      <border_width>5</border_width>
+	      <homogeneous>False</homogeneous>
+	      <spacing>0</spacing>
+
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label39</name>
+		<label></label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0.5</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
+
+	      <widget>
+		<class>GtkVBox</class>
+		<name>vbox11</name>
+		<homogeneous>False</homogeneous>
+		<spacing>0</spacing>
+		<child>
+		  <padding>0</padding>
+		  <expand>True</expand>
+		  <fill>True</fill>
+		</child>
+
+		<widget>
+		  <class>GtkLabel</class>
+		  <name>current_option_label</name>
+		  <label>[current option]</label>
+		  <justify>GTK_JUSTIFY_CENTER</justify>
+		  <wrap>False</wrap>
+		  <xalign>0</xalign>
+		  <yalign>0.5</yalign>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <child>
+		    <padding>0</padding>
+		    <expand>False</expand>
+		    <fill>False</fill>
+		  </child>
+		</widget>
+
+		<widget>
+		  <class>GtkLabel</class>
+		  <name>label50</name>
+		  <label></label>
+		  <justify>GTK_JUSTIFY_CENTER</justify>
+		  <wrap>False</wrap>
+		  <xalign>0.5</xalign>
+		  <yalign>0.5</yalign>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <child>
+		    <padding>0</padding>
+		    <expand>False</expand>
+		    <fill>False</fill>
+		  </child>
+		</widget>
+
+		<widget>
+		  <class>GtkLabel</class>
+		  <name>current_file_label</name>
+		  <label>[current file]</label>
+		  <justify>GTK_JUSTIFY_CENTER</justify>
+		  <wrap>False</wrap>
+		  <xalign>0</xalign>
+		  <yalign>0.5</yalign>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <child>
+		    <padding>0</padding>
+		    <expand>False</expand>
+		    <fill>False</fill>
+		  </child>
+		</widget>
+
+		<widget>
+		  <class>GtkProgressBar</class>
+		  <name>current_file_progress</name>
+		  <value>0</value>
+		  <lower>0</lower>
+		  <upper>100</upper>
+		  <bar_style>GTK_PROGRESS_CONTINUOUS</bar_style>
+		  <orientation>GTK_PROGRESS_LEFT_TO_RIGHT</orientation>
+		  <activity_mode>False</activity_mode>
+		  <show_text>False</show_text>
+		  <format>%P %%</format>
+		  <text_xalign>0.5</text_xalign>
+		  <text_yalign>0.5</text_yalign>
+		  <child>
+		    <padding>0</padding>
+		    <expand>False</expand>
+		    <fill>False</fill>
+		  </child>
+		</widget>
+	      </widget>
+
+	      <widget>
+		<class>GtkVBox</class>
+		<name>vbox12</name>
+		<homogeneous>False</homogeneous>
+		<spacing>0</spacing>
+		<child>
+		  <padding>0</padding>
+		  <expand>True</expand>
+		  <fill>True</fill>
+		</child>
+
+		<widget>
+		  <class>GtkLabel</class>
+		  <name>label41</name>
+		  <label>Total Install</label>
+		  <justify>GTK_JUSTIFY_CENTER</justify>
+		  <wrap>False</wrap>
+		  <xalign>0</xalign>
+		  <yalign>0.5</yalign>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <child>
+		    <padding>0</padding>
+		    <expand>False</expand>
+		    <fill>False</fill>
+		  </child>
+		</widget>
+
+		<widget>
+		  <class>GtkProgressBar</class>
+		  <name>total_file_progress</name>
+		  <value>0</value>
+		  <lower>0</lower>
+		  <upper>100</upper>
+		  <bar_style>GTK_PROGRESS_CONTINUOUS</bar_style>
+		  <orientation>GTK_PROGRESS_LEFT_TO_RIGHT</orientation>
+		  <activity_mode>False</activity_mode>
+		  <show_text>False</show_text>
+		  <format>%P %%</format>
+		  <text_xalign>0.5</text_xalign>
+		  <text_yalign>0.5</text_yalign>
+		  <child>
+		    <padding>0</padding>
+		    <expand>False</expand>
+		    <fill>False</fill>
+		  </child>
+		</widget>
+	      </widget>
+	    </widget>
 	  </widget>
 
 	  <widget>
-	    <class>GtkButton</class>
-	    <name>button_install</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_install_slot</handler>
-	      <last_modification_time>Tue, 14 Sep 1999 22:36:50 GMT</last_modification_time>
-	    </signal>
-	    <label>_Begin Install</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	    <class>GtkHButtonBox</class>
+	    <name>hbuttonbox4</name>
+	    <layout_style>GTK_BUTTONBOX_START</layout_style>
+	    <spacing>5</spacing>
+	    <child_min_width>60</child_min_width>
+	    <child_min_height>27</child_min_height>
+	    <child_ipad_x>7</child_ipad_x>
+	    <child_ipad_y>0</child_ipad_y>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>1</top_attach>
+	      <bottom_attach>2</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>True</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
+
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>button12</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Escape</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_cancel_slot</handler>
+		<last_modification_time>Tue, 14 Sep 1999 19:53:47 GMT</last_modification_time>
+	      </signal>
+	      <label>Cancel</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
+
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>view_readme_progress_button</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_F1</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_view_readme_slot</handler>
+		<last_modification_time>Wed, 15 Sep 1999 01:11:10 GMT</last_modification_time>
+	      </signal>
+	      <label>_View Readme</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
 	  </widget>
 	</widget>
 
 	<widget>
 	  <class>GtkLabel</class>
-	  <name>options_status</name>
-	  <label>[options status]</label>
+	  <child_name>Notebook:tab</child_name>
+	  <name>setup_install</name>
+	  <label></label>
 	  <justify>GTK_JUSTIFY_CENTER</justify>
 	  <wrap>False</wrap>
 	  <xalign>0.5</xalign>
 	  <yalign>0.5</yalign>
 	  <xpad>0</xpad>
 	  <ypad>0</ypad>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>2</top_attach>
-	    <bottom_attach>3</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>False</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>False</yfill>
-	  </child>
 	</widget>
-      </widget>
-
-      <widget>
-	<class>GtkLabel</class>
-	<child_name>Notebook:tab</child_name>
-	<name>setup_options</name>
-	<label></label>
-	<justify>GTK_JUSTIFY_CENTER</justify>
-	<wrap>False</wrap>
-	<xalign>0.5</xalign>
-	<yalign>0.5</yalign>
-	<xpad>0</xpad>
-	<ypad>0</ypad>
-      </widget>
-
-      <widget>
-	<class>GtkTable</class>
-	<name>table14</name>
-	<rows>2</rows>
-	<columns>1</columns>
-	<homogeneous>False</homogeneous>
-	<row_spacing>5</row_spacing>
-	<column_spacing>5</column_spacing>
 
 	<widget>
-	  <class>GtkFrame</class>
-	  <name>frame13</name>
-	  <label>Install Progress</label>
-	  <label_xalign>0</label_xalign>
-	  <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>0</top_attach>
-	    <bottom_attach>1</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>True</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
+	  <class>GtkTable</class>
+	  <name>table15</name>
+	  <rows>2</rows>
+	  <columns>1</columns>
+	  <homogeneous>False</homogeneous>
+	  <row_spacing>5</row_spacing>
+	  <column_spacing>5</column_spacing>
+
+	  <widget>
+	    <class>GtkHButtonBox</class>
+	    <name>hbuttonbox5</name>
+	    <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
+	    <spacing>5</spacing>
+	    <child_min_width>60</child_min_width>
+	    <child_min_height>27</child_min_height>
+	    <child_ipad_x>7</child_ipad_x>
+	    <child_ipad_y>0</child_ipad_y>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>1</top_attach>
+	      <bottom_attach>2</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>True</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
-	  <widget>
-	    <class>GtkVBox</class>
-	    <name>vbox10</name>
-	    <border_width>5</border_width>
-	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>button15</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Escape</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_exit_slot</handler>
+		<last_modification_time>Tue, 14 Sep 1999 22:58:23 GMT</last_modification_time>
+	      </signal>
+	      <label>_Exit</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
+
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>view_readme_end_button</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_F1</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_view_readme_slot</handler>
+		<last_modification_time>Wed, 15 Sep 1999 01:11:23 GMT</last_modification_time>
+	      </signal>
+	      <label>_View Readme</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
 
 	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label39</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
+	      <class>GtkButton</class>
+	      <name>play_game_button</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Return</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_space</key>
+		<signal>enter</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_play_slot</handler>
+		<last_modification_time>Tue, 14 Sep 1999 22:35:17 GMT</last_modification_time>
+	      </signal>
+	      <label>_Start</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
+	  </widget>
+
+	  <widget>
+	    <class>GtkFrame</class>
+	    <name>frame14</name>
+	    <label>Install Complete</label>
+	    <label_xalign>0</label_xalign>
+	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>0</top_attach>
+	      <bottom_attach>1</bottom_attach>
 	      <xpad>0</xpad>
 	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
+	      <xexpand>False</xexpand>
+	      <yexpand>True</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
 	    <widget>
 	      <class>GtkVBox</class>
-	      <name>vbox11</name>
+	      <name>vbox15</name>
+	      <border_width>5</border_width>
 	      <homogeneous>False</homogeneous>
 	      <spacing>0</spacing>
-	      <child>
-		<padding>0</padding>
-		<expand>True</expand>
-		<fill>True</fill>
-	      </child>
 
 	      <widget>
 		<class>GtkLabel</class>
-		<name>current_option_label</name>
-		<label>[current option]</label>
+		<name>label45</name>
+		<label>Congratulations!</label>
 		<justify>GTK_JUSTIFY_CENTER</justify>
 		<wrap>False</wrap>
-		<xalign>0</xalign>
+		<xalign>0.5</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
+
+	      <widget>
+		<class>GtkLabel</class>
+		<name>setup_complete_label</name>
+		<label>The installation was successfully completed!</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>True</wrap>
+		<xalign>0.5</xalign>
 		<yalign>0.5</yalign>
 		<xpad>0</xpad>
 		<ypad>0</ypad>
@@ -934,7 +1315,7 @@
 
 	      <widget>
 		<class>GtkLabel</class>
-		<name>label50</name>
+		<name>label54</name>
 		<label></label>
 		<justify>GTK_JUSTIFY_CENTER</justify>
 		<wrap>False</wrap>
@@ -951,8 +1332,8 @@
 
 	      <widget>
 		<class>GtkLabel</class>
-		<name>current_file_label</name>
-		<label>[current file]</label>
+		<name>label55</name>
+		<label>The product was installed in:</label>
 		<justify>GTK_JUSTIFY_CENTER</justify>
 		<wrap>False</wrap>
 		<xalign>0</xalign>
@@ -967,44 +1348,29 @@
 	      </widget>
 
 	      <widget>
-		<class>GtkProgressBar</class>
-		<name>current_file_progress</name>
-		<value>0</value>
-		<lower>0</lower>
-		<upper>100</upper>
-		<bar_style>GTK_PROGRESS_CONTINUOUS</bar_style>
-		<orientation>GTK_PROGRESS_LEFT_TO_RIGHT</orientation>
-		<activity_mode>False</activity_mode>
-		<show_text>False</show_text>
-		<format>%P %%</format>
-		<text_xalign>0.5</text_xalign>
-		<text_yalign>0.5</text_yalign>
+		<class>GtkLabel</class>
+		<name>install_directory_label</name>
+		<label>[install directory]</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
 		<child>
 		  <padding>0</padding>
 		  <expand>False</expand>
 		  <fill>False</fill>
 		</child>
 	      </widget>
-	    </widget>
-
-	    <widget>
-	      <class>GtkVBox</class>
-	      <name>vbox12</name>
-	      <homogeneous>False</homogeneous>
-	      <spacing>0</spacing>
-	      <child>
-		<padding>0</padding>
-		<expand>True</expand>
-		<fill>True</fill>
-	      </child>
 
 	      <widget>
 		<class>GtkLabel</class>
-		<name>label41</name>
-		<label>Total Install</label>
+		<name>label57</name>
+		<label></label>
 		<justify>GTK_JUSTIFY_CENTER</justify>
 		<wrap>False</wrap>
-		<xalign>0</xalign>
+		<xalign>0.5</xalign>
 		<yalign>0.5</yalign>
 		<xpad>0</xpad>
 		<ypad>0</ypad>
@@ -1016,18 +1382,15 @@
 	      </widget>
 
 	      <widget>
-		<class>GtkProgressBar</class>
-		<name>total_file_progress</name>
-		<value>0</value>
-		<lower>0</lower>
-		<upper>100</upper>
-		<bar_style>GTK_PROGRESS_CONTINUOUS</bar_style>
-		<orientation>GTK_PROGRESS_LEFT_TO_RIGHT</orientation>
-		<activity_mode>False</activity_mode>
-		<show_text>False</show_text>
-		<format>%P %%</format>
-		<text_xalign>0.5</text_xalign>
-		<text_yalign>0.5</text_yalign>
+		<class>GtkLabel</class>
+		<name>play_game_label</name>
+		<label>Type '[game]' to start.</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
 		<child>
 		  <padding>0</padding>
 		  <expand>False</expand>
@@ -1039,758 +1402,680 @@
 	</widget>
 
 	<widget>
-	  <class>GtkHButtonBox</class>
-	  <name>hbuttonbox4</name>
-	  <layout_style>GTK_BUTTONBOX_START</layout_style>
-	  <spacing>5</spacing>
-	  <child_min_width>60</child_min_width>
-	  <child_min_height>27</child_min_height>
-	  <child_ipad_x>7</child_ipad_x>
-	  <child_ipad_y>0</child_ipad_y>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>1</top_attach>
-	    <bottom_attach>2</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>True</xexpand>
-	    <yexpand>False</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
+	  <class>GtkLabel</class>
+	  <child_name>Notebook:tab</child_name>
+	  <name>setup_complete</name>
+	  <label></label>
+	  <justify>GTK_JUSTIFY_CENTER</justify>
+	  <wrap>False</wrap>
+	  <xalign>0.5</xalign>
+	  <yalign>0.5</yalign>
+	  <xpad>0</xpad>
+	  <ypad>0</ypad>
+	</widget>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>button12</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Escape</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_cancel_slot</handler>
-	      <last_modification_time>Tue, 14 Sep 1999 19:53:47 GMT</last_modification_time>
-	    </signal>
-	    <label>Cancel</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
-	  </widget>
+	<widget>
+	  <class>GtkTable</class>
+	  <name>table16</name>
+	  <rows>2</rows>
+	  <columns>1</columns>
+	  <homogeneous>False</homogeneous>
+	  <row_spacing>5</row_spacing>
+	  <column_spacing>5</column_spacing>
+
+	  <widget>
+	    <class>GtkHButtonBox</class>
+	    <name>hbuttonbox6</name>
+	    <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
+	    <spacing>5</spacing>
+	    <child_min_width>120</child_min_width>
+	    <child_min_height>27</child_min_height>
+	    <child_ipad_x>7</child_ipad_x>
+	    <child_ipad_y>0</child_ipad_y>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>1</top_attach>
+	      <bottom_attach>2</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>True</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>view_readme_progress_button</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_F1</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_view_readme_slot</handler>
-	      <last_modification_time>Wed, 15 Sep 1999 01:11:10 GMT</last_modification_time>
-	    </signal>
-	    <label>_View Readme</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>button18</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Return</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Escape</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_abort_slot</handler>
+		<last_modification_time>Wed, 06 Feb 2002 01:32:49 GMT</last_modification_time>
+	      </signal>
+	      <label>_Exit</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
 	  </widget>
-	</widget>
-      </widget>
-
-      <widget>
-	<class>GtkLabel</class>
-	<child_name>Notebook:tab</child_name>
-	<name>setup_install</name>
-	<label></label>
-	<justify>GTK_JUSTIFY_CENTER</justify>
-	<wrap>False</wrap>
-	<xalign>0.5</xalign>
-	<yalign>0.5</yalign>
-	<xpad>0</xpad>
-	<ypad>0</ypad>
-      </widget>
-
-      <widget>
-	<class>GtkTable</class>
-	<name>table15</name>
-	<rows>2</rows>
-	<columns>1</columns>
-	<homogeneous>False</homogeneous>
-	<row_spacing>5</row_spacing>
-	<column_spacing>5</column_spacing>
-
-	<widget>
-	  <class>GtkHButtonBox</class>
-	  <name>hbuttonbox5</name>
-	  <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
-	  <spacing>5</spacing>
-	  <child_min_width>60</child_min_width>
-	  <child_min_height>27</child_min_height>
-	  <child_ipad_x>7</child_ipad_x>
-	  <child_ipad_y>0</child_ipad_y>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>1</top_attach>
-	    <bottom_attach>2</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>True</xexpand>
-	    <yexpand>False</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
 
 	  <widget>
-	    <class>GtkButton</class>
-	    <name>button15</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Escape</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_exit_slot</handler>
-	      <last_modification_time>Tue, 14 Sep 1999 22:58:23 GMT</last_modification_time>
-	    </signal>
-	    <label>_Exit</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
-	  </widget>
+	    <class>GtkFrame</class>
+	    <name>frame15</name>
+	    <label>Install Aborted</label>
+	    <label_xalign>0</label_xalign>
+	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>0</top_attach>
+	      <bottom_attach>1</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>False</xexpand>
+	      <yexpand>True</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>view_readme_end_button</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_F1</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_view_readme_slot</handler>
-	      <last_modification_time>Wed, 15 Sep 1999 01:11:23 GMT</last_modification_time>
-	    </signal>
-	    <label>_View Readme</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
-	  </widget>
+	    <widget>
+	      <class>GtkVBox</class>
+	      <name>vbox16</name>
+	      <border_width>5</border_width>
+	      <homogeneous>False</homogeneous>
+	      <spacing>0</spacing>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>play_game_button</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Return</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_space</key>
-	      <signal>enter</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_play_slot</handler>
-	      <last_modification_time>Tue, 14 Sep 1999 22:35:17 GMT</last_modification_time>
-	    </signal>
-	    <label>_Start</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label48</name>
+		<label>This installation has been aborted.</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0.5</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
+
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label49</name>
+		<label>Press 'Exit' to clean up temporary files.</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0.5</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
+	    </widget>
 	  </widget>
 	</widget>
 
 	<widget>
-	  <class>GtkFrame</class>
-	  <name>frame14</name>
-	  <label>Install Complete</label>
-	  <label_xalign>0</label_xalign>
-	  <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>0</top_attach>
-	    <bottom_attach>1</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>True</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
-
-	  <widget>
-	    <class>GtkVBox</class>
-	    <name>vbox15</name>
-	    <border_width>5</border_width>
-	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label45</name>
-	      <label>Congratulations!</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
+	  <class>GtkLabel</class>
+	  <child_name>Notebook:tab</child_name>
+	  <name>setup_abort</name>
+	  <label></label>
+	  <justify>GTK_JUSTIFY_CENTER</justify>
+	  <wrap>False</wrap>
+	  <xalign>0.5</xalign>
+	  <yalign>0.5</yalign>
+	  <xpad>0</xpad>
+	  <ypad>0</ypad>
+	</widget>
 
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>setup_complete_label</name>
-	      <label>The installation was successfully completed!</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>True</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
+	<widget>
+	  <class>GtkTable</class>
+	  <name>table17</name>
+	  <rows>2</rows>
+	  <columns>1</columns>
+	  <homogeneous>False</homogeneous>
+	  <row_spacing>5</row_spacing>
+	  <column_spacing>5</column_spacing>
+
+	  <widget>
+	    <class>GtkHButtonBox</class>
+	    <name>hbuttonbox7</name>
+	    <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
+	    <spacing>5</spacing>
+	    <child_min_width>60</child_min_width>
+	    <child_min_height>27</child_min_height>
+	    <child_ipad_x>7</child_ipad_x>
+	    <child_ipad_y>0</child_ipad_y>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>1</top_attach>
+	      <bottom_attach>2</bottom_attach>
 	      <xpad>0</xpad>
 	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
+	      <xexpand>True</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
 	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label54</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
+	      <class>GtkButton</class>
+	      <name>button21</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Escape</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_warning_cancel_slot</handler>
+		<last_modification_time>Wed, 29 Sep 1999 21:51:04 GMT</last_modification_time>
+	      </signal>
+	      <label>Cancel</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
 	    </widget>
 
 	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label55</name>
-	      <label>The product was installed in:</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
+	      <class>GtkButton</class>
+	      <name>button22</name>
+	      <can_default>True</can_default>
+	      <has_default>True</has_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Return</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_warning_continue_slot</handler>
+		<last_modification_time>Wed, 29 Sep 1999 21:50:51 GMT</last_modification_time>
+	      </signal>
+	      <label>Continue</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
 	    </widget>
+	  </widget>
 
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>install_directory_label</name>
-	      <label>[install directory]</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
+	  <widget>
+	    <class>GtkFrame</class>
+	    <name>frame16</name>
+	    <label>Warning</label>
+	    <label_xalign>0</label_xalign>
+	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>0</top_attach>
+	      <bottom_attach>1</bottom_attach>
 	      <xpad>0</xpad>
 	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
+	      <xexpand>False</xexpand>
+	      <yexpand>True</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
 	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label57</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
+	      <class>GtkVBox</class>
+	      <name>vbox17</name>
+	      <border_width>5</border_width>
+	      <homogeneous>False</homogeneous>
+	      <spacing>0</spacing>
 
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>play_game_label</name>
-	      <label>Type '[game]' to start.</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>warning_label</name>
+		<label>[warning text]</label>
+		<justify>GTK_JUSTIFY_LEFT</justify>
+		<wrap>False</wrap>
+		<xalign>0</xalign>
+		<yalign>0.5</yalign>
+		<xpad>5</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
 	    </widget>
 	  </widget>
 	</widget>
-      </widget>
-
-      <widget>
-	<class>GtkLabel</class>
-	<child_name>Notebook:tab</child_name>
-	<name>setup_complete</name>
-	<label></label>
-	<justify>GTK_JUSTIFY_CENTER</justify>
-	<wrap>False</wrap>
-	<xalign>0.5</xalign>
-	<yalign>0.5</yalign>
-	<xpad>0</xpad>
-	<ypad>0</ypad>
-      </widget>
-
-      <widget>
-	<class>GtkTable</class>
-	<name>table16</name>
-	<rows>2</rows>
-	<columns>1</columns>
-	<homogeneous>False</homogeneous>
-	<row_spacing>5</row_spacing>
-	<column_spacing>5</column_spacing>
 
 	<widget>
-	  <class>GtkHButtonBox</class>
-	  <name>hbuttonbox6</name>
-	  <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
-	  <spacing>5</spacing>
-	  <child_min_width>120</child_min_width>
-	  <child_min_height>27</child_min_height>
-	  <child_ipad_x>7</child_ipad_x>
-	  <child_ipad_y>0</child_ipad_y>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>1</top_attach>
-	    <bottom_attach>2</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>True</xexpand>
-	    <yexpand>False</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
-
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>button18</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Return</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Escape</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_abort_slot</handler>
-	      <last_modification_time>Wed, 06 Feb 2002 01:32:49 GMT</last_modification_time>
-	    </signal>
-	    <label>_Exit</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
-	  </widget>
+	  <class>GtkLabel</class>
+	  <child_name>Notebook:tab</child_name>
+	  <name>setup_website</name>
+	  <label></label>
+	  <justify>GTK_JUSTIFY_CENTER</justify>
+	  <wrap>False</wrap>
+	  <xalign>0.5</xalign>
+	  <yalign>0.5</yalign>
+	  <xpad>0</xpad>
+	  <ypad>0</ypad>
 	</widget>
 
 	<widget>
-	  <class>GtkFrame</class>
-	  <name>frame15</name>
-	  <label>Install Aborted</label>
-	  <label_xalign>0</label_xalign>
-	  <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>0</top_attach>
-	    <bottom_attach>1</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>True</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
+	  <class>GtkTable</class>
+	  <name>table18</name>
+	  <rows>2</rows>
+	  <columns>1</columns>
+	  <homogeneous>False</homogeneous>
+	  <row_spacing>5</row_spacing>
+	  <column_spacing>5</column_spacing>
+
+	  <widget>
+	    <class>GtkHButtonBox</class>
+	    <name>hbuttonbox10</name>
+	    <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
+	    <spacing>5</spacing>
+	    <child_min_width>60</child_min_width>
+	    <child_min_height>27</child_min_height>
+	    <child_ipad_x>7</child_ipad_x>
+	    <child_ipad_y>0</child_ipad_y>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>1</top_attach>
+	      <bottom_attach>2</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>True</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
-	  <widget>
-	    <class>GtkVBox</class>
-	    <name>vbox16</name>
-	    <border_width>5</border_width>
-	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>button30</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Escape</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_exit_slot</handler>
+		<last_modification_time>Tue, 14 Sep 1999 22:58:23 GMT</last_modification_time>
+	      </signal>
+	      <label>_Exit</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
 
 	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label48</name>
-	      <label>This installation has been aborted.</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
+	      <class>GtkButton</class>
+	      <name>button31</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_F1</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_view_readme_slot</handler>
+		<last_modification_time>Wed, 15 Sep 1999 01:11:23 GMT</last_modification_time>
+	      </signal>
+	      <label>_View Readme</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
 	    </widget>
 
 	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label49</name>
-	      <label>Press 'Exit' to clean up temporary files.</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
+	      <class>GtkButton</class>
+	      <name>button32</name>
+	      <can_default>True</can_default>
+	      <has_default>True</has_default>
+	      <can_focus>True</can_focus>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_complete_slot</handler>
+		<last_modification_time>Sat, 11 Dec 1999 04:16:26 GMT</last_modification_time>
+	      </signal>
+	      <label>Continue</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
 	    </widget>
 	  </widget>
-	</widget>
-      </widget>
 
-      <widget>
-	<class>GtkLabel</class>
-	<child_name>Notebook:tab</child_name>
-	<name>setup_abort</name>
-	<label></label>
-	<justify>GTK_JUSTIFY_CENTER</justify>
-	<wrap>False</wrap>
-	<xalign>0.5</xalign>
-	<yalign>0.5</yalign>
-	<xpad>0</xpad>
-	<ypad>0</ypad>
-      </widget>
+	  <widget>
+	    <class>GtkFrame</class>
+	    <name>frame17</name>
+	    <label>Product Website</label>
+	    <label_xalign>0</label_xalign>
+	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>0</top_attach>
+	      <bottom_attach>1</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>False</xexpand>
+	      <yexpand>True</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
-      <widget>
-	<class>GtkTable</class>
-	<name>table17</name>
-	<rows>2</rows>
-	<columns>1</columns>
-	<homogeneous>False</homogeneous>
-	<row_spacing>5</row_spacing>
-	<column_spacing>5</column_spacing>
+	    <widget>
+	      <class>GtkVBox</class>
+	      <name>vbox20</name>
+	      <border_width>5</border_width>
+	      <homogeneous>False</homogeneous>
+	      <spacing>0</spacing>
 
-	<widget>
-	  <class>GtkHButtonBox</class>
-	  <name>hbuttonbox7</name>
-	  <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
-	  <spacing>5</spacing>
-	  <child_min_width>60</child_min_width>
-	  <child_min_height>27</child_min_height>
-	  <child_ipad_x>7</child_ipad_x>
-	  <child_ipad_y>0</child_ipad_y>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>1</top_attach>
-	    <bottom_attach>2</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>True</xexpand>
-	    <yexpand>False</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label60</name>
+		<label></label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0.5</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>button21</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Escape</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_warning_cancel_slot</handler>
-	      <last_modification_time>Wed, 29 Sep 1999 21:51:04 GMT</last_modification_time>
-	    </signal>
-	    <label>Cancel</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
-	  </widget>
+	      <widget>
+		<class>GtkHBox</class>
+		<name>hbox3</name>
+		<homogeneous>False</homogeneous>
+		<spacing>0</spacing>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>button22</name>
-	    <can_default>True</can_default>
-	    <has_default>True</has_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Return</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_warning_continue_slot</handler>
-	      <last_modification_time>Wed, 29 Sep 1999 21:50:51 GMT</last_modification_time>
-	    </signal>
-	    <label>Continue</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
-	  </widget>
-	</widget>
+		<widget>
+		  <class>GtkLabel</class>
+		  <name>label67</name>
+		  <label>Thank you for installing </label>
+		  <justify>GTK_JUSTIFY_CENTER</justify>
+		  <wrap>False</wrap>
+		  <xalign>0.5</xalign>
+		  <yalign>0.5</yalign>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <child>
+		    <padding>0</padding>
+		    <expand>False</expand>
+		    <fill>False</fill>
+		  </child>
+		</widget>
+
+		<widget>
+		  <class>GtkLabel</class>
+		  <name>website_product_label</name>
+		  <label>[product]</label>
+		  <justify>GTK_JUSTIFY_CENTER</justify>
+		  <wrap>False</wrap>
+		  <xalign>0.5</xalign>
+		  <yalign>0.5</yalign>
+		  <xpad>0</xpad>
+		  <ypad>0</ypad>
+		  <child>
+		    <padding>0</padding>
+		    <expand>False</expand>
+		    <fill>False</fill>
+		  </child>
+		</widget>
+	      </widget>
 
-	<widget>
-	  <class>GtkFrame</class>
-	  <name>frame16</name>
-	  <label>Warning</label>
-	  <label_xalign>0</label_xalign>
-	  <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>0</top_attach>
-	    <bottom_attach>1</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>True</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>website_text_label</name>
+		<label>Please visit our website for updates and support.</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
 
-	  <widget>
-	    <class>GtkVBox</class>
-	    <name>vbox17</name>
-	    <border_width>5</border_width>
-	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label63</name>
+		<label></label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
 
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>warning_label</name>
-	      <label>[warning text]</label>
-	      <justify>GTK_JUSTIFY_LEFT</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>5</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label65</name>
+		<label></label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0.5</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
+
+	      <widget>
+		<class>GtkLabel</class>
+		<name>auto_url_yes</name>
+		<label>Launching browser, please wait...</label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
+
+	      <widget>
+		<class>GtkHButtonBox</class>
+		<name>auto_url_no</name>
+		<layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
+		<spacing>30</spacing>
+		<child_min_width>85</child_min_width>
+		<child_min_height>27</child_min_height>
+		<child_ipad_x>7</child_ipad_x>
+		<child_ipad_y>0</child_ipad_y>
+		<child>
+		  <padding>0</padding>
+		  <expand>True</expand>
+		  <fill>True</fill>
+		</child>
+
+		<widget>
+		  <class>GtkButton</class>
+		  <name>button33</name>
+		  <can_default>True</can_default>
+		  <can_focus>True</can_focus>
+		  <signal>
+		    <name>clicked</name>
+		    <handler>setup_button_browser_slot</handler>
+		    <last_modification_time>Sat, 11 Dec 1999 04:35:32 GMT</last_modification_time>
+		  </signal>
+		  <label>Launch _Browser</label>
+		  <relief>GTK_RELIEF_NORMAL</relief>
+		</widget>
+	      </widget>
 	    </widget>
 	  </widget>
 	</widget>
-      </widget>
-
-      <widget>
-	<class>GtkLabel</class>
-	<child_name>Notebook:tab</child_name>
-	<name>setup_website</name>
-	<label></label>
-	<justify>GTK_JUSTIFY_CENTER</justify>
-	<wrap>False</wrap>
-	<xalign>0.5</xalign>
-	<yalign>0.5</yalign>
-	<xpad>0</xpad>
-	<ypad>0</ypad>
-      </widget>
-
-      <widget>
-	<class>GtkTable</class>
-	<name>table18</name>
-	<rows>2</rows>
-	<columns>1</columns>
-	<homogeneous>False</homogeneous>
-	<row_spacing>5</row_spacing>
-	<column_spacing>5</column_spacing>
 
 	<widget>
-	  <class>GtkHButtonBox</class>
-	  <name>hbuttonbox10</name>
-	  <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
-	  <spacing>5</spacing>
-	  <child_min_width>60</child_min_width>
-	  <child_min_height>27</child_min_height>
-	  <child_ipad_x>7</child_ipad_x>
-	  <child_ipad_y>0</child_ipad_y>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>1</top_attach>
-	    <bottom_attach>2</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>True</xexpand>
-	    <yexpand>False</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
+	  <class>GtkLabel</class>
+	  <child_name>Notebook:tab</child_name>
+	  <name>label87</name>
+	  <label></label>
+	  <justify>GTK_JUSTIFY_CENTER</justify>
+	  <wrap>False</wrap>
+	  <xalign>0.5</xalign>
+	  <yalign>0.5</yalign>
+	  <xpad>0</xpad>
+	  <ypad>0</ypad>
+	</widget>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>button30</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Escape</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_exit_slot</handler>
-	      <last_modification_time>Tue, 14 Sep 1999 22:58:23 GMT</last_modification_time>
-	    </signal>
-	    <label>_Exit</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
-	  </widget>
+	<widget>
+	  <class>GtkTable</class>
+	  <name>table19</name>
+	  <rows>2</rows>
+	  <columns>1</columns>
+	  <homogeneous>False</homogeneous>
+	  <row_spacing>5</row_spacing>
+	  <column_spacing>5</column_spacing>
+
+	  <widget>
+	    <class>GtkHButtonBox</class>
+	    <name>hbuttonbox11</name>
+	    <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
+	    <spacing>5</spacing>
+	    <child_min_width>60</child_min_width>
+	    <child_min_height>27</child_min_height>
+	    <child_ipad_x>7</child_ipad_x>
+	    <child_ipad_y>0</child_ipad_y>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>1</top_attach>
+	      <bottom_attach>2</bottom_attach>
+	      <xpad>0</xpad>
+	      <ypad>0</ypad>
+	      <xexpand>True</xexpand>
+	      <yexpand>False</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>button31</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_F1</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_view_readme_slot</handler>
-	      <last_modification_time>Wed, 15 Sep 1999 01:11:23 GMT</last_modification_time>
-	    </signal>
-	    <label>_View Readme</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
-	  </widget>
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>button34</name>
+	      <can_default>True</can_default>
+	      <can_focus>True</can_focus>
+	      <accelerator>
+		<modifiers>0</modifiers>
+		<key>GDK_Escape</key>
+		<signal>clicked</signal>
+	      </accelerator>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_cancel_slot</handler>
+		<last_modification_time>Tue, 14 Sep 1999 22:58:23 GMT</last_modification_time>
+	      </signal>
+	      <label>_Cancel</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>button32</name>
-	    <can_default>True</can_default>
-	    <has_default>True</has_default>
-	    <can_focus>True</can_focus>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_complete_slot</handler>
-	      <last_modification_time>Sat, 11 Dec 1999 04:16:26 GMT</last_modification_time>
-	    </signal>
-	    <label>Continue</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	    <widget>
+	      <class>GtkButton</class>
+	      <name>setup_button_cdkey_continue</name>
+	      <can_default>True</can_default>
+	      <has_default>True</has_default>
+	      <can_focus>True</can_focus>
+	      <signal>
+		<name>clicked</name>
+		<handler>setup_button_cdkey_continue_slot</handler>
+		<last_modification_time>Tue, 02 Mar 2004 00:21:13 GMT</last_modification_time>
+	      </signal>
+	      <label>Continue</label>
+	      <relief>GTK_RELIEF_NORMAL</relief>
+	    </widget>
 	  </widget>
-	</widget>
-
-	<widget>
-	  <class>GtkFrame</class>
-	  <name>frame17</name>
-	  <label>Product Website</label>
-	  <label_xalign>0</label_xalign>
-	  <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>0</top_attach>
-	    <bottom_attach>1</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>True</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
 
 	  <widget>
-	    <class>GtkVBox</class>
-	    <name>vbox20</name>
-	    <border_width>5</border_width>
-	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label60</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
+	    <class>GtkFrame</class>
+	    <name>frame18</name>
+	    <label>CD key</label>
+	    <label_xalign>0</label_xalign>
+	    <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+	    <child>
+	      <left_attach>0</left_attach>
+	      <right_attach>1</right_attach>
+	      <top_attach>0</top_attach>
+	      <bottom_attach>1</bottom_attach>
 	      <xpad>0</xpad>
 	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
+	      <xexpand>False</xexpand>
+	      <yexpand>True</yexpand>
+	      <xshrink>False</xshrink>
+	      <yshrink>False</yshrink>
+	      <xfill>True</xfill>
+	      <yfill>True</yfill>
+	    </child>
 
 	    <widget>
-	      <class>GtkHBox</class>
-	      <name>hbox3</name>
+	      <class>GtkVBox</class>
+	      <name>vbox21</name>
+	      <border_width>5</border_width>
 	      <homogeneous>False</homogeneous>
 	      <spacing>0</spacing>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
 
 	      <widget>
 		<class>GtkLabel</class>
-		<name>label67</name>
-		<label>Thank you for installing </label>
+		<name>label77</name>
+		<label></label>
 		<justify>GTK_JUSTIFY_CENTER</justify>
 		<wrap>False</wrap>
 		<xalign>0.5</xalign>
@@ -1806,11 +2091,11 @@
 
 	      <widget>
 		<class>GtkLabel</class>
-		<name>website_product_label</name>
-		<label>[product]</label>
+		<name>label84</name>
+		<label>Please enter your CD key.</label>
 		<justify>GTK_JUSTIFY_CENTER</justify>
 		<wrap>False</wrap>
-		<xalign>0.5</xalign>
+		<xalign>0</xalign>
 		<yalign>0.5</yalign>
 		<xpad>0</xpad>
 		<ypad>0</ypad>
@@ -1820,354 +2105,110 @@
 		  <fill>False</fill>
 		</child>
 	      </widget>
-	    </widget>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>website_text_label</name>
-	      <label>Please visit our website for updates and support.</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label63</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label65</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
 
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>auto_url_yes</name>
-	      <label>Launching browser, please wait...</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label85</name>
+		<label></label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
 
-	    <widget>
-	      <class>GtkHButtonBox</class>
-	      <name>auto_url_no</name>
-	      <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
-	      <spacing>30</spacing>
-	      <child_min_width>85</child_min_width>
-	      <child_min_height>27</child_min_height>
-	      <child_ipad_x>7</child_ipad_x>
-	      <child_ipad_y>0</child_ipad_y>
-	      <child>
-		<padding>0</padding>
-		<expand>True</expand>
-		<fill>True</fill>
-	      </child>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label81</name>
+		<label></label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
 
 	      <widget>
-		<class>GtkButton</class>
-		<name>button33</name>
-		<can_default>True</can_default>
+		<class>GtkEntry</class>
+		<name>setup_cdkey_entry</name>
 		<can_focus>True</can_focus>
 		<signal>
-		  <name>clicked</name>
-		  <handler>setup_button_browser_slot</handler>
-		  <last_modification_time>Sat, 11 Dec 1999 04:35:32 GMT</last_modification_time>
+		  <name>changed</name>
+		  <handler>setup_cdkey_entry_changed_slot</handler>
+		  <last_modification_time>Tue, 02 Mar 2004 00:48:04 GMT</last_modification_time>
 		</signal>
-		<label>Launch _Browser</label>
-		<relief>GTK_RELIEF_NORMAL</relief>
+		<editable>True</editable>
+		<text_visible>True</text_visible>
+		<text_max_length>0</text_max_length>
+		<text></text>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
 	      </widget>
-	    </widget>
-	  </widget>
-	</widget>
-      </widget>
-
-      <widget>
-	<class>GtkLabel</class>
-	<child_name>Notebook:tab</child_name>
-	<name>label87</name>
-	<label></label>
-	<justify>GTK_JUSTIFY_CENTER</justify>
-	<wrap>False</wrap>
-	<xalign>0.5</xalign>
-	<yalign>0.5</yalign>
-	<xpad>0</xpad>
-	<ypad>0</ypad>
-      </widget>
-
-      <widget>
-	<class>GtkTable</class>
-	<name>table19</name>
-	<rows>2</rows>
-	<columns>1</columns>
-	<homogeneous>False</homogeneous>
-	<row_spacing>5</row_spacing>
-	<column_spacing>5</column_spacing>
 
-	<widget>
-	  <class>GtkHButtonBox</class>
-	  <name>hbuttonbox11</name>
-	  <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
-	  <spacing>5</spacing>
-	  <child_min_width>60</child_min_width>
-	  <child_min_height>27</child_min_height>
-	  <child_ipad_x>7</child_ipad_x>
-	  <child_ipad_y>0</child_ipad_y>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>1</top_attach>
-	    <bottom_attach>2</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>True</xexpand>
-	    <yexpand>False</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
-
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>button34</name>
-	    <can_default>True</can_default>
-	    <can_focus>True</can_focus>
-	    <accelerator>
-	      <modifiers>0</modifiers>
-	      <key>GDK_Escape</key>
-	      <signal>clicked</signal>
-	    </accelerator>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_cancel_slot</handler>
-	      <last_modification_time>Tue, 14 Sep 1999 22:58:23 GMT</last_modification_time>
-	    </signal>
-	    <label>_Cancel</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
-	  </widget>
+	      <widget>
+		<class>GtkLabel</class>
+		<name>label83</name>
+		<label></label>
+		<justify>GTK_JUSTIFY_CENTER</justify>
+		<wrap>False</wrap>
+		<xalign>0</xalign>
+		<yalign>0.5</yalign>
+		<xpad>0</xpad>
+		<ypad>0</ypad>
+		<child>
+		  <padding>0</padding>
+		  <expand>False</expand>
+		  <fill>False</fill>
+		</child>
+	      </widget>
 
-	  <widget>
-	    <class>GtkButton</class>
-	    <name>setup_button_cdkey_continue</name>
-	    <can_default>True</can_default>
-	    <has_default>True</has_default>
-	    <can_focus>True</can_focus>
-	    <signal>
-	      <name>clicked</name>
-	      <handler>setup_button_cdkey_continue_slot</handler>
-	      <last_modification_time>Tue, 02 Mar 2004 00:21:13 GMT</last_modification_time>
-	    </signal>
-	    <label>Continue</label>
-	    <relief>GTK_RELIEF_NORMAL</relief>
+	      <widget>
+		<class>GtkHButtonBox</class>
+		<name>hbuttonbox12</name>
+		<layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
+		<spacing>30</spacing>
+		<child_min_width>85</child_min_width>
+		<child_min_height>27</child_min_height>
+		<child_ipad_x>7</child_ipad_x>
+		<child_ipad_y>0</child_ipad_y>
+		<child>
+		  <padding>0</padding>
+		  <expand>True</expand>
+		  <fill>True</fill>
+		</child>
+	      </widget>
+	    </widget>
 	  </widget>
 	</widget>
 
 	<widget>
-	  <class>GtkFrame</class>
-	  <name>frame18</name>
-	  <label>CD key</label>
-	  <label_xalign>0</label_xalign>
-	  <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-	  <child>
-	    <left_attach>0</left_attach>
-	    <right_attach>1</right_attach>
-	    <top_attach>0</top_attach>
-	    <bottom_attach>1</bottom_attach>
-	    <xpad>0</xpad>
-	    <ypad>0</ypad>
-	    <xexpand>False</xexpand>
-	    <yexpand>True</yexpand>
-	    <xshrink>False</xshrink>
-	    <yshrink>False</yshrink>
-	    <xfill>True</xfill>
-	    <yfill>True</yfill>
-	  </child>
-
-	  <widget>
-	    <class>GtkVBox</class>
-	    <name>vbox21</name>
-	    <border_width>5</border_width>
-	    <homogeneous>False</homogeneous>
-	    <spacing>0</spacing>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label77</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0.5</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label84</name>
-	      <label>Please enter your CD key.</label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label85</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label81</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
-
-	    <widget>
-	      <class>GtkEntry</class>
-	      <name>setup_cdkey_entry</name>
-	      <can_focus>True</can_focus>
-	      <signal>
-		<name>changed</name>
-		<handler>setup_cdkey_entry_changed_slot</handler>
-		<last_modification_time>Tue, 02 Mar 2004 00:48:04 GMT</last_modification_time>
-	      </signal>
-	      <editable>True</editable>
-	      <text_visible>True</text_visible>
-	      <text_max_length>0</text_max_length>
-	      <text></text>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
-
-	    <widget>
-	      <class>GtkLabel</class>
-	      <name>label83</name>
-	      <label></label>
-	      <justify>GTK_JUSTIFY_CENTER</justify>
-	      <wrap>False</wrap>
-	      <xalign>0</xalign>
-	      <yalign>0.5</yalign>
-	      <xpad>0</xpad>
-	      <ypad>0</ypad>
-	      <child>
-		<padding>0</padding>
-		<expand>False</expand>
-		<fill>False</fill>
-	      </child>
-	    </widget>
-
-	    <widget>
-	      <class>GtkHButtonBox</class>
-	      <name>hbuttonbox12</name>
-	      <layout_style>GTK_BUTTONBOX_DEFAULT_STYLE</layout_style>
-	      <spacing>30</spacing>
-	      <child_min_width>85</child_min_width>
-	      <child_min_height>27</child_min_height>
-	      <child_ipad_x>7</child_ipad_x>
-	      <child_ipad_y>0</child_ipad_y>
-	      <child>
-		<padding>0</padding>
-		<expand>True</expand>
-		<fill>True</fill>
-	      </child>
-	    </widget>
-	  </widget>
+	  <class>GtkLabel</class>
+	  <child_name>Notebook:tab</child_name>
+	  <name>setup_warning</name>
+	  <label></label>
+	  <justify>GTK_JUSTIFY_CENTER</justify>
+	  <wrap>False</wrap>
+	  <xalign>0.5</xalign>
+	  <yalign>0.5</yalign>
+	  <xpad>0</xpad>
+	  <ypad>0</ypad>
 	</widget>
       </widget>
-
-      <widget>
-	<class>GtkLabel</class>
-	<child_name>Notebook:tab</child_name>
-	<name>setup_warning</name>
-	<label></label>
-	<justify>GTK_JUSTIFY_CENTER</justify>
-	<wrap>False</wrap>
-	<xalign>0.5</xalign>
-	<yalign>0.5</yalign>
-	<xpad>0</xpad>
-	<ypad>0</ypad>
-      </widget>
     </widget>
   </widget>
 </widget>
-------------- next part --------------
Index: loki_setup/main.c
===================================================================
--- loki_setup.orig/main.c	2004-08-27 23:34:42.000000000 +0200
+++ loki_setup/main.c	2004-08-28 17:08:45.506619662 +0200
@@ -151,6 +151,21 @@
      argv0, SETUP_CONFIG);
 }
 
+static void init_locale()
+{
+	char locale[PATH_MAX] = "setup.data/" LOCALEDIR;
+
+	setlocale (LC_ALL, "");
+
+	if(getenv("SETUP_LOCALEDIR")) {
+		strncpy(locale, getenv("SETUP_LOCALEDIR"), sizeof(locale));
+		locale[sizeof(locale)-1]='\0';
+	}
+
+	bindtextdomain (PACKAGE, locale);
+	textdomain (PACKAGE);
+}
+
 /* The main installer code */
 int main(int argc, char **argv)
 {
@@ -180,10 +195,8 @@
     umask(DEFAULT_UMASK);
 
 	/* Set the locale */
-	setlocale (LC_ALL, "");
-	bindtextdomain (PACKAGE, "setup.data/" LOCALEDIR);
-	textdomain (PACKAGE);
-
+	init_locale();
+		
 	DetectLocale();
 
     /* Parse the command-line options */
Index: loki_setup/uninstall.c
===================================================================
--- loki_setup.orig/uninstall.c	2004-08-27 23:34:42.000000000 +0200
+++ loki_setup/uninstall.c	2004-08-28 17:09:27.530751166 +0200
@@ -297,25 +297,30 @@
 
 static void init_locale(const char *product)
 {
-    char locale[PATH_MAX];
+	char locale[PATH_MAX] = "";
 
 	setlocale (LC_ALL, "");
 
-	if ( product ) { /* Use the installation directory from the product */
+	if(getenv("SETUP_LOCALEDIR")) {
+		strncpy(locale, getenv("SETUP_LOCALEDIR"), sizeof(locale));
+		locale[sizeof(locale)-1]='\0';
+	}
+	else if ( product ) { /* Use the installation directory from the product */
         product_t *prod = loki_openproduct(product);
 		if ( prod ) {
 			product_info_t *info = loki_getinfo_product(prod);
 
 			snprintf(locale, sizeof(locale), "%s/" LOCALEDIR, info->root);
 			if ( access(locale, R_OK) < 0 ) { /* If not existing, revert to copy in the home directory */
-				snprintf(locale, sizeof(locale), "%s/" LOKI_DIRNAME "/installed/" LOCALEDIR, detect_home());
+				locale[0] = '\0';
 			}
-		} else {
-			snprintf(locale, sizeof(locale), "%s/" LOKI_DIRNAME "/installed/" LOCALEDIR, detect_home());
 		}
-	} else {
+	}
+
+	if(!locale[0]) {
 		snprintf(locale, sizeof(locale), "%s/" LOKI_DIRNAME "/installed/" LOCALEDIR, detect_home());
 	}
+
 	bindtextdomain (PACKAGE, locale);
 	textdomain (PACKAGE);
 }
-------------- next part --------------
Index: loki_setup/README.xml
===================================================================
--- loki_setup.orig/README.xml	2004-08-29 11:39:11.175146576 +0200
+++ loki_setup/README.xml	2004-08-29 11:39:11.241137853 +0200
@@ -189,6 +189,9 @@
 
  manpages   If set to "yes", then the user will be prompted for the install pages installation path.
             Should be used when using the MANPAGE element described below.
+ 
+ nopromptoverwrite  If set to 'yes' existing files will be overwritten without
+                    prompting the user. This was the default before setup 1.6.4
 
 The CDROM element:
 
Index: loki_setup/copy.c
===================================================================
--- loki_setup.orig/copy.c	2004-08-27 23:34:42.000000000 +0200
+++ loki_setup/copy.c	2004-08-29 11:39:11.242137721 +0200
@@ -305,11 +305,8 @@
 		if ( input == NULL ) {
 			goto copy_file_exit;
 		}
-		/* To avoid problem with busy binary files, remove them first if they exist */
-		if ( binary && file_exists(final) ) {
-			unlink(final);
-		}
-		output = file_open(info, final, (mut && *mut=='y') ? "wm" : "w");
+
+		output = file_open_install(info, final, (mut && *mut=='y') ? "wm" : "w");
 		if ( output == NULL ) {
 			file_close(info, input);
 			goto copy_file_exit;
@@ -898,7 +895,6 @@
 				if ( product ) {
 					if ( GetProductIsMeta(info) ) {
 						extern const char *argv0; // Set in main.c
-                        extern Install_UI UI;
                         if (UI.shutdown) UI.shutdown(info);
 						// We spawn a new setup for this product
 #if defined(darwin)
@@ -1260,3 +1256,4 @@
     return num_binaries;
 }
 
+
Index: loki_setup/file.c
===================================================================
--- loki_setup.orig/file.c	2004-08-27 23:34:42.000000000 +0200
+++ loki_setup/file.c	2004-08-29 11:39:11.243137589 +0200
@@ -18,6 +18,7 @@
 
 #include "file.h"
 #include "install_log.h"
+#include "install_ui.h"
 
 #ifdef HAVE_BZIP2_SUPPORT
 
@@ -128,6 +129,30 @@
 	return streamp;
 }
 
+static int prompt_overwrite = -1;
+
+stream *file_open_install(install_info *info, const char *path, const char *mode)
+{
+	if ( file_exists(path) ) {
+		if( prompt_overwrite == -1 ) {
+			prompt_overwrite = GetProductPromptOverwrite(info);
+		}
+
+		if ( prompt_overwrite ) {
+			char msg[128];
+			snprintf(msg, sizeof(msg), _("File '%25s' already exists, overwrite?"), path);
+			if ( UI.prompt(msg, RESPONSE_YES) != RESPONSE_YES ) {
+				return NULL;
+			}
+		}
+		log_warning(_("File exists: '%s'"), path);
+
+		/* To avoid problem with busy binary files, remove them first if they exist */
+		unlink(path);
+	}
+	return file_open(info, path, mode);
+}
+
 stream *file_open(install_info *info, const char *path, const char *mode)
 {
     stream *streamp;
Index: loki_setup/file.h
===================================================================
--- loki_setup.orig/file.h	2004-03-08 22:43:10.000000000 +0100
+++ loki_setup/file.h	2004-08-29 11:39:11.243137589 +0200
@@ -33,6 +33,8 @@
 } stream;
 
 extern void file_init(void);
+/** wrapper for file_open to prompt user whether to overwrite. Also unlinks file first */
+extern stream *file_open_install(install_info *info, const char *path, const char *mode);
 extern stream *file_open(install_info *info,const char *path,const char *mode);
 extern stream *file_fdopen(install_info *info, const char *path, FILE *fd, gzFile zfd, BZFILE *bzfd, const char *mode);
 extern int file_read(install_info *info, void *buf, int len, stream *streamp);
Index: loki_setup/install.c
===================================================================
--- loki_setup.orig/install.c	2004-08-29 11:39:11.120153845 +0200
+++ loki_setup/install.c	2004-08-29 11:39:11.245137324 +0200
@@ -297,6 +297,7 @@
     if ( str && !strcasecmp(str, "top") ) {
         ret = 0; /* Top */
     }
+	xmlFree(str);
     return ret;
 }
 
@@ -305,6 +306,26 @@
     return xmlGetProp(info->config->root, "cdkey");
 }
 
+int GetProductPromptOverwrite(install_info *info)
+{
+	int ret = 1; /* yes */
+	int needfree = 0;
+    char *str = NULL;
+	if(getenv("SETUP_NOPROMPTOVERWRITE")) {
+		str = getenv("SETUP_NOPROMPTOVERWRITE");
+	}
+	else {
+		str = xmlGetProp(info->config->root, "nopromptoverwrite");
+		needfree = 1;
+	}
+    if ( str && (!strcasecmp(str, "yes") || !strcasecmp(str, "true"))) {
+        ret = 0; /* no */
+    }
+	if(needfree)
+		xmlFree(str);
+    return ret;
+}
+
 /* returns true if any deviant paths are not writable */
 char check_deviant_paths(xmlNodePtr node, install_info *info)
 {
Index: loki_setup/install.h
===================================================================
--- loki_setup.orig/install.h	2004-08-27 23:34:42.000000000 +0200
+++ loki_setup/install.h	2004-08-29 11:39:11.246137192 +0200
@@ -264,6 +264,8 @@
 extern int         GetProductHasManPages(install_info *info);
 extern const char *GetProductCDKey(install_info *info);
 extern const char *GetProductPostInstallMsg(install_info *info);
+/** whether the user should be prompted when files already exist */
+extern int GetProductPromptOverwrite(install_info *info);
 
 extern const char *IsReadyToInstall(install_info *info);
 extern int         CheckRequirements(install_info *info);
Index: loki_setup/install_ui.h
===================================================================
--- loki_setup.orig/install_ui.h	2003-03-29 12:46:22.000000000 +0100
+++ loki_setup/install_ui.h	2004-08-29 11:39:11.247137060 +0200
@@ -33,6 +33,8 @@
     int is_gui; /* Whether an X11 server is available for that UI driver */
 } Install_UI;
 
+extern Install_UI UI;
+
 extern int console_okay(Install_UI *UI, int *argc, char ***argv);
 extern int gtkui_okay(Install_UI *UI, int *argc, char ***argv);
 extern int dialog_okay(Install_UI *UI, int *argc, char ***argv);
Index: loki_setup/plugins/cpio.c
===================================================================
--- loki_setup.orig/plugins/cpio.c	2002-12-07 01:57:32.000000000 +0100
+++ loki_setup/plugins/cpio.c	2004-08-29 11:52:12.285740203 +0200
@@ -149,7 +149,7 @@
 			} else {
 				unsigned long chk = 0;
 				/* Open the file for output */
-				output = file_open(info, file_hdr.c_name, (mut && *mut=='y') ? "wm" : "wb"); /* FIXME: Mmh, is the path expanded??? */
+				output = file_open_install(info, file_hdr.c_name, (mut && *mut=='y') ? "wm" : "wb"); /* FIXME: Mmh, is the path expanded??? */
 				if(output){
 					left = file_hdr.c_filesize;
 					while(left && (nread=file_read(info, buf, (left >= BUFSIZ) ? BUFSIZ : left, input))){
Index: loki_setup/plugins/tar.c
===================================================================
--- loki_setup.orig/plugins/tar.c	2004-03-10 00:30:55.000000000 +0100
+++ loki_setup/plugins/tar.c	2004-08-29 11:52:24.075882334 +0200
@@ -88,7 +88,7 @@
 					file_skip(info, left, input);
 				} else {
 					this_size = 0;
-					output = file_open(info, final, (mut && *mut=='y') ? "wm" : "wb");
+					output = file_open_install(info, final, (mut && *mut=='y') ? "wm" : "wb");
 					if ( output ) {
 						while ( blocks-- > 0 ) {
 							if ( file_read(info, &record, (sizeof record), input)
Index: loki_setup/plugins/uz2.c
===================================================================
--- loki_setup.orig/plugins/uz2.c	2004-03-04 21:16:22.000000000 +0100
+++ loki_setup/plugins/uz2.c	2004-08-29 11:52:33.405418850 +0200
@@ -137,7 +137,7 @@
     if ((in = file_open(info, path, "rb")) == NULL)
         return 0;
 
-    if ((out = file_open(info, final, (mut && *mut=='y') ? "wm" : "wb"))==NULL)
+    if ((out = file_open_install(info, final, (mut && *mut=='y') ? "wm" : "wb"))==NULL)
     {
         file_close(info, in);
         return 0;
Index: loki_setup/plugins/zip.c
===================================================================
--- loki_setup.orig/plugins/zip.c	2004-02-28 20:03:42.000000000 +0100
+++ loki_setup/plugins/zip.c	2004-08-29 11:52:40.543302974 +0200
@@ -737,7 +737,7 @@
 
         if (!symlnk)
         {
-            out = file_open(info, final, (mut && *mut=='y') ? "wm" : "wb");
+            out = file_open_install(info, final, (mut && *mut=='y') ? "wm" : "wb");
             if (!out)
             {
                 log_debug("ZIP: failed to open [%s] for write.", final);
-------------- next part --------------
Index: loki_setup/gtk_ui.c
===================================================================
--- loki_setup.orig/gtk_ui.c	2004-08-29 11:54:06.000000000 +0200
+++ loki_setup/gtk_ui.c	2004-08-29 13:20:28.632717147 +0200
@@ -1768,6 +1768,8 @@
     const char *text;
     char *install_path;
     gfloat new_update;
+    static GTimeVal ltv = { 0, 0 };
+    GTimeVal tv;
 
     if ( cur_state == SETUP_ABORT ) {
 		return FALSE;
@@ -1778,6 +1780,21 @@
     } else { /* "Running script" */
         new_update = 1.0;
     }
+
+    g_get_current_time(&tv);
+
+    if( (int)(new_update*100) != 100) {
+		if(tv.tv_sec == ltv.tv_sec
+				&& tv.tv_usec - ltv.tv_usec < 50000) { /* 50ms */
+			return TRUE;
+		}
+		else if(tv.tv_sec == ltv.tv_sec+1
+				&& tv.tv_usec + (1000000-ltv.tv_usec) < 50000) { /* 50ms */
+			return TRUE;
+		}
+    }
+	ltv = tv;
+
     if ( ( (int)(new_update*100) != (int)(last_update*100) ) || ( last_installed_bytes !=  (gdouble)info->installed_bytes ) ) {
         if ( new_update == 1.0 ) {
             last_update = 0.0;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://icculus.org/pipermail/lokisetup/attachments/20040829/6e177c68/attachment.pgp>


More information about the Lokisetup mailing list