158 lines
7.2 KiB
Diff
158 lines
7.2 KiB
Diff
changeset: 482:7263412862de
|
|
user: "Hugh O. Brock <hbrock@redhat.com>"
|
|
date: Mon Apr 23 15:08:56 2007 -0400
|
|
summary: Fix up empty combo boxes, non-working file dialogs, and a few other bugs.
|
|
|
|
diff -r 053429952481 -r 7263412862de src/virtManager/addhardware.py
|
|
--- a/src/virtManager/addhardware.py Mon Apr 16 11:31:48 2007 -0400
|
|
+++ b/src/virtManager/addhardware.py Mon Apr 23 15:08:56 2007 -0400
|
|
@@ -179,6 +179,7 @@ class vmmAddHardware(gobject.GObject):
|
|
self.window.get_widget("create-forward").show()
|
|
self.window.get_widget("create-back").set_sensitive(False)
|
|
self.window.get_widget("storage-file-size").set_sensitive(False)
|
|
+ self.window.get_widget("create-help").hide()
|
|
|
|
self.change_storage_type()
|
|
self.change_network_type()
|
|
@@ -190,11 +191,15 @@ class vmmAddHardware(gobject.GObject):
|
|
self.window.get_widget("storage-file-address").set_text("")
|
|
self.window.get_widget("storage-file-size").set_value(2000)
|
|
self.window.get_widget("non-sparse").set_active(True)
|
|
-
|
|
- model = self.window.get_widget("net-network").get_model()
|
|
- self.populate_network_model(model)
|
|
- device = self.window.get_widget("net-device").get_model()
|
|
- self.populate_device_model(device)
|
|
+ self.window.get_widget("hardware-type").set_active(0)
|
|
+
|
|
+ net_box = self.window.get_widget("net-network")
|
|
+ self.populate_network_model(net_box.get_model())
|
|
+ net_box.set_active(0)
|
|
+
|
|
+ dev_box = self.window.get_widget("net-device")
|
|
+ self.populate_device_model(dev_box.get_model())
|
|
+ dev_box.set_active(0)
|
|
|
|
|
|
def forward(self, ignore=None):
|
|
@@ -414,23 +419,38 @@ class vmmAddHardware(gobject.GObject):
|
|
|
|
def browse_storage_file_address(self, src, ignore=None):
|
|
self.window.get_widget("storage-file-size").set_sensitive(True)
|
|
- fcdialog = gtk.FileChooserDialog(_("Locate or Create New Storage File"),
|
|
- self.window.get_widget("vmm-create"),
|
|
- gtk.FILE_CHOOSER_ACTION_SAVE,
|
|
+ folder = self.config.get_default_image_dir(self.vm.get_connection())
|
|
+ file = self._browse_file(_("Locate or Create New Storage File"), \
|
|
+ folder=folder, confirm_overwrite=True)
|
|
+ if file != None:
|
|
+ self.window.get_widget("storage-file-address").set_text(file)
|
|
+
|
|
+ def _browse_file(self, dialog_name, folder=None, type=None, confirm_overwrite=False):
|
|
+ # user wants to browse for an ISO
|
|
+ fcdialog = gtk.FileChooserDialog(dialog_name,
|
|
+ self.window.get_widget("vmm-add-hardware"),
|
|
+ gtk.FILE_CHOOSER_ACTION_OPEN,
|
|
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
|
|
gtk.STOCK_OPEN, gtk.RESPONSE_ACCEPT),
|
|
None)
|
|
-
|
|
- fcdialog.set_current_folder(self.config.get_default_image_dir(self.vm.get_connection()))
|
|
- fcdialog.set_do_overwrite_confirmation(True)
|
|
- fcdialog.connect("confirm-overwrite", self.confirm_overwrite_callback)
|
|
+ if type != None:
|
|
+ f = gtk.FileFilter()
|
|
+ f.add_pattern("*." + type)
|
|
+ fcdialog.set_filter(f)
|
|
+ if folder != None:
|
|
+ fcdialog.set_current_folder(folder)
|
|
+ if confirm_overwrite:
|
|
+ fcdialog.set_do_overwrite_confirmation(True)
|
|
+ fcdialog.connect("confirm-overwrite", self.confirm_overwrite_callback)
|
|
response = fcdialog.run()
|
|
fcdialog.hide()
|
|
- file = None
|
|
if(response == gtk.RESPONSE_ACCEPT):
|
|
- file = fcdialog.get_filename()
|
|
- if file != None:
|
|
- self.window.get_widget("storage-file-address").set_text(file)
|
|
+ filename = fcdialog.get_filename()
|
|
+ fcdialog.destroy()
|
|
+ return filename
|
|
+ else:
|
|
+ fcdialog.destroy()
|
|
+ return None
|
|
|
|
def toggle_storage_size(self, ignore1=None, ignore2=None):
|
|
file = self.get_config_disk_image()
|
|
diff -r 053429952481 -r 7263412862de src/virtManager/create.py
|
|
--- a/src/virtManager/create.py Mon Apr 16 11:31:48 2007 -0400
|
|
+++ b/src/virtManager/create.py Mon Apr 23 15:08:56 2007 -0400
|
|
@@ -302,12 +302,16 @@ class vmmCreate(gobject.GObject):
|
|
|
|
# Fill list of OS types
|
|
self.populate_os_type_model()
|
|
- self.window.get_widget("os-type").set_active(-1)
|
|
-
|
|
- model = self.window.get_widget("net-network").get_model()
|
|
- self.populate_network_model(model)
|
|
- device = self.window.get_widget("net-device").get_model()
|
|
- self.populate_device_model(device)
|
|
+ self.window.get_widget("os-type").set_active(0)
|
|
+
|
|
+ net_box = self.window.get_widget("net-network")
|
|
+ self.populate_network_model(net_box.get_model())
|
|
+ net_box.set_active(0)
|
|
+
|
|
+ dev_box = self.window.get_widget("net-device")
|
|
+ self.populate_device_model(dev_box.get_model())
|
|
+ dev_box.set_active(0)
|
|
+
|
|
self.install_error = None
|
|
|
|
|
|
@@ -511,13 +515,13 @@ class vmmCreate(gobject.GObject):
|
|
except ValueError, e:
|
|
self._validation_error_box(_("Invalid FV media address"),e.args[0])
|
|
try:
|
|
- if self.get_config_os_type() is not None:
|
|
+ if self.get_config_os_type() is not None and self.get_config_os_type() != "generic":
|
|
logging.debug("OS Type: %s" % self.get_config_os_type())
|
|
guest.os_type = self.get_config_os_type()
|
|
except ValueError, e:
|
|
self._validation_error_box(_("Invalid FV OS Type"),e.args[0])
|
|
try:
|
|
- if self.get_config_os_variant() is not None:
|
|
+ if self.get_config_os_variant() is not None and self.get_config_os_type() != "generic":
|
|
logging.debug("OS Variant: %s" % self.get_config_os_variant())
|
|
guest.os_variant = self.get_config_os_variant()
|
|
except ValueError, e:
|
|
@@ -986,6 +990,7 @@ class vmmCreate(gobject.GObject):
|
|
def populate_os_type_model(self):
|
|
model = self.window.get_widget("os-type").get_model()
|
|
model.clear()
|
|
+ model.append(["generic", "Generic"])
|
|
types = virtinst.FullVirtGuest.list_os_types()
|
|
types.sort()
|
|
for type in types:
|
|
@@ -994,6 +999,9 @@ class vmmCreate(gobject.GObject):
|
|
def populate_os_variant_model(self, type):
|
|
model = self.window.get_widget("os-variant").get_model()
|
|
model.clear()
|
|
+ if type=="generic":
|
|
+ model.append(["generic", "Generic"])
|
|
+ return
|
|
variants = virtinst.FullVirtGuest.list_os_variants(type)
|
|
variants.sort()
|
|
for variant in variants:
|
|
@@ -1018,7 +1026,7 @@ class vmmCreate(gobject.GObject):
|
|
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(-1)
|
|
+ variant.set_active(0)
|
|
|
|
def change_virt_method(self, ignore=None):
|
|
arch = self.window.get_widget("cpu-architecture")
|
|
|