Support deleting of VMs
This commit is contained in:
parent
f345ddbf5d
commit
104796e6ee
|
@ -423,7 +423,6 @@ Inactive virtual machines</property>
|
|||
<child>
|
||||
<widget class="GtkButton" id="vm-delete">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-delete</property>
|
||||
|
|
|
@ -204,7 +204,7 @@ class vmmConnection(gobject.GObject):
|
|||
|
||||
updateVMs = self.vms
|
||||
if noStatsUpdate:
|
||||
updateVMs = newVms
|
||||
updateVMs = newUUIDs
|
||||
|
||||
for uuid in updateVMs.keys():
|
||||
self.vms[uuid].tick(now)
|
||||
|
|
|
@ -266,6 +266,9 @@ class vmmDomain(gobject.GObject):
|
|||
self.vm.suspend()
|
||||
self._update_status()
|
||||
|
||||
def delete(self):
|
||||
self.vm.undefine()
|
||||
|
||||
def resume(self):
|
||||
self.vm.resume()
|
||||
self._update_status()
|
||||
|
|
|
@ -119,6 +119,7 @@ class vmmManager(gobject.GObject):
|
|||
"on_vm_details_clicked": self.show_vm_details,
|
||||
"on_vm_open_clicked": self.open_vm_console,
|
||||
"on_vm_new_clicked": self.show_vm_create,
|
||||
"on_vm_delete_clicked": self.delete_vm,
|
||||
"on_menu_edit_details_activate": self.show_vm_details,
|
||||
|
||||
"on_vm_view_changed": self.vm_view_changed,
|
||||
|
@ -295,6 +296,15 @@ class vmmManager(gobject.GObject):
|
|||
return active[0].get_value(active[1], 0)
|
||||
return None
|
||||
|
||||
def delete_vm(self, src=None):
|
||||
vmuuid = self.current_vm()
|
||||
vm = self.connection.get_vm(vmuuid)
|
||||
if vm.is_active():
|
||||
return
|
||||
|
||||
vm.delete()
|
||||
self.connection.tick(noStatsUpdate=True)
|
||||
|
||||
def show_vm_details(self,ignore):
|
||||
self.emit("action-show-details", self.connection.get_uri(), self.current_vm())
|
||||
|
||||
|
@ -313,12 +323,16 @@ class vmmManager(gobject.GObject):
|
|||
self.window.get_widget("menu_edit_delete").set_sensitive(False)
|
||||
self.window.get_widget("menu_edit_details").set_sensitive(False)
|
||||
else:
|
||||
#self.window.get_widget("vm-delete").set_sensitive(True)
|
||||
self.window.get_widget("vm-delete").set_sensitive(False)
|
||||
vmuuid = self.current_vm()
|
||||
vm = self.connection.get_vm(vmuuid)
|
||||
if vm.is_active():
|
||||
self.window.get_widget("vm-delete").set_sensitive(False)
|
||||
self.window.get_widget("menu_edit_delete").set_sensitive(False)
|
||||
else:
|
||||
self.window.get_widget("vm-delete").set_sensitive(True)
|
||||
self.window.get_widget("menu_edit_delete").set_sensitive(True)
|
||||
self.window.get_widget("vm-details").set_sensitive(True)
|
||||
self.window.get_widget("vm-open").set_sensitive(True)
|
||||
#self.window.get_widget("menu_edit_delete").set_sensitive(True)
|
||||
self.window.get_widget("menu_edit_delete").set_sensitive(False)
|
||||
self.window.get_widget("menu_edit_details").set_sensitive(True)
|
||||
|
||||
def popup_vm_menu(self, widget, event):
|
||||
|
|
Loading…
Reference in New Issue