]> Softwares of Agnibho - medscript.git/commitdiff
Confirm before exit.
authorAgnibho Mondal <mondal@agnibho.com>
Sat, 2 Sep 2023 22:25:37 +0000 (03:55 +0530)
committerAgnibho Mondal <mondal@agnibho.com>
Sat, 2 Sep 2023 22:25:37 +0000 (03:55 +0530)
window.py

index d1b052aa554c1fee2e46be7b30571373bb46a109..167f89de7a5e19e3fbceb05d6acaf8ad7640fd22 100644 (file)
--- a/window.py
+++ b/window.py
@@ -77,7 +77,8 @@ class MainWindow(QMainWindow):
         self.load_interface_from_instance()
 
     def cmd_quit(self):
-        sys.exit()
+        if(self.confirm_exit()):
+            sys.exit()
 
     def cmd_render(self):
         self.update_instance()
@@ -238,6 +239,16 @@ class MainWindow(QMainWindow):
         for attach in attachments:
             self.input_attachment.addItem(attach)
 
+    def confirm_exit(self):
+        self.update_instance()
+        return not (self.save_state!=md5(self.prescription.get_json().encode()).hexdigest() and QMessageBox.StandardButton.No==QMessageBox.question(self,"Confirm exit", "Unsaved changes may be lost. Confirm exit?"))
+
+    def closeEvent(self, event):
+        if(self.confirm_exit()):
+            event.accept()
+        else:
+            event.ignore()
+
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)