From acfb876da0cdfb7337f7474f078274cf15174da3 Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Tue, 10 Oct 2023 15:28:59 +0200
Subject: [PATCH] doc: Change the Firefox button to an open button.

---
 src/View/Doc/Window.py | 23 +++++++++--------------
 src/View/ui/WebView.ui |  9 ++++++---
 2 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/src/View/Doc/Window.py b/src/View/Doc/Window.py
index 4be981b8..e197e566 100644
--- a/src/View/Doc/Window.py
+++ b/src/View/Doc/Window.py
@@ -20,18 +20,16 @@ import os, sys
 import logging
 import subprocess
 
-from View.Tools.PamhyrWindow import PamhyrWindow
+from PyQt5.QtCore import QUrl
+from PyQt5.QtGui import QDesktopServices
+from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QAction
+from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineSettings
 
-from PyQt5.QtCore import QCoreApplication
+from View.Tools.PamhyrWindow import PamhyrWindow
 
-_translate = QCoreApplication.translate
 logger = logging.getLogger()
 
 
-from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QAction
-from PyQt5.QtCore import QUrl
-from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineSettings
-
 class DocWindow(PamhyrWindow):
     _pamhyr_ui = "WebView"
     _pamhyr_name = "Doc"
@@ -62,7 +60,6 @@ class DocWindow(PamhyrWindow):
             config = config,
             options = [],
             parent = parent
-
         )
 
         self._path = self._path_file(filename)
@@ -75,7 +72,7 @@ class DocWindow(PamhyrWindow):
         self.findChild(QAction, "action_back").triggered.connect(self.back)
         self.findChild(QAction, "action_forward").triggered.connect(self.forward)
 
-        self.findChild(QAction, "action_firefox").triggered.connect(self.open_in_firefox)
+        self.findChild(QAction, "action_open").triggered.connect(self.open)
 
 
     def setup_web_engine(self):
@@ -99,8 +96,6 @@ class DocWindow(PamhyrWindow):
     def forward(self):
         self._web_view.forward()
 
-    def open_in_firefox(self):
-        _ = subprocess.Popen(
-            f"firefox {self._path}",
-            shell = True
-        )
+    def open(self):
+         url = QUrl(f"file://{self._path}")
+         QDesktopServices.openUrl(url)
diff --git a/src/View/ui/WebView.ui b/src/View/ui/WebView.ui
index 7d0a41bf..225c5948 100644
--- a/src/View/ui/WebView.ui
+++ b/src/View/ui/WebView.ui
@@ -13,6 +13,9 @@
   <property name="windowTitle">
    <string>MainWindow</string>
   </property>
+  <property name="locale">
+   <locale language="English" country="Europe"/>
+  </property>
   <widget class="QWidget" name="centralwidget">
    <layout class="QGridLayout" name="gridLayout">
     <item row="0" column="0">
@@ -43,11 +46,11 @@
    </attribute>
    <addaction name="action_back"/>
    <addaction name="action_forward"/>
-   <addaction name="action_firefox"/>
+   <addaction name="action_open"/>
   </widget>
-  <action name="action_firefox">
+  <action name="action_open">
    <property name="text">
-    <string>Firefox</string>
+    <string>Open</string>
    </property>
    <property name="toolTip">
     <string>Open document in Firefox</string>
-- 
GitLab