From f95bcbb1bc4c818bd9c1c6c34a23c42cb4792f59 Mon Sep 17 00:00:00 2001 From: donoban Date: Sat, 12 Dec 2020 00:34:41 +0100 Subject: [PATCH] Added wait argument to start_vm Easier error handling for start vm's from other places --- qubesmanager/qube_manager.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/qubesmanager/qube_manager.py b/qubesmanager/qube_manager.py index 1ff123b..cdf37fd 100644 --- a/qubesmanager/qube_manager.py +++ b/qubesmanager/qube_manager.py @@ -857,12 +857,7 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QMainWindow): QMessageBox.Yes | QMessageBox.Cancel) if reply == QMessageBox.Yes: - with common_threads.busy_cursor(): - try: - netvm.vm.start() - except exc.QubesException as ex: - QMessageBox.warning(self, "Error starting Qube!", str(ex)) - return + self.start_vm(netvm.vm, True) else: return @@ -1332,7 +1327,7 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QMainWindow): self.start_vm(vm) - def start_vm(self, vm): + def start_vm(self, vm, wait=False): if manager_utils.is_running(vm, False): return @@ -1341,6 +1336,10 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QMainWindow): thread.finished.connect(self.clear_threads) thread.start() + if wait: + with common_threads.busy_cursor(): + thread.wait() + # noinspection PyArgumentList @pyqtSlot(name='on_action_startvm_tools_install_triggered') # TODO: replace with boot from device