]> Softwares of Agnibho - medscript.git/commitdiff
Bugfix: crash on startup update check
authorAgnibho Mondal <mondal@agnibho.com>
Wed, 25 Oct 2023 19:13:12 +0000 (00:43 +0530)
committerAgnibho Mondal <mondal@agnibho.com>
Wed, 25 Oct 2023 19:13:12 +0000 (00:43 +0530)
data/config.json
window.py

index e591a53c985b7485b1de3db6816b668d701590f5..c931c384a96705b0b5994284f94fb1672da54d6c 100644 (file)
@@ -9,6 +9,7 @@
     "preset_newline": true,
     "preset_delimiter": ",",
     "markdown": false,
+    "check_update": false,
     "smime": false,
     "root_bundle": "",
     "certificate": "",
index b4c3c2967c65105a79ace2219a5e020d91430c42..0066531f39b9f65511e1e55bc3b7db33382fab3b 100644 (file)
--- a/window.py
+++ b/window.py
@@ -28,6 +28,7 @@ from index import Index
 class MainWindow(QMainWindow):
 
     signal_view=pyqtSignal(str)
+    signal_update=pyqtSignal(str)
 
     current_file=FileHandler()
     prescription=Prescription()
@@ -200,20 +201,6 @@ class MainWindow(QMainWindow):
         except FileNotFoundError as e:
             print(e)
 
-    def cmd_update(self, silent=False):
-        try:
-            print("Current version "+info["version"])
-            with request.urlopen(info["url"]+"/info.json") as response:
-                latest=json.loads(response.read().decode())
-            print("Latest version "+latest["version"])
-            if(version.parse(info["version"]) < version.parse(latest["version"])):
-                QMessageBox.information(self, "Check update", "New version <strong>"+latest["version"]+"</strong> available.<br>Visit <a href='"+latest["url"]+"'>"+latest["url"]+"</a> to get the latest version.")
-            elif(not silent):
-                QMessageBox.information(self, "Check update", "No update available. You are using version "+info["version"]+".")
-        except Exception as e:
-            QMessageBox.critical(self, "Check update", "Failed to check available update.")
-            print(e)
-
     def cmd_about(self):
         year=datetime.datetime.now().year
         if(year>2023):
@@ -231,6 +218,23 @@ class MainWindow(QMainWindow):
         self.viewbox.md(os.path.join(real_dir, "README"))
         self.viewbox.show()
 
+    def cmd_update(self, silent=False):
+        try:
+            print("Current version "+info["version"])
+            with request.urlopen(info["url"]+"/info.json") as response:
+                latest=json.loads(response.read().decode())
+            print("Latest version "+latest["version"])
+            if(version.parse(info["version"]) < version.parse(latest["version"])):
+                self.signal_update.emit("New version <strong>"+latest["version"]+"</strong> available.<br>Visit <a href='"+latest["url"]+"'>"+latest["url"]+"</a> to get the latest version.")
+            elif(not silent):
+                self.signal_update.emit("No update available. You are using version "+info["version"]+".")
+        except Exception as e:
+            self.signal_update.emit("Failed to check available update.")
+            print(e)
+
+    def show_update(self, message):
+        QMessageBox.information(self, "Check update", message)
+
     def insert_preset_extra(self):
         try:
             self.input_extra.insertPlainText(self.preset_extra.data[self.input_extra_preset.currentText()])
@@ -768,6 +772,7 @@ class MainWindow(QMainWindow):
         self.index=Index()
         self.index.signal_open.connect(self.cmd_open)
         self.index.signal_copy.connect(self.cmd_copy)
+        self.signal_update.connect(self.show_update)
 
         self.new_doc()
         if(config["filename"]):