mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
details: Make sure aborted pause op doesn't leave UI inconsistent
This commit is contained in:
parent
845e6aa57e
commit
3a3057b52b
@ -1145,13 +1145,7 @@ class vmmDetails(vmmGObjectUI):
|
|||||||
self.window.get_widget("control-pause").set_sensitive(stop)
|
self.window.get_widget("control-pause").set_sensitive(stop)
|
||||||
self.window.get_widget("details-menu-pause").set_sensitive(stop)
|
self.window.get_widget("details-menu-pause").set_sensitive(stop)
|
||||||
|
|
||||||
# Set pause widget states
|
self.set_pause_state(paused)
|
||||||
try:
|
|
||||||
self.ignorePause = True
|
|
||||||
self.window.get_widget("control-pause").set_active(paused)
|
|
||||||
self.window.get_widget("details-menu-pause").set_active(paused)
|
|
||||||
finally:
|
|
||||||
self.ignorePause = False
|
|
||||||
|
|
||||||
self.window.get_widget("overview-name").set_editable(not active)
|
self.window.get_widget("overview-name").set_editable(not active)
|
||||||
|
|
||||||
@ -1220,11 +1214,20 @@ class vmmDetails(vmmGObjectUI):
|
|||||||
devtype = info.virtual_device_type
|
devtype = info.virtual_device_type
|
||||||
self.remove_device(devtype, info)
|
self.remove_device(devtype, info)
|
||||||
|
|
||||||
|
def set_pause_state(self, paused):
|
||||||
|
# Set pause widget states
|
||||||
|
try:
|
||||||
|
self.ignorePause = True
|
||||||
|
self.window.get_widget("control-pause").set_active(paused)
|
||||||
|
self.window.get_widget("details-menu-pause").set_active(paused)
|
||||||
|
finally:
|
||||||
|
self.ignorePause = False
|
||||||
|
|
||||||
def control_vm_pause(self, src):
|
def control_vm_pause(self, src):
|
||||||
if self.ignorePause:
|
if self.ignorePause:
|
||||||
return
|
return
|
||||||
|
|
||||||
if src.get_active():
|
if not self.vm.is_paused():
|
||||||
self.emit("action-suspend-domain",
|
self.emit("action-suspend-domain",
|
||||||
self.vm.get_connection().get_uri(),
|
self.vm.get_connection().get_uri(),
|
||||||
self.vm.get_uuid())
|
self.vm.get_uuid())
|
||||||
@ -1233,6 +1236,9 @@ class vmmDetails(vmmGObjectUI):
|
|||||||
self.vm.get_connection().get_uri(),
|
self.vm.get_connection().get_uri(),
|
||||||
self.vm.get_uuid())
|
self.vm.get_uuid())
|
||||||
|
|
||||||
|
# Let state handler listener change things if necc.
|
||||||
|
self.set_pause_state(not src.get_active())
|
||||||
|
|
||||||
def control_vm_run(self, src_ignore):
|
def control_vm_run(self, src_ignore):
|
||||||
self.emit("action-run-domain",
|
self.emit("action-run-domain",
|
||||||
self.vm.get_connection().get_uri(), self.vm.get_uuid())
|
self.vm.get_connection().get_uri(), self.vm.get_uuid())
|
||||||
|
Loading…
Reference in New Issue
Block a user