[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [et-mgmt-tools] [PATCH] First-cut at livecd support in virt-manager



Hey,
	Attached is an untested version of the second patch which applies to
latest virt-manager.

Cheers,
Mark.
--- virt-manager--devel/src/virtManager/create.py.livecd	2007-05-03 21:26:50.000000000 +0100
+++ virt-manager--devel/src/virtManager/create.py	2007-05-03 21:31:45.000000000 +0100
@@ -39,6 +39,10 @@
 
 VM_PARA_VIRT = 1
 VM_FULLY_VIRT = 2
+VM_LIVECD = 3
+
+VM_DISTRO_INSTALLER = 1
+VM_LIVECD_INSTALLER = 2
 
 VM_INSTALL_FROM_ISO = 1
 VM_INSTALL_FROM_CD = 2
@@ -53,10 +57,11 @@
 PAGE_TYPE = 2
 PAGE_FVINST = 3
 PAGE_PVINST = 4
-PAGE_DISK = 5
-PAGE_NETWORK = 6
-PAGE_CPUMEM = 7
-PAGE_SUMMARY = 8
+PAGE_LIVECD = 5
+PAGE_DISK = 6
+PAGE_NETWORK = 7
+PAGE_CPUMEM = 8
+PAGE_SUMMARY = 9
 
 KEYBOARD_DIR = "/etc/sysconfig/keyboard"
 
@@ -86,6 +91,7 @@
             "on_create_forward_clicked" : self.forward,
             "on_create_finish_clicked" : self.finish,
             "on_fv_iso_location_browse_clicked" : self.browse_iso_location,
+            "on_livecd_location_browse_clicked" : self.browse_livecd_location,
             "on_create_memory_max_value_changed": self.set_max_memory,
             "on_storage_partition_address_browse_clicked" : self.browse_storage_partition_address,
             "on_storage_file_address_browse_clicked" : self.browse_storage_file_address,
@@ -94,6 +100,7 @@
             "on_network_toggled" : self.change_network_type,
             "on_media_toggled" : self.change_media_type,
             "on_os_type_changed" : self.change_os_type,
+            "on_livecd_os_type_changed" : self.change_livecd_os_type,
             "on_cpu_architecture_changed": self.change_cpu_arch,
             "on_virt_method_toggled": self.change_virt_method,
             "on_create_help_clicked": self.show_help,
@@ -118,11 +125,20 @@
             self.window.get_widget(name).modify_bg(gtk.STATE_NORMAL,black)
 
         self.populate_cd_list(self.window.get_widget("cd-path"))
+        self.populate_cd_list(self.window.get_widget("livecd-path"))
 
         if os.getuid() != 0:
             self.window.get_widget("media-physical").set_sensitive(False)
             self.window.get_widget("storage-partition").set_sensitive(False)
 
+        # set up the install method combo
+        inst_method_list = self.window.get_widget("inst-method")
+        inst_method_model = gtk.ListStore(str, int)
+        inst_method_list.set_model(inst_method_model)
+        text = gtk.CellRendererText()
+        inst_method_list.pack_start(text, True)
+        inst_method_list.add_attribute(text, 'text', 0)
+
         # set up the lists for the url widgets
         media_url_list = self.window.get_widget("pv-media-url")
         media_url_model = gtk.ListStore(str)
@@ -134,13 +150,14 @@
         ks_url_list.set_model(ks_url_model)
         ks_url_list.set_text_column(0)
 
-        # set up the lists for the networks
-        network_list = self.window.get_widget("net-network")
-        network_model = gtk.ListStore(str, str)
-        network_list.set_model(network_model)
-        text = gtk.CellRendererText()
-        network_list.pack_start(text, True)
-        network_list.add_attribute(text, 'text', 1)
+        # set up the lists for the network and os-type/os-variant widgets
+        for name in [ "os-type", "livecd-os-type", "os-variant", "livecd-os-variant", "net-network" ]:
+            combo = self.window.get_widget(name)
+            model = gtk.ListStore(str, str)
+            combo.set_model(model)
+            text = gtk.CellRendererText()
+            combo.pack_start(text, True)
+            combo.add_attribute(text, 'text', 1)
 
         device_list = self.window.get_widget("net-device")
         device_model = gtk.ListStore(str)
@@ -149,21 +166,6 @@
         device_list.pack_start(text, True)
         device_list.add_attribute(text, 'text', 0)
 
-        # set up the lists for the os-type/os-variant widgets
-        os_type_list = self.window.get_widget("os-type")
-        os_type_model = gtk.ListStore(str, str)
-        os_type_list.set_model(os_type_model)
-        text = gtk.CellRendererText()
-        os_type_list.pack_start(text, True)
-        os_type_list.add_attribute(text, 'text', 1)
-
-        os_variant_list = self.window.get_widget("os-variant")
-        os_variant_model = gtk.ListStore(str, str)
-        os_variant_list.set_model(os_variant_model)
-        text = gtk.CellRendererText()
-        os_variant_list.pack_start(text, True)
-        os_variant_list.add_attribute(text, 'text', 1)
-
         self.window.get_widget("create-cpus-physical").set_text(str(self.connection.host_maximum_processor_count()))
         memory = int(self.connection.host_memory_size())
         self.window.get_widget("create-host-memory").set_text(self.pretty_memory(memory))
@@ -220,6 +222,7 @@
         self.window.get_widget("create-vm-name").set_text("")
         self.window.get_widget("media-iso-image").set_active(True)
         self.window.get_widget("fv-iso-location").set_text("")
+        self.window.get_widget("no-storage").hide()
         if os.getuid() == 0:
             self.window.get_widget("storage-partition").set_active(True)
         else:
@@ -231,14 +234,17 @@
         self.window.get_widget("create-memory-startup").set_value(500)
         self.window.get_widget("create-vcpus").set_value(1)
         self.window.get_widget("non-sparse").set_active(True)
+        self.populate_inst_method(self.window.get_widget("inst-method"))
         model = self.window.get_widget("pv-media-url").get_model()
         self.populate_url_model(model, self.config.get_media_urls())
         model = self.window.get_widget("pv-ks-url").get_model()
         self.populate_url_model(model, self.config.get_kickstart_urls())
 
         # Fill list of OS types
-        self.populate_os_type_model()
+        self.populate_os_type_model(self.window.get_widget("os-type").get_model())
         self.window.get_widget("os-type").set_active(0)
+        self.populate_os_type_model(self.window.get_widget("livecd-os-type").get_model())
+        self.window.get_widget("livecd-os-type").set_active(-1)
 
         net_box = self.window.get_widget("net-network")
         self.populate_network_model(net_box.get_model())
@@ -256,9 +262,14 @@
         if(self.validate(notebook.get_current_page()) != True):
             return
 
-        if (notebook.get_current_page() == PAGE_TYPE and self.get_config_method() == VM_PARA_VIRT):
-            notebook.set_current_page(PAGE_PVINST)
-        elif (notebook.get_current_page() == PAGE_FVINST and self.get_config_method() == VM_FULLY_VIRT):
+        if notebook.get_current_page() == PAGE_TYPE:
+            if self.get_config_method() == VM_PARA_VIRT:
+                notebook.set_current_page(PAGE_PVINST)
+            elif self.get_config_method() == VM_LIVECD:
+                notebook.set_current_page(PAGE_LIVECD)
+            else:
+                notebook.next_page()
+        elif notebook.get_current_page() == PAGE_FVINST or notebook.get_current_page() == PAGE_PVINST:
             notebook.set_current_page(PAGE_DISK)
         elif (notebook.get_current_page() == PAGE_DISK and os.getuid() != 0):
             notebook.set_current_page(PAGE_CPUMEM)
@@ -270,10 +281,15 @@
         # do this always, since there's no "leaving a notebook page" event.
         self.window.get_widget("create-finish").hide()
         self.window.get_widget("create-forward").show()
-        if notebook.get_current_page() == PAGE_PVINST and self.get_config_method() == VM_PARA_VIRT:
+        if notebook.get_current_page() == PAGE_PVINST or notebook.get_current_page() == PAGE_LIVECD:
             notebook.set_current_page(PAGE_TYPE)
-        elif notebook.get_current_page() == PAGE_DISK and self.get_config_method() == VM_FULLY_VIRT:
-            notebook.set_current_page(PAGE_FVINST)
+        elif notebook.get_current_page() == PAGE_DISK:
+            if self.get_config_method() == VM_PARA_VIRT:
+                notebook.set_current_page(PAGE_PVINST)
+            elif self.get_config_method() == VM_FULLY_VIRT:
+                notebook.set_current_page(PAGE_FVINST)
+            else:
+                notebook.prev_page()
         elif notebook.get_current_page() == PAGE_CPUMEM and os.getuid() != 0:
             notebook.set_current_page(PAGE_DISK)
         else:
@@ -283,7 +299,9 @@
         return self.window.get_widget("create-vm-name").get_text()
 
     def get_config_method(self):
-        if self.window.get_widget("virt-method-pv").get_active():
+        if self.window.get_widget("inst-method").get_active() == 1:
+            return VM_LIVECD
+        elif self.window.get_widget("virt-method-pv").get_active():
             return VM_PARA_VIRT
         elif self.window.get_widget("virt-method-fv").get_active():
             return VM_FULLY_VIRT
@@ -298,13 +316,20 @@
             self.config.add_media_url(url)
             self.populate_url_model(widget.get_model(), self.config.get_media_urls())
             return url
-        else:
+        elif self.get_config_method() == VM_FULLY_VIRT:
             if self.window.get_widget("media-iso-image").get_active():
                 return self.window.get_widget("fv-iso-location").get_text()
             else:
                 cd = self.window.get_widget("cd-path")
                 model = cd.get_model()
                 return model.get_value(cd.get_active_iter(), 0)
+        else:
+            if self.window.get_widget("livecd-iso-image").get_active():
+                return self.window.get_widget("livecd-iso-location").get_text()
+            else:
+                cd = self.window.get_widget("livecd-path")
+                model = cd.get_model()
+                return model.get_value(cd.get_active_iter(), 0)
 
     def get_config_kickstart_source(self):
         if self.get_config_method() == VM_PARA_VIRT:
@@ -317,13 +342,16 @@
             return ""
 
     def get_config_disk_image(self):
-        if self.window.get_widget("storage-partition").get_active():
+        if self.window.get_widget("no-storage").get_active():
+            return None
+        elif self.window.get_widget("storage-partition").get_active():
             return self.window.get_widget("storage-partition-address").get_text()
         else:
             return self.window.get_widget("storage-file-address").get_text()
 
     def get_config_disk_size(self):
-        if self.window.get_widget("storage-partition").get_active():
+        if self.window.get_widget("no-storage").get_active() or \
+           self.window.get_widget("storage-partition").get_active():
             return None
         else:
             return self.window.get_widget("storage-file-size").get_value()
@@ -387,6 +415,10 @@
         elif page_number == PAGE_PVINST:
             url_widget = self.window.get_widget("pv-media-url")
             url_widget.grab_focus()
+        elif page_number == PAGE_LIVECD:
+            radio = self.window.get_widget("no-storage")
+            radio.show()
+            radio.set_active(True)
         elif page_number == PAGE_DISK:
             partwidget = self.window.get_widget("storage-partition-address")
             filewidget = self.window.get_widget("storage-file-address")
@@ -407,7 +439,9 @@
                 self.window.get_widget("summary-os").show()
             self.window.get_widget("summary-install-source").set_text(self.get_config_install_source())
             self.window.get_widget("summary-kickstart-source").set_text(self.get_config_kickstart_source())
-            self.window.get_widget("summary-disk-image").set_text(self.get_config_disk_image())
+            diskimage = self.get_config_disk_image()
+            if diskimage != None:
+                self.window.get_widget("summary-disk-image").set_text(self.get_config_disk_image())
             disksize = self.get_config_disk_size()
             if disksize != None:
                 self.window.get_widget("summary-disk-size").set_text(str(int(disksize)) + " MB")
@@ -442,10 +476,15 @@
 
     def finish(self, ignore=None):
         # first things first, are we trying to create a fully virt guest?
-        if self.get_config_method() == VM_FULLY_VIRT:
+        if self.get_config_method() == VM_FULLY_VIRT or \
+           self.get_config_method() == VM_LIVECD:
+            installer = None
+            if self.get_config_method() == VM_LIVECD:
+                installer = virtinst.LiveCDInstaller(type=self.get_domain_type())
             guest = virtinst.FullVirtGuest(type=self.get_domain_type(), \
                                            hypervisorURI=self.connection.get_uri(), \
-                                           arch=self.get_domain_arch())
+                                           arch=self.get_domain_arch(),
+                                           installer=installer)
             try:
                 guest.cdrom = self.get_config_install_source()
             except ValueError, e:
