summaryrefslogtreecommitdiff
path: root/src/virtManager
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2007-07-14 14:43:52 -0400
committerDaniel P. Berrange <berrange@redhat.com>2007-07-14 14:43:52 -0400
commita84fc45e7de172b90350dd667fa10786d4ba081f (patch)
tree72ff837a89a39d17d666882f4b45622ded45f55f /src/virtManager
parent9dc88171f26332423575c4e9005200d754fe48b4 (diff)
downloadvirt-manager-a84fc45e7de172b90350dd667fa10786d4ba081f.tar.gz
Display, but disable non-bridged NICs
Diffstat (limited to 'src/virtManager')
-rw-r--r--src/virtManager/addhardware.py30
-rw-r--r--src/virtManager/create.py18
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()