diff --git a/qubesmanager/qube_manager.py b/qubesmanager/qube_manager.py
index 64bd2dd..95664e8 100644
--- a/qubesmanager/qube_manager.py
+++ b/qubesmanager/qube_manager.py
@@ -820,8 +820,20 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QMainWindow):
QMessageBox.Yes | QMessageBox.Cancel)
if reply == QMessageBox.Yes:
+ failed = []
for info in selected_vms:
- info.vm.template = template
+ try:
+ info.vm.template = template
+ except:
+ failed.append(info.name)
+
+ if failed:
+ info_dialog = QMessageBox(self)
+ info_dialog.setWindowTitle(self.tr("Warning!"))
+ info_dialog.setText(
+ self.tr("Some template change failed: {0} "
+ ).format(", ".join(failed)))
+ info_dialog.show()
def change_network(self, netvm_name):
selected_vms = self.get_selected_vms()
@@ -836,25 +848,39 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QMainWindow):
return
try:
- 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():
- info.vm.netvm = netvm_name
+ try:
+ info.vm.netvm = netvm_name
+ except:
+ failed.append(info.name)
+
+ 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()
+
except exc.QubesValueError as ex:
QMessageBox.warning(
self,