@@ -499,23 +538,25 @@
 
         # disks
         filesize = None
-        if self.get_config_disk_size() != None:
-            filesize = self.get_config_disk_size() / 1024.0
-        try:
-            d = virtinst.VirtualDisk(self.get_config_disk_image(), filesize, sparse = self.is_sparse_file())
-            if d.type == virtinst.VirtualDisk.TYPE_FILE and \
-                   self.get_config_method() == VM_PARA_VIRT \
-                   and virtinst.util.is_blktap_capable():
-                d.driver_name = virtinst.VirtualDisk.DRIVER_TAP
-            if d.type == virtinst.VirtualDisk.TYPE_FILE and not \
-               self.is_sparse_file():
-                self.non_sparse = True
-            else:
-                self.non_sparse = False
-        except ValueError, e:
-            self._validation_error_box(_("Invalid storage address"), e.args[0])
-            return
-        guest.disks.append(d)
+        self.non_sparse = False
+        if not self.get_config_disk_image() is None:
+            if self.get_config_disk_size() != None:
+                filesize = self.get_config_disk_size() / 1024.0
+            try:
+                d = virtinst.VirtualDisk(self.get_config_disk_image(), filesize, sparse = self.is_sparse_file())
+                if d.type == virtinst.VirtualDisk.TYPE_FILE and \
+                   self.get_config_method() == VM_PARA_VIRT and \
+                   virtinst.util.is_blktap_capable():
+                    d.driver_name = virtinst.VirtualDisk.DRIVER_TAP
+                if d.type == virtinst.VirtualDisk.TYPE_FILE and \
+                   not self.is_sparse_file():
+                    self.non_sparse = True
+                else:
+                    self.non_sparse = False
+            except ValueError, e:
+                self._validation_error_box(_("Invalid storage address"), e.args[0])
+                return
+            guest.disks.append(d)
 
         # uuid
         guest.uuid = virtinst.util.uuidToString(virtinst.util.randomUUID())
@@ -639,6 +680,11 @@
         if file != None:
             self.window.get_widget("fv-iso-location").set_text(file)
 
+    def browse_livecd_location(self, ignore1=None, ignore2=None):
+        file = self._browse_file(_("Locate LiveCD Image"), type="iso")
+        if file != None:
+            self.window.get_widget("livecd-iso-location").set_text(file)
+
     def _browse_file(self, dialog_name, folder=None, type=None):
         # user wants to browse for an ISO
         fcdialog = gtk.FileChooserDialog(dialog_name,
@@ -718,7 +764,12 @@
             self.window.get_widget("cd-path").set_active(-1)
 
     def change_storage_type(self, ignore=None):
-        if self.window.get_widget("storage-partition").get_active():
+        if self.window.get_widget("no-storage").get_active():
+            self.window.get_widget("storage-partition-box").set_sensitive(False)
+            self.window.get_widget("storage-file-box").set_sensitive(False)
+            self.window.get_widget("storage-file-size").set_sensitive(False)
+            self.window.get_widget("non-sparse").set_sensitive(False)
+        elif self.window.get_widget("storage-partition").get_active():
             self.window.get_widget("storage-partition-box").set_sensitive(True)
             self.window.get_widget("storage-file-box").set_sensitive(False)
             self.window.get_widget("storage-file-size").set_sensitive(False)
@@ -785,10 +836,31 @@
                 self._validation_error_box(_("URL Required"), \
                                            _("You must specify a URL for the install image for the guest install"))
                 return False
+        elif page_num == PAGE_LIVECD:
+            if self.window.get_widget("livecd-iso-image").get_active():
+                src = self.get_config_install_source()
+                if src == None or len(src) == 0:
+                    self._validation_error_box(_("LiveCD Path Required"), \
+                                               _("You must specify an LiveCD ISO location for the guest"))
+                    return False
+                elif not(os.path.exists(src)):
+                    self._validation_error_box(_("LiveCD Path Not Found"), \
+                                               _("You must specify a valid path to the LiveCD ISO image for the guest"))
+                    return False
+            else:
+                cdlist = self.window.get_widget("livecd-path")
+                if cdlist.get_active() == -1:
+                    self._validation_error_box(_("LiveCD media required"), \
+                                               _("You must select the LiveCD media for the guest"))
+                    return False
 
         elif page_num == PAGE_DISK:
             disk = self.get_config_disk_image()
-            if disk == None or len(disk) == 0:
+            if disk is None:
+                self.window.get_widget("create-back").set_sensitive(True)
+                return True
+
+            if not disk:
                 self._validation_error_box(_("Storage Address Required"), \
                                            _("You must specify a partition or a file for storage for the guest install"))
                 return False
@@ -940,13 +1012,19 @@
                     cdlist.set_active(-1)
             idx = idx + 1
 
+    def populate_inst_method(self, inst_method):
+        model = inst_method.get_model()
+        model.clear()
+        model.append([_("Distro Installer"), VM_DISTRO_INSTALLER])
+        model.append([_("LiveCD"),           VM_LIVECD_INSTALLER])
+        inst_method.set_active(0)
+
     def populate_url_model(self, model, urls):
         model.clear()
         for url in urls:
             model.append([url])
 
-    def populate_os_type_model(self):
-        model = self.window.get_widget("os-type").get_model()
+    def populate_os_type_model(self, model):
         model.clear()
         model.append(["generic", "Generic"])
         types = virtinst.FullVirtGuest.list_os_types()
@@ -954,8 +1032,7 @@
         for type in types:
             model.append([type, virtinst.FullVirtGuest.get_os_type_label(type)])
 
-    def populate_os_variant_model(self, type):
-        model = self.window.get_widget("os-variant").get_model()
+    def populate_os_variant_model(self, type, model):
         model.clear()
         if type=="generic":
             model.append(["generic", "Generic"])
@@ -980,11 +1057,19 @@
 
     def change_os_type(self, box):
         model = box.get_model()
+        variant = self.window.get_widget("os-variant")
         if box.get_active_iter() != None:
             type = model.get_value(box.get_active_iter(), 0)
-            self.populate_os_variant_model(type)
-        variant = self.window.get_widget("os-variant")
-        variant.set_active(0)
+            self.populate_os_variant_model(type, variant.get_model())
+        variant.set_active(-1)
+
+    def change_livecd_os_type(self, box):
+        model = box.get_model()
+        variant = self.window.get_widget("livecd-os-variant")
+        if box.get_active_iter() != None:
+            type = model.get_value(box.get_active_iter(), 0)
+            self.populate_os_variant_model(type, variant.get_model())
+        variant.set_active(-1)
 
     def change_virt_method(self, ignore=None):
         arch = self.window.get_widget("cpu-architecture")
--- virt-manager--devel/src/vmm-create.glade.livecd	2007-05-03 18:57:54.000000000 +0100
+++ virt-manager--devel/src/vmm-create.glade	2007-05-03 21:27:07.000000000 +0100
@@ -1226,6 +1226,97 @@
 		      <property name="fill">True</property>
 		    </packing>
 		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label395">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">You will also need to choose an installation method for your new system:</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">True</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">20</property>
+		      <property name="ypad">10</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkAlignment" id="alignment154">
+		      <property name="visible">True</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">1</property>
+		      <property name="yscale">1</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">25</property>
+		      <property name="right_padding">0</property>
+
+		      <child>
+			<widget class="GtkHBox" id="hbox66">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">0</property>
+
+			  <child>
+			    <widget class="GtkLabel" id="label396">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">_Installation method:</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">5</property>
+			      <property name="ypad">0</property>
+			      <property name="mnemonic_widget">inst-method</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkComboBox" id="inst-method">
+			      <property name="visible">True</property>
+			      <property name="add_tearoffs">False</property>
+			      <property name="focus_on_click">True</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
 		</widget>
 		<packing>
 		  <property name="padding">0</property>
@@ -2290,35 +2381,49 @@
 	  </child>
 
 	  <child>
-	    <widget class="GtkVBox" id="vbox34">
+	    <widget class="GtkVBox" id="vbox54">
 	      <property name="border_width">1</property>
 	      <property name="visible">True</property>
 	      <property name="homogeneous">False</property>
 	      <property name="spacing">0</property>
 
 	      <child>
-		<widget class="GtkEventBox" id="page5-title">
+		<widget class="GtkAlignment" id="alignment148">
 		  <property name="visible">True</property>
-		  <property name="visible_window">True</property>
-		  <property name="above_child">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">1</property>
+		  <property name="yscale">1</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">0</property>
+		  <property name="right_padding">0</property>
 
 		  <child>
-		    <widget class="GtkLabel" id="label216">
+		    <widget class="GtkEventBox" id="page5-title">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;span weight=&quot;heavy&quot; size=&quot;xx-large&quot; foreground=&quot;#FFF&quot;&gt;Assigning storage space&lt;/span&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_FILL</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0</property>
-		      <property name="xpad">5</property>
-		      <property name="ypad">6</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
+		      <property name="visible_window">True</property>
+		      <property name="above_child">False</property>
+
+		      <child>
+			<widget class="GtkLabel" id="label386">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;span weight=&quot;heavy&quot; size=&quot;xx-large&quot; foreground=&quot;#FFF&quot;&gt;Locating LiveCD&lt;/span&gt;</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">True</property>
+			  <property name="justify">GTK_JUSTIFY_FILL</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0</property>
+			  <property name="xpad">5</property>
+			  <property name="ypad">6</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+		      </child>
 		    </widget>
 		  </child>
 		</widget>
@@ -2330,15 +2435,15 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkVBox" id="vbox35">
+		<widget class="GtkVBox" id="vbox55">
 		  <property name="visible">True</property>
 		  <property name="homogeneous">False</property>
 		  <property name="spacing">0</property>
 
 		  <child>
-		    <widget class="GtkLabel" id="label217">
+		    <widget class="GtkLabel" id="label387">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Please indicate how you'd like to assign space on this physical host system for your new virtual system. This space will be used to install the virtual system's operating system.</property>
+		      <property name="label" translatable="yes">Please indicate where the LiveCD you wish to run on this virtual system is located:</property>
 		      <property name="use_underline">False</property>
 		      <property name="use_markup">True</property>
 		      <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2361,7 +2466,7 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkAlignment" id="alignment77">
+		    <widget class="GtkAlignment" id="alignment149">
 		      <property name="visible">True</property>
 		      <property name="xalign">0.5</property>
 		      <property name="yalign">0.5</property>
@@ -2370,19 +2475,19 @@
 		      <property name="top_padding">0</property>
 		      <property name="bottom_padding">0</property>
 		      <property name="left_padding">25</property>
-		      <property name="right_padding">15</property>
+		      <property name="right_padding">0</property>
 
 		      <child>
-			<widget class="GtkTable" id="table23">
+			<widget class="GtkTable" id="table32">
 			  <property name="visible">True</property>
-			  <property name="n_rows">9</property>
-			  <property name="n_columns">5</property>
+			  <property name="n_rows">5</property>
+			  <property name="n_columns">3</property>
 			  <property name="homogeneous">False</property>
 			  <property name="row_spacing">2</property>
 			  <property name="column_spacing">0</property>
 
 			  <child>
-			    <widget class="GtkAlignment" id="alignment79">
+			    <widget class="GtkAlignment" id="alignment150">
 			      <property name="visible">True</property>
 			      <property name="xalign">0.5</property>
 			      <property name="yalign">0</property>
@@ -2408,95 +2513,718 @@
 			  </child>
 
 			  <child>
-			    <widget class="GtkLabel" id="label219">
+			    <widget class="GtkAlignment" id="alignment151">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">P_artition:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">1</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">4</property>
-			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">storage-partition-address</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0</property>
+			      <property name="xscale">1</property>
+			      <property name="yscale">0</property>
+			      <property name="top_padding">0</property>
+			      <property name="bottom_padding">0</property>
+			      <property name="left_padding">0</property>
+			      <property name="right_padding">0</property>
+
+			      <child>
+				<widget class="GtkRadioButton" id="livecd-iso-image">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">_ISO Image Location:</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <property name="active">True</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				  <signal name="toggled" handler="on_media_toggled" last_modification_time="Tue, 12 Sep 2006 21:35:57 GMT"/>
+				</widget>
+			      </child>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">2</property>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options">fill</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkAlignment" id="alignment152">
+			      <property name="visible">True</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0</property>
+			      <property name="xscale">1</property>
+			      <property name="yscale">0</property>
+			      <property name="top_padding">0</property>
+			      <property name="bottom_padding">0</property>
+			      <property name="left_padding">0</property>
+			      <property name="right_padding">0</property>
+
+			      <child>
+				<widget class="GtkRadioButton" id="livecd-physical">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">_CD-ROM or DVD:</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <property name="active">False</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				  <property name="group">media-iso-image</property>
+				  <signal name="toggled" handler="on_media_toggled" last_modification_time="Tue, 12 Sep 2006 21:36:05 GMT"/>
+				</widget>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
 			      <property name="right_attach">3</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
+			      <property name="top_attach">3</property>
+			      <property name="bottom_attach">4</property>
 			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
+			      <property name="y_options">fill</property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkHBox" id="hbox33">
+			    <widget class="GtkHBox" id="hbox64">
 			      <property name="visible">True</property>
 			      <property name="homogeneous">False</property>
 			      <property name="spacing">0</property>
 
 			      <child>
-				<widget class="GtkImage" id="image84">
+				<widget class="GtkEntry" id="livecd-iso-location">
 				  <property name="visible">True</property>
-				  <property name="icon_size">4</property>
-				  <property name="icon_name">gtk-info</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
+				  <property name="can_focus">True</property>
+				  <property name="editable">True</property>
+				  <property name="visibility">True</property>
+				  <property name="max_length">0</property>
+				  <property name="text" translatable="yes"></property>
+				  <property name="has_frame">True</property>
+				  <property name="invisible_char">•</property>
+				  <property name="activates_default">False</property>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
-				  <property name="expand">False</property>
+				  <property name="expand">True</property>
 				  <property name="fill">True</property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="label221">
+				<widget class="GtkButton" id="livecd-location">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;small&gt;&lt;b&gt;Example:&lt;/b&gt; /dev/hdc2&lt;/small&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">7</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">_Browse...</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <signal name="clicked" handler="on_livecd_location_browse_clicked" last_modification_time="Thu, 10 Aug 2006 15:47:24 GMT"/>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">2</property>
+			      <property name="right_attach">3</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options">fill</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label388">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">ISO _Location:</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">1</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="mnemonic_widget">livecd-iso-location</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="x_padding">3</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label389">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes"></property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">2</property>
+			      <property name="bottom_attach">3</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox65">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkLabel" id="label390">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">_Path to media:</property>
+				  <property name="use_underline">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">5</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkComboBox" id="livecd-path">
+				  <property name="visible">True</property>
+				  <property name="add_tearoffs">False</property>
+				  <property name="focus_on_click">True</property>
+				  <signal name="changed" handler="on_cd_path_changed" last_modification_time="Wed, 23 Aug 2006 20:46:09 GMT"/>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">3</property>
+			      <property name="top_attach">4</property>
+			      <property name="bottom_attach">5</property>
+			      <property name="x_options">fill</property>
+			    </packing>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkAlignment" id="alignment153">
+		      <property name="visible">True</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">1</property>
+		      <property name="yscale">1</property>
+		      <property name="top_padding">15</property>
+		      <property name="bottom_padding">15</property>
+		      <property name="left_padding">15</property>
+		      <property name="right_padding">5</property>
+
+		      <child>
+			<widget class="GtkTable" id="table33">
+			  <property name="visible">True</property>
+			  <property name="n_rows">3</property>
+			  <property name="n_columns">3</property>
+			  <property name="homogeneous">False</property>
+			  <property name="row_spacing">10</property>
+			  <property name="column_spacing">0</property>
+
+			  <child>
+			    <widget class="GtkLabel" id="label391">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Please choose the type of guest operating system you will be running:</property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">True</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">True</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label392">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">OS _Variant:</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">1</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="mnemonic_widget">os-variant</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">2</property>
+			      <property name="bottom_attach">3</property>
+			      <property name="x_options"></property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkComboBox" id="livecd-os-type">
+			      <property name="visible">True</property>
+			      <property name="add_tearoffs">False</property>
+			      <property name="focus_on_click">True</property>
+			      <signal name="changed" handler="on_livecd_os_type_changed"/>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkComboBox" id="livecd-os-variant">
+			      <property name="visible">True</property>
+			      <property name="add_tearoffs">False</property>
+			      <property name="focus_on_click">True</property>
+			      <signal name="changed" handler="on_livecd_os_variant_changed"/>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">2</property>
+			      <property name="bottom_attach">3</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label393">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">OS _Type:</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">1</property>
+			      <property name="yalign">1</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="mnemonic_widget">os-type</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label394">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes"> </property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">2</property>
+			      <property name="right_attach">3</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label385">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">LiveCD</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkVBox" id="vbox34">
+	      <property name="border_width">1</property>
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">0</property>
+
+	      <child>
+		<widget class="GtkEventBox" id="page6-title">
+		  <property name="visible">True</property>
+		  <property name="visible_window">True</property>
+		  <property name="above_child">False</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label216">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;span weight=&quot;heavy&quot; size=&quot;xx-large&quot; foreground=&quot;#FFF&quot;&gt;Assigning storage space&lt;/span&gt;</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_FILL</property>
+		      <property name="wrap">False</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0</property>
+		      <property name="xpad">5</property>
+		      <property name="ypad">6</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkVBox" id="vbox35">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">0</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label217">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Please indicate how you'd like to assign space on this physical host system for your new virtual system. This space will be used to install the virtual system's operating system.</property>
+		      <property name="use_underline">False</property>
+		      <property name="use_markup">True</property>
+		      <property name="justify">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap">True</property>
+		      <property name="selectable">False</property>
+		      <property name="xalign">0</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">20</property>
+		      <property name="ypad">10</property>
+		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		      <property name="width_chars">-1</property>
+		      <property name="single_line_mode">False</property>
+		      <property name="angle">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkAlignment" id="alignment77">
+		      <property name="visible">True</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">1</property>
+		      <property name="yscale">1</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">25</property>
+		      <property name="right_padding">15</property>
+
+		      <child>
+			<widget class="GtkTable" id="table23">
+			  <property name="visible">True</property>
+			  <property name="n_rows">10</property>
+			  <property name="n_columns">5</property>
+			  <property name="homogeneous">False</property>
+			  <property name="row_spacing">2</property>
+			  <property name="column_spacing">0</property>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox49">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkImage" id="image98">
+				  <property name="visible">True</property>
+				  <property name="icon_size">4</property>
+				  <property name="icon_name">gtk-dialog-warning</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label349">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">&lt;small&gt;&lt;b&gt;Warning:&lt;/b&gt; If you do not allocate the entire disk at VM creation, space will be allocated as needed while the guest is running. If sufficient free space is not available on the host, this may result in data corruption on the guest.&lt;/small&gt;</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">True</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">True</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">7</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">2</property>
+			      <property name="right_attach">5</property>
+			      <property name="top_attach">9</property>
+			      <property name="bottom_attach">10</property>
+			      <property name="x_options">fill</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="non-sparse">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Allocate entire virtual disk now?</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="focus_on_click">True</property>
+			      <property name="active">True</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">3</property>
+			      <property name="right_attach">4</property>
+			      <property name="top_attach">8</property>
+			      <property name="bottom_attach">9</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox41">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkAlignment" id="alignment117">
+				  <property name="visible">True</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xscale">0</property>
+				  <property name="yscale">1</property>
+				  <property name="top_padding">0</property>
+				  <property name="bottom_padding">0</property>
+				  <property name="left_padding">0</property>
+				  <property name="right_padding">0</property>
+
+				  <child>
+				    <widget class="GtkSpinButton" id="storage-file-size">
+				      <property name="visible">True</property>
+				      <property name="sensitive">False</property>
+				      <property name="can_focus">True</property>
+				      <property name="climb_rate">1</property>
+				      <property name="digits">0</property>
+				      <property name="numeric">True</property>
+				      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+				      <property name="snap_to_ticks">True</property>
+				      <property name="wrap">False</property>
+				      <property name="adjustment">500 0 4000000 100 500 500</property>
+				      <signal name="changed" handler="on_storage_file_size_changed" last_modification_time="Thu, 10 Aug 2006 19:19:04 GMT"/>
+				    </widget>
+				  </child>
+				</widget>
+				<packing>
 				  <property name="padding">0</property>
 				  <property name="expand">False</property>
-				  <property name="fill">False</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label301">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">MB</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">3</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">True</property>
 				</packing>
 			      </child>
+
+			      <child>
+				<placeholder/>
+			      </child>
 			    </widget>
 			    <packing>
 			      <property name="left_attach">3</property>
 			      <property name="right_attach">4</property>
-			      <property name="top_attach">2</property>
-			      <property name="bottom_attach">3</property>
+			      <property name="top_attach">7</property>
+			      <property name="bottom_attach">8</property>
 			      <property name="x_options">fill</property>
+			      <property name="y_options">fill</property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkLabel" id="label222">
+			    <widget class="GtkLabel" id="label300">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">File _Location:</property>
+			      <property name="label" translatable="yes">File _Size:</property>
 			      <property name="use_underline">True</property>
 			      <property name="use_markup">True</property>
 			      <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2506,7 +3234,7 @@
 			      <property name="yalign">0.5</property>
 			      <property name="xpad">4</property>
 			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">storage-file-address</property>
+			      <property name="mnemonic_widget">storage-file-size</property>
 			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 			      <property name="width_chars">-1</property>
 			      <property name="single_line_mode">False</property>
@@ -2515,124 +3243,50 @@
 			    <packing>
 			      <property name="left_attach">2</property>
 			      <property name="right_attach">3</property>
-			      <property name="top_attach">5</property>
-			      <property name="bottom_attach">6</property>
+			      <property name="top_attach">7</property>
+			      <property name="bottom_attach">8</property>
 			      <property name="x_options">fill</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkLabel" id="label282">
+			    <widget class="GtkLabel" id="label222">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes"></property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
+			      <property name="label" translatable="yes">File _Location:</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">True</property>
 			      <property name="justify">GTK_JUSTIFY_LEFT</property>
 			      <property name="wrap">False</property>
 			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
+			      <property name="xalign">1</property>
 			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
+			      <property name="xpad">4</property>
 			      <property name="ypad">0</property>
+			      <property name="mnemonic_widget">storage-file-address</property>
 			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 			      <property name="width_chars">-1</property>
 			      <property name="single_line_mode">False</property>
 			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">3</property>
-			      <property name="right_attach">4</property>
-			      <property name="top_attach">3</property>
-			      <property name="bottom_attach">4</property>
+			      <property name="left_attach">2</property>
+			      <property name="right_attach">3</property>
+			      <property name="top_attach">6</property>
+			      <property name="bottom_attach">7</property>
 			      <property name="x_options">fill</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkAlignment" id="alignment78">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkRadioButton" id="storage-partition">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Normal Disk _Partition:</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">True</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_storage_toggled" last_modification_time="Thu, 10 Aug 2006 17:47:30 GMT"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">5</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options">fill</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment80">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0</property>
-			      <property name="xscale">1</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkRadioButton" id="storage-file-backed">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Simple F_ile:</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <property name="group">storage-partition</property>
-				  <signal name="toggled" handler="on_storage_toggled" last_modification_time="Thu, 10 Aug 2006 17:47:46 GMT"/>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">5</property>
-			      <property name="top_attach">4</property>
-			      <property name="bottom_attach">5</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options">fill</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHBox" id="storage-partition-box">
+			    <widget class="GtkHBox" id="storage-file-box">
 			      <property name="visible">True</property>
 			      <property name="homogeneous">False</property>
 			      <property name="spacing">0</property>
 
 			      <child>
-				<widget class="GtkEntry" id="storage-partition-address">
+				<widget class="GtkEntry" id="storage-file-address">
 				  <property name="visible">True</property>
 				  <property name="can_focus">True</property>
 				  <property name="editable">True</property>
@@ -2642,6 +3296,7 @@
 				  <property name="has_frame">True</property>
 				  <property name="invisible_char">•</property>
 				  <property name="activates_default">False</property>
+				  <signal name="changed" handler="on_storage_file_address_changed" last_modification_time="Tue, 12 Sep 2006 21:28:45 GMT"/>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
@@ -2651,14 +3306,14 @@
 			      </child>
 
 			      <child>
-				<widget class="GtkButton" id="storage-partition-address-browse">
+				<widget class="GtkButton" id="storage-file-address-browse">
 				  <property name="visible">True</property>
 				  <property name="can_focus">True</property>
 				  <property name="label" translatable="yes">Browse...</property>
 				  <property name="use_underline">True</property>
 				  <property name="relief">GTK_RELIEF_NORMAL</property>
 				  <property name="focus_on_click">True</property>
-				  <signal name="clicked" handler="on_storage_partition_address_browse_clicked" last_modification_time="Thu, 10 Aug 2006 17:33:42 GMT"/>
+				  <signal name="clicked" handler="on_storage_file_address_browse_clicked" last_modification_time="Thu, 10 Aug 2006 17:35:02 GMT"/>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
@@ -2670,58 +3325,42 @@
 			    <packing>
 			      <property name="left_attach">3</property>
 			      <property name="right_attach">5</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
+			      <property name="top_attach">6</property>
+			      <property name="bottom_attach">7</property>
 			      <property name="x_options">fill</property>
 			      <property name="y_options">fill</property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkHBox" id="storage-file-box">
+			    <widget class="GtkAlignment" id="alignment80">
 			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkEntry" id="storage-file-address">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">True</property>
-				  <property name="visibility">True</property>
-				  <property name="max_length">0</property>
-				  <property name="text" translatable="yes"></property>
-				  <property name="has_frame">True</property>
-				  <property name="invisible_char">•</property>
-				  <property name="activates_default">False</property>
-				  <signal name="changed" handler="on_storage_file_address_changed" last_modification_time="Tue, 12 Sep 2006 21:28:45 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0</property>
+			      <property name="xscale">1</property>
+			      <property name="yscale">0</property>
+			      <property name="top_padding">0</property>
+			      <property name="bottom_padding">0</property>
+			      <property name="left_padding">0</property>
+			      <property name="right_padding">0</property>
 
 			      <child>
-				<widget class="GtkButton" id="storage-file-address-browse">
+				<widget class="GtkRadioButton" id="storage-file-backed">
 				  <property name="visible">True</property>
 				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Browse...</property>
+				  <property name="label" translatable="yes">Simple F_ile:</property>
 				  <property name="use_underline">True</property>
 				  <property name="relief">GTK_RELIEF_NORMAL</property>
 				  <property name="focus_on_click">True</property>
-				  <signal name="clicked" handler="on_storage_file_address_browse_clicked" last_modification_time="Thu, 10 Aug 2006 17:35:02 GMT"/>
+				  <property name="active">False</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				  <signal name="toggled" handler="on_storage_toggled" last_modification_time="Thu, 10 Aug 2006 17:47:46 GMT"/>
 				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">3</property>
+			      <property name="left_attach">0</property>
 			      <property name="right_attach">5</property>
 			      <property name="top_attach">5</property>
 			      <property name="bottom_attach">6</property>
@@ -2731,67 +3370,48 @@
 			  </child>
 
 			  <child>
-			    <widget class="GtkLabel" id="label300">
+			    <widget class="GtkLabel" id="label282">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">File _Size:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">True</property>
+			      <property name="label" translatable="yes"></property>
+			      <property name="use_underline">False</property>
+			      <property name="use_markup">False</property>
 			      <property name="justify">GTK_JUSTIFY_LEFT</property>
 			      <property name="wrap">False</property>
 			      <property name="selectable">False</property>
-			      <property name="xalign">1</property>
+			      <property name="xalign">0</property>
 			      <property name="yalign">0.5</property>
-			      <property name="xpad">4</property>
+			      <property name="xpad">0</property>
 			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">storage-file-size</property>
 			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 			      <property name="width_chars">-1</property>
 			      <property name="single_line_mode">False</property>
 			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">2</property>
-			      <property name="right_attach">3</property>
-			      <property name="top_attach">6</property>
-			      <property name="bottom_attach">7</property>
+			      <property name="left_attach">3</property>
+			      <property name="right_attach">4</property>
+			      <property name="top_attach">4</property>
+			      <property name="bottom_attach">5</property>
 			      <property name="x_options">fill</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkHBox" id="hbox41">
+			    <widget class="GtkHBox" id="hbox33">
 			      <property name="visible">True</property>
 			      <property name="homogeneous">False</property>
 			      <property name="spacing">0</property>
 
 			      <child>
-				<widget class="GtkAlignment" id="alignment117">
+				<widget class="GtkImage" id="image84">
 				  <property name="visible">True</property>
-				  <property name="xalign">0</property>
+				  <property name="icon_size">4</property>
+				  <property name="icon_name">gtk-info</property>
+				  <property name="xalign">0.5</property>
 				  <property name="yalign">0.5</property>
-				  <property name="xscale">0</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">0</property>
-				  <property name="left_padding">0</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkSpinButton" id="storage-file-size">
-				      <property name="visible">True</property>
-				      <property name="sensitive">False</property>
-				      <property name="can_focus">True</property>
-				      <property name="climb_rate">1</property>
-				      <property name="digits">0</property>
-				      <property name="numeric">True</property>
-				      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-				      <property name="snap_to_ticks">True</property>
-				      <property name="wrap">False</property>
-				      <property name="adjustment">500 0 4000000 100 500 500</property>
-				      <signal name="changed" handler="on_storage_file_size_changed" last_modification_time="Thu, 10 Aug 2006 19:19:04 GMT"/>
-				    </widget>
-				  </child>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
@@ -2801,17 +3421,17 @@
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="label301">
+				<widget class="GtkLabel" id="label221">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">MB</property>
+				  <property name="label" translatable="yes">&lt;small&gt;&lt;b&gt;Example:&lt;/b&gt; /dev/hdc2&lt;/small&gt;</property>
 				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
+				  <property name="use_markup">True</property>
 				  <property name="justify">GTK_JUSTIFY_LEFT</property>
 				  <property name="wrap">False</property>
 				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
+				  <property name="xalign">0.5</property>
 				  <property name="yalign">0.5</property>
-				  <property name="xpad">3</property>
+				  <property name="xpad">7</property>
 				  <property name="ypad">0</property>
 				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 				  <property name="width_chars">-1</property>
@@ -2821,64 +3441,108 @@
 				<packing>
 				  <property name="padding">0</property>
 				  <property name="expand">False</property>
-				  <property name="fill">True</property>
+				  <property name="fill">False</property>
 				</packing>
 			      </child>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">3</property>
+			      <property name="right_attach">4</property>
+			      <property name="top_attach">3</property>
+			      <property name="bottom_attach">4</property>
+			      <property name="x_options">fill</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkAlignment" id="alignment79">
+			      <property name="visible">True</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0</property>
+			      <property name="xscale">1</property>
+			      <property name="yscale">0</property>
+			      <property name="top_padding">0</property>
+			      <property name="bottom_padding">0</property>
+			      <property name="left_padding">0</property>
+			      <property name="right_padding">0</property>
 
 			      <child>
 				<placeholder/>
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">3</property>
-			      <property name="right_attach">4</property>
-			      <property name="top_attach">6</property>
-			      <property name="bottom_attach">7</property>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">2</property>
+			      <property name="bottom_attach">3</property>
 			      <property name="x_options">fill</property>
 			      <property name="y_options">fill</property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkHBox" id="hbox49">
+			    <widget class="GtkLabel" id="label219">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">P_artition:</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">True</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">1</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">4</property>
+			      <property name="ypad">0</property>
+			      <property name="mnemonic_widget">storage-partition-address</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">2</property>
+			      <property name="right_attach">3</property>
+			      <property name="top_attach">2</property>
+			      <property name="bottom_attach">3</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"></property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkHBox" id="storage-partition-box">
 			      <property name="visible">True</property>
 			      <property name="homogeneous">False</property>
 			      <property name="spacing">0</property>
 
 			      <child>
-				<widget class="GtkImage" id="image98">
+				<widget class="GtkEntry" id="storage-partition-address">
 				  <property name="visible">True</property>
-				  <property name="icon_size">4</property>
-				  <property name="icon_name">gtk-dialog-warning</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
+				  <property name="can_focus">True</property>
+				  <property name="editable">True</property>
+				  <property name="visibility">True</property>
+				  <property name="max_length">0</property>
+				  <property name="text" translatable="yes"></property>
+				  <property name="has_frame">True</property>
+				  <property name="invisible_char">•</property>
+				  <property name="activates_default">False</property>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
-				  <property name="expand">False</property>
+				  <property name="expand">True</property>
 				  <property name="fill">True</property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="label349">
+				<widget class="GtkButton" id="storage-partition-address-browse">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;small&gt;&lt;b&gt;Warning:&lt;/b&gt; If you do not allocate the entire disk at VM creation, space will be allocated as needed while the guest is running. If sufficient free space is not available on the host, this may result in data corruption on the guest.&lt;/small&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">True</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">7</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">Browse...</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <signal name="clicked" handler="on_storage_partition_address_browse_clicked" last_modification_time="Thu, 10 Aug 2006 17:33:42 GMT"/>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
@@ -2888,31 +3552,85 @@
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">2</property>
+			      <property name="left_attach">3</property>
 			      <property name="right_attach">5</property>
-			      <property name="top_attach">8</property>
-			      <property name="bottom_attach">9</property>
+			      <property name="top_attach">2</property>
+			      <property name="bottom_attach">3</property>
 			      <property name="x_options">fill</property>
+			      <property name="y_options">fill</property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkCheckButton" id="non-sparse">
+			    <widget class="GtkAlignment" id="alignment78">
 			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Allocate entire virtual disk now?</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">True</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0</property>
+			      <property name="xscale">1</property>
+			      <property name="yscale">0</property>
+			      <property name="top_padding">0</property>
+			      <property name="bottom_padding">0</property>
+			      <property name="left_padding">0</property>
+			      <property name="right_padding">0</property>
+
+			      <child>
+				<widget class="GtkRadioButton" id="storage-partition">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">Normal Disk _Partition:</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <property name="active">True</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				  <property name="group">storage-file-backed</property>
+				  <signal name="toggled" handler="on_storage_toggled" last_modification_time="Thu, 10 Aug 2006 17:47:30 GMT"/>
+				</widget>
+			      </child>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">3</property>
-			      <property name="right_attach">4</property>
-			      <property name="top_attach">7</property>
-			      <property name="bottom_attach">8</property>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">5</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options">fill</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkAlignment" id="alignment155">
+			      <property name="visible">True</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0</property>
+			      <property name="xscale">1</property>
+			      <property name="yscale">0</property>
+			      <property name="top_padding">0</property>
+			      <property name="bottom_padding">0</property>
+			      <property name="left_padding">0</property>
+			      <property name="right_padding">0</property>
+
+			      <child>
+				<widget class="GtkRadioButton" id="no-storage">
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">_None</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <property name="active">True</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				  <property name="group">storage-file-backed</property>
+				  <signal name="toggled" handler="on_storage_toggled" last_modification_time="Thu, 10 Aug 2006 17:47:30 GMT"/>
+				</widget>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">5</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
 			      <property name="x_options">fill</property>
 			      <property name="y_options"></property>
 			    </packing>
@@ -3040,7 +3758,7 @@
 	      <property name="spacing">0</property>
 
 	      <child>
-		<widget class="GtkEventBox" id="page6-title">
+		<widget class="GtkEventBox" id="page7-title">
 		  <property name="visible">True</property>
 		  <property name="visible_window">True</property>
 		  <property name="above_child">False</property>
@@ -3511,7 +4229,7 @@
 		  <property name="right_padding">0</property>
 
 		  <child>
-		    <widget class="GtkEventBox" id="page7-title">
+		    <widget class="GtkEventBox" id="page8-title">
 		      <property name="visible">True</property>
 		      <property name="visible_window">True</property>
 		      <property name="above_child">False</property>
@@ -4175,7 +4893,7 @@
 		  <property name="right_padding">0</property>
 
 		  <child>
-		    <widget class="GtkEventBox" id="page8-title">
+		    <widget class="GtkEventBox" id="page9-title">
 		      <property name="visible">True</property>
 		      <property name="visible_window">True</property>
 		      <property name="above_child">False</property>

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]