Răsfoiți Sursa

Handle deleting in VM Settings without silent fails

Deleting qube will now show a Delete in Progress dialog box and
not exit QApplication before QThread finishes.

fixes QubesOS/qubes-issues#5515
Marta Marczykowska-Górecka 4 ani în urmă
părinte
comite
e17332d84c
1 a modificat fișierele cu 10 adăugiri și 1 ștergeri
  1. 10 1
      qubesmanager/settings.py

+ 10 - 1
qubesmanager/settings.py

@@ -625,8 +625,17 @@ class VMSettingsWindow(ui_settingsdlg.Ui_SettingsDialog, QtWidgets.QDialog):
 
         if ok and answer == self.vm.name:
             thread = common_threads.RemoveVMThread(self.vm)
+            thread.finished.connect(self.clear_threads)
+            self.threads_list.append(thread)
+
+            self.progress = QtWidgets.QProgressDialog(
+                self.tr("Deleting Qube..."), "", 0, 0)
+            self.progress.setCancelButton(None)
+            self.progress.setModal(True)
+            self.thread_closes = True
+            self.progress.show()
+
             thread.start()
-            self.done(0)
 
         elif ok:
             QtWidgets.QMessageBox.warning(