patches/virt-manager-11-disable-remove-hardware.diff
author mattman
Thu, 18 Jun 2009 14:13:32 +0000
changeset 15942 40ffef79e81f
permissions -rw-r--r--
* SUNWvirt-manager.spec : Integrate virt-manager-0.6.1 to nevada_118 coinciding with integration of libvirt 0.6.0 by Xen team. * base-specs/virt-manager.spec : Bump to 0.6.1 * manpages/man1/virt-manager.1 : Reworked. * patches/virt-manager-01-build-flags.diff : Re-Work * patches/virt-manager-02-serial-console.diff : Re-Work * patches/virt-manager-03-root-user.diff : New Patch * patches/virt-manager-04-min-storage-size.diff : New Patch * patches/virt-manager-05-open-connection.diff : New Patch * patches/virt-manager-06-connection-startup.diff : New Patch * patches/virt-manager-07-virtual-network.diff : New Patch * patches/virt-manager-08-dladm-network.diff : New Patch * patches/virt-manager-09-create-arch.diff : New Patch * patches/virt-manager-10-options-exit.diff : New Patch * patches/virt-manager-11-disable-remove-hardware.diff : New Patch * patches/virt-manager-12-storage-browse.diff : New Patch * patches/virt-manager-03-g11n-desktop.diff : Remove Old Patch * patches/virt-manager-04-temporary-patch.diff : Remove Old Patch * patches/virt-manager-05-host-about.diff : Remove Old Patch * patches/virt-manager-06-delete-button.diff : Remove Old Patch * patches/virt-manager-07-build.diff : Remove Old Patch * patches/virt-manager-08-filesize.diff : Remove Old Patch * patches/virt-manager-09-gtk-spin-button.diff : Remove Old Patch * patches/virt-manager-10-cdrom-disks.diff : Remove Old Patch

/jds/bin/diff -uprN virt-manager-0.6.1.old/src/virtManager/details.py virt-manager-0.6.1/src/virtManager/details.py
--- virt-manager-0.6.1.old/src/virtManager/details.py	2009-04-17 16:15:28.494732362 +0100
+++ virt-manager-0.6.1/src/virtManager/details.py	2009-04-17 16:17:36.385176287 +0100
@@ -955,6 +955,11 @@ class vmmDetails(gobject.GObject):
         else:
             button.hide()
 
+        if self.vm.is_active() and self.vm.is_hvm():
+            self.window.get_widget("config-disk-remove").set_sensitive(False)
+        else:
+            self.window.get_widget("config-disk-remove").set_sensitive(True)
+
     def refresh_network_page(self):
         netinfo = self.get_hw_selection(HW_LIST_COL_DEVICE)
         if not netinfo:
@@ -970,6 +975,11 @@ class vmmDetails(gobject.GObject):
         model = netinfo[6] or _("Hypervisor Default")
         self.window.get_widget("network-source-model").set_text(model)
 
+        if self.vm.is_active() and self.vm.is_hvm():
+            self.window.get_widget("config-network-remove").set_sensitive(False)
+        else:
+            self.window.get_widget("config-network-remove").set_sensitive(True)
+
     def refresh_input_page(self):
         inputinfo = self.get_hw_selection(HW_LIST_COL_DEVICE)
         if not inputinfo:
@@ -993,11 +1003,14 @@ class vmmDetails(gobject.GObject):
         else:
             self.window.get_widget("input-dev-mode").set_text(_("Relative Movement"))
 
-        # Can't remove primary Xen or PS/2 mice
-        if inputinfo[4] == "mouse" and inputinfo[3] in ("xen", "ps2"):
+        if self.vm.is_active() and self.vm.is_hvm():
             self.window.get_widget("config-input-remove").set_sensitive(False)
         else:
-            self.window.get_widget("config-input-remove").set_sensitive(True)
+            # Can't remove primary Xen or PS/2 mice
+            if inputinfo[4] == "mouse" and inputinfo[3] in ("xen", "ps2"):
+                self.window.get_widget("config-input-remove").set_sensitive(False)
+            else:
+                self.window.get_widget("config-input-remove").set_sensitive(True)
 
     def refresh_graphics_page(self):
         gfxinfo = self.get_hw_selection(HW_LIST_COL_DEVICE)
@@ -1028,12 +1041,21 @@ class vmmDetails(gobject.GObject):
             self.window.get_widget("graphics-password").set_text("N/A")
             self.window.get_widget("graphics-keymap").set_text("N/A")
 
+        if self.vm.is_active() and self.vm.is_hvm():
+            self.window.get_widget("config-graphics-remove").set_sensitive(False)
+        else:
+            self.window.get_widget("config-graphics-remove").set_sensitive(True)
+
     def refresh_sound_page(self):
         soundinfo = self.get_hw_selection(HW_LIST_COL_DEVICE)
         if not soundinfo:
             return
 
         self.window.get_widget("sound-model").set_text(soundinfo[2])
+        if self.vm.is_active() and self.vm.is_hvm():
+            self.window.get_widget("config-sound-remove").set_sensitive(False)
+        else:
+            self.window.get_widget("config-sound-remove").set_sensitive(True)
 
     def refresh_char_page(self):
         charinfo = self.get_hw_selection(HW_LIST_COL_DEVICE)
@@ -1048,6 +1070,11 @@ class vmmDetails(gobject.GObject):
         self.window.get_widget("char-target-port").set_text(charinfo[3])
         self.window.get_widget("char-source-path").set_text(charinfo[5] or "-")
 
+        if self.vm.is_active() and self.vm.is_hvm():
+            self.window.get_widget("config-char-remove").set_sensitive(False)
+        else:
+            self.window.get_widget("config-char-remove").set_sensitive(True)
+
     def refresh_hostdev_page(self):
         hostdevinfo = self.get_hw_selection(HW_LIST_COL_DEVICE)
         if not hostdevinfo:
@@ -1060,6 +1087,10 @@ class vmmDetails(gobject.GObject):
         self.window.get_widget("hostdev-mode").set_text(hostdevinfo[3])
         self.window.get_widget("hostdev-source").set_text(hostdevinfo[5])
 
+        if self.vm.is_active() and self.vm.is_hvm():
+            self.window.get_widget("config-hostdev-remove").set_sensitive(False)
+        else:
+            self.window.get_widget("config-hostdev-remove").set_sensitive(True)
 
     def refresh_boot_page(self):
         # Refresh autostart