Require typing name of VM to remove

It is too easy to accidentally delete the wrong VM if you use lots
of short-term (but longer than disposable) VMs and have built
muscle memory of just clicking "Ok" in the deletion confirmation box.

This patch requires you to type the full name of the VM, inspired by
repo deletion confirmation on GitHub.
このコミットが含まれているのは:
Jean-Philippe Ouellet 2016-11-22 00:41:32 -05:00
コミット 86d5825464
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: E7E455013D042EA1

ファイルの表示

@ -1011,15 +1011,25 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
return
reply = QMessageBox.question(
(requested_name, ok) = QInputDialog.getText(
None, "VM Removal Confirmation",
"Are you sure you want to remove the VM <b>'{0}'</b>?<br>"
"<small>All data on this VM's private storage will be lost!</small>"
.format(vm.name),
QMessageBox.Yes | QMessageBox.Cancel)
"All data on this VM's private storage will be lost!<br><br>"
"Type the name of the VM (<b>{1}</b>) below to confirm:"
.format(vm.name, vm.name))
if reply == QMessageBox.Yes:
if not ok:
# user clicked cancel
return
elif requested_name != vm.name:
# name did not match
QMessageBox.warning(None, "VM removal confirmation failed",
"Entered name did not match! Not removing {0}.".format(vm.name))
return
else:
# remove the VM
thread_monitor = ThreadMonitor()
thread = threading.Thread(target=self.do_remove_vm,
args=(vm, thread_monitor))