diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2007-07-14 14:43:52 -0400 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2007-07-14 14:43:52 -0400 |
commit | a84fc45e7de172b90350dd667fa10786d4ba081f (patch) | |
tree | 72ff837a89a39d17d666882f4b45622ded45f55f /src/virtManager | |
parent | 9dc88171f26332423575c4e9005200d754fe48b4 (diff) | |
download | virt-manager-a84fc45e7de172b90350dd667fa10786d4ba081f.tar.gz |
Display, but disable non-bridged NICs
Diffstat (limited to 'src/virtManager')
-rw-r--r-- | src/virtManager/addhardware.py | 30 | ||||
-rw-r--r-- | src/virtManager/create.py | 18 |
2 files changed, 31 insertions, 17 deletions
diff --git a/src/virtManager/addhardware.py b/src/virtManager/addhardware.py index 1e791cfd..fe4f890f 100644 --- a/src/virtManager/addhardware.py +++ b/src/virtManager/addhardware.py @@ -76,20 +76,18 @@ class vmmAddHardware(gobject.GObject): }) hw_list = self.window.get_widget("hardware-type") - model = gtk.ListStore(str, gtk.gdk.Pixbuf, int) + model = gtk.ListStore(str, str, int) hw_list.set_model(model) icon = gtk.CellRendererPixbuf() hw_list.pack_start(icon, False) - hw_list.add_attribute(icon, 'pixbuf', 1) + hw_list.add_attribute(icon, 'stock-id', 1) text = gtk.CellRendererText() hw_list.pack_start(text, True) hw_list.add_attribute(text, 'text', 0) - - pixbuf_disk = gtk.gdk.pixbuf_new_from_file(config.get_icon_dir() + "/icon_hdd.png") - pixbuf_nic = gtk.gdk.pixbuf_new_from_file(config.get_icon_dir() + "/icon_ethernet.png") - - model.append(["Storage device", pixbuf_disk, PAGE_DISK]) - model.append(["Network card", pixbuf_nic, PAGE_NETWORK]) + model.append(["Storage device", gtk.STOCK_HARDDISK, PAGE_DISK]) + # User mode networking only allows a single card for now + if self.vm.get_connection().get_type().lower() == "qemu" and os.getuid() == 0: + model.append(["Network card", gtk.STOCK_NETWORK, PAGE_NETWORK]) self.set_initial_state() @@ -121,11 +119,12 @@ class vmmAddHardware(gobject.GObject): network_list.add_attribute(text, 'text', 1) device_list = self.window.get_widget("net-device") - device_model = gtk.ListStore(str) + device_model = gtk.ListStore(str, bool) device_list.set_model(device_model) text = gtk.CellRendererText() device_list.pack_start(text, True) device_list.add_attribute(text, 'text', 0) + device_list.add_attribute(text, 'sensitive', 1) target_list = self.window.get_widget("target-device") target_model = gtk.ListStore(str, int, str, str, str) @@ -170,8 +169,10 @@ class vmmAddHardware(gobject.GObject): 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) + if self.populate_device_model(dev_box.get_model()): + dev_box.set_active(0) + else: + dev_box.set_active(-1) target_list = self.window.get_widget("target-device") target_list.set_active(-1) @@ -629,10 +630,15 @@ class vmmAddHardware(gobject.GObject): def populate_device_model(self, model): model.clear() + hasShared = False for name in self.vm.get_connection().list_net_device_paths(): net = self.vm.get_connection().get_net_device(name) if net.is_shared(): - model.append([net.get_bridge()]) + hasShared = True + model.append(["%s (%s %s)" % (net.get_name(), _("Bridge"), net.get_bridge()), True]) + else: + model.append(["%s (%s)" % (net.get_name(), _("Not bridged")), False]) + return hasShared def populate_target_device_model(self, model): diff --git a/src/virtManager/create.py b/src/virtManager/create.py index 72aed02e..d7685390 100644 --- a/src/virtManager/create.py +++ b/src/virtManager/create.py @@ -171,11 +171,12 @@ class vmmCreate(gobject.GObject): network_list.add_attribute(text, 'text', 1) device_list = self.window.get_widget("net-device") - device_model = gtk.ListStore(str) + device_model = gtk.ListStore(str, bool) device_list.set_model(device_model) text = gtk.CellRendererText() device_list.pack_start(text, True) device_list.add_attribute(text, 'text', 0) + device_list.add_attribute(text, 'sensitive', 1) # set up the lists for the os-type/os-variant widgets os_type_list = self.window.get_widget("os-type") @@ -278,10 +279,12 @@ class vmmCreate(gobject.GObject): 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) + if self.populate_device_model(dev_box.get_model()): + dev_box.set_active(0) + else: + dev_box.set_active(-1) self.install_error = None @@ -1078,10 +1081,15 @@ class vmmCreate(gobject.GObject): def populate_device_model(self, model): model.clear() + hasShared = False for name in self.connection.list_net_device_paths(): net = self.connection.get_net_device(name) if net.is_shared(): - model.append([net.get_bridge()]) + hasShared = True + model.append(["%s (%s %s)" % (net.get_name(), _("Bridge"), net.get_bridge()), True]) + else: + model.append(["%s (%s)" % (net.get_name(), _("Not bridged")), False]) + return hasShared def change_os_type(self, box): model = box.get_model() |