From 460450f524bf748d28043f0c6b138aaa07c349df Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Mon, 1 Jul 2024 14:04:18 +0200
Subject: [PATCH] Pamhyr: Fix save as method and minor change.

---
 src/Model/Study.py     |  3 +++
 src/View/MainWindow.py | 12 ++++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/Model/Study.py b/src/Model/Study.py
index 46a809bb..28384ca4 100644
--- a/src/Model/Study.py
+++ b/src/Model/Study.py
@@ -117,6 +117,9 @@ class Study(SQLModel):
         if ".backup" in self.filename:
             is_new = True
 
+        if not os.path.exists(self.filename):
+            is_new = True
+
         self._init_db_file(self.filename, is_new=is_new)
         self.commit()
 
diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index aef1031d..1eb655b4 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -579,9 +579,13 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
             Nothing
         """
         if self._study.filename is None or self._study.filename == "":
+            options = QFileDialog.Options()
+            options |= QFileDialog.DontUseNativeDialog
+
             file_name, _ = QFileDialog.getSaveFileName(
                 self, "Save File",
-                "", "Pamhyr(*.pamhyr)"
+                "", "Pamhyr(*.pamhyr)",
+                options=options,
             )
 
             if file_name.rsplit(".", 1)[-1] == "pamhyr":
@@ -630,9 +634,13 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
         Returns:
             Nothing
         """
+        options = QFileDialog.Options()
+        options |= QFileDialog.DontUseNativeDialog
+
         file_name, _ = QFileDialog.getSaveFileName(
             self, "Save File",
-            "", "Pamhyr(*.pamhyr)"
+            "", "Pamhyr(*.pamhyr)",
+            options=options,
         )
 
         logger.debug(f"Save study as : {repr(file_name)}")
-- 
GitLab