Don't wait!
This commit is contained in:
parent
696a668bbe
commit
c943e2dd84
@ -22,7 +22,6 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
import subprocess
|
import subprocess
|
||||||
import time
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from os import path
|
from os import path
|
||||||
@ -1250,7 +1249,9 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QMainWindow):
|
|||||||
def shutdown_vm(self, vm, shutdown_time=vm_shutdown_timeout,
|
def shutdown_vm(self, vm, shutdown_time=vm_shutdown_timeout,
|
||||||
check_time=vm_restart_check_timeout, and_restart=False):
|
check_time=vm_restart_check_timeout, and_restart=False):
|
||||||
try:
|
try:
|
||||||
|
cascade = False
|
||||||
connected_vms = [x for x in vm.connected_vms if x.is_running()]
|
connected_vms = [x for x in vm.connected_vms if x.is_running()]
|
||||||
|
|
||||||
if len(connected_vms) > 0:
|
if len(connected_vms) > 0:
|
||||||
reply = QMessageBox.question(
|
reply = QMessageBox.question(
|
||||||
self, self.tr("Qube Shutdown Confirmation"),
|
self, self.tr("Qube Shutdown Confirmation"),
|
||||||
@ -1260,19 +1261,15 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QMainWindow):
|
|||||||
", ".join([x.name for x in connected_vms])),
|
", ".join([x.name for x in connected_vms])),
|
||||||
QMessageBox.Yes | QMessageBox.Cancel)
|
QMessageBox.Yes | QMessageBox.Cancel)
|
||||||
|
|
||||||
if reply == QMessageBox.Yes:
|
if reply != QMessageBox.Yes:
|
||||||
for connected_vm in connected_vms:
|
|
||||||
if not self.shutdown_vm(connected_vm):
|
|
||||||
return False
|
|
||||||
|
|
||||||
with common_threads.busy_cursor():
|
|
||||||
for connected_vm in connected_vms:
|
|
||||||
while connected_vm.is_running():
|
|
||||||
time.sleep(0.5)
|
|
||||||
else:
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
vm.shutdown()
|
cascade = True
|
||||||
|
for connected_vm in connected_vms:
|
||||||
|
if not self.shutdown_vm(connected_vm):
|
||||||
|
return False
|
||||||
|
|
||||||
|
vm.shutdown(force=cascade)
|
||||||
except exc.QubesException as ex:
|
except exc.QubesException as ex:
|
||||||
QMessageBox.warning(
|
QMessageBox.warning(
|
||||||
self,
|
self,
|
||||||
|
Loading…
Reference in New Issue
Block a user