diff --git a/qubesmanager/qube_manager.py b/qubesmanager/qube_manager.py index 95664e8..81cb9bd 100644 --- a/qubesmanager/qube_manager.py +++ b/qubesmanager/qube_manager.py @@ -820,19 +820,19 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QMainWindow): QMessageBox.Yes | QMessageBox.Cancel) if reply == QMessageBox.Yes: - failed = [] + errors = [] for info in selected_vms: try: info.vm.template = template - except: - failed.append(info.name) + except exc.QubesValueError as ex: + errors.append((info.name, ex)) - if failed: + for error in errors: info_dialog = QMessageBox(self) - info_dialog.setWindowTitle(self.tr("Warning!")) + info_dialog.setWindowTitle(self.tr("Error!")) info_dialog.setText( - self.tr("Some template change failed: {0} " - ).format(", ".join(failed))) + self.tr("Template change failed for '{0}':
{1}" + ).format(error[0], error[1])) info_dialog.show() def change_network(self, netvm_name): @@ -847,45 +847,39 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QMainWindow): if reply != QMessageBox.Yes: return - try: - if netvm_name is not None: - check_power = any(info.state['power'] == 'Running' for info - in self.get_selected_vms()) - netvm = self.qubes_cache.get_vm(name=netvm_name) - if check_power and netvm.state['power'] != 'Running': - reply = QMessageBox.question( - self, self.tr("Qube Start Confirmation"), - self.tr("
Can not change netvm to a halted Qube.
" - "Do you want to start the Qube '{0}'?").format( - netvm_name), - QMessageBox.Yes | QMessageBox.Cancel) + if netvm_name is not None: + check_power = any(info.state['power'] == 'Running' for info + in self.get_selected_vms()) + netvm = self.qubes_cache.get_vm(name=netvm_name) + if check_power and netvm.state['power'] != 'Running': + reply = QMessageBox.question( + self, self.tr("Qube Start Confirmation"), + self.tr("
Can not change netvm to a halted Qube.
" + "Do you want to start the Qube '{0}'?").format( + netvm_name), + QMessageBox.Yes | QMessageBox.Cancel) - if reply == QMessageBox.Yes: - with common_threads.busy_cursor(): - netvm.vm.start() - else: - return + if reply == QMessageBox.Yes: + with common_threads.busy_cursor(): + netvm.vm.start() + else: + return - failed = [] - for info in self.get_selected_vms(): - try: - info.vm.netvm = netvm_name - except: - failed.append(info.name) + errors = [] + for info in self.get_selected_vms(): + try: + info.vm.netvm = netvm_name + except exc.QubesValueError as ex: + errors.append((info.name, ex)) - if failed: - info_dialog = QMessageBox(self) - info_dialog.setWindowTitle(self.tr("Warning!")) - info_dialog.setText( - self.tr("Some network change failed: {0} " - ).format(", ".join(failed))) - info_dialog.show() + for error in errors: + info_dialog = QMessageBox(self) + info_dialog.setWindowTitle(self.tr("Error!")) + info_dialog.setText( + self.tr("Network change failed for '{0'}:
{1]" + ).format(error[0], error[1])) + info_dialog.show() - except exc.QubesValueError as ex: - QMessageBox.warning( - self, - self.tr("Change Network Error"), - self.tr((str(ex)))) def __init_context_menu(self): self.context_menu = QMenu(self)