diff --git a/packages/linux.sh b/packages/linux.sh index 215047e8d0c95ef155cd2df8846f36c5cbcc0c38..9a5787a701e471ed396c09258bae89009fc83209 100755 --- a/packages/linux.sh +++ b/packages/linux.sh @@ -43,18 +43,21 @@ cd $OLD_PWD echo " *** COPY DATA" -mkdir -p dist/pamhyr/View/ui -mkdir -p dist/pamhyr/View/ui/Widgets -cp -r ../src/View/ui/ressources/ dist/pamhyr/View/ui/ -cp -r ../src/View/ui/Widgets/*.ui dist/pamhyr/View/ui/Widgets/ -cp -r ../src/View/ui/*.ui dist/pamhyr/View/ui/ +mkdir -p dist/pamhyr/_internal/View/ui +mkdir -p dist/pamhyr/_internal/View/ui/Widgets +cp -r ../src/View/ui/ressources/ dist/pamhyr/_internal/View/ui/ +cp -r ../src/View/ui/Widgets/*.ui dist/pamhyr/_internal/View/ui/Widgets/ +cp -r ../src/View/ui/*.ui dist/pamhyr/_internal/View/ui/ mkdir -p dist/pamhyr/lang cp -r ../src/lang/*.qm dist/pamhyr/lang/ -cp ../VERSION dist/pamhyr/ -cp ../AUTHORS dist/pamhyr/ -cp ../LICENSE dist/pamhyr/ +mkdir dist/pamhyr/_internal/ +#cp ../VERSION dist/pamhyr/_internal/ +VERSION=$(cat ../VERSION) +echo "local-build-$VERSION" > dist/pamhyr/_internal/VERSION +cp ../AUTHORS dist/pamhyr/_internal/ +cp ../LICENSE dist/pamhyr/_internal/ mkdir -p dist/pamhyr/mage/ cp ../mage/mage dist/pamhyr/mage/ @@ -65,6 +68,18 @@ mkdir -p dist/pamhyr/tests_cases/ mkdir -p dist/pamhyr/tests_cases/Saar cp ../tests_cases/Saar/Saar.pamhyr dist/pamhyr/tests_cases/Saar/ +mkdir -p dist/pamhyr/doc/ +cp ../doc/dev/documentation.pdf dist/pamhyr/doc/Pamhyr2-dev.pdf +cp ../doc/dev/documentation.html dist/pamhyr/doc/Pamhyr2-dev.html + +cp ../doc/users/documentation.pdf dist/pamhyr/doc/Pamhyr2-users.pdf +cp ../doc/users/documentation.html dist/pamhyr/doc/Pamhyr2-users.html + +mkdir -p dist/pamhyr/doc/images +cp ../doc/users/images/* dist/pamhyr/doc/images/ +cp ../doc/dev/images/* dist/pamhyr/doc/images/ +cp ../doc/images/* dist/pamhyr/doc/images/ + echo " *** MAKE SRC PACKAGE" OLD_PWD=$PWD @@ -76,11 +91,11 @@ mv ../pamhyr-src.tar.gz ./ echo " *** MAKE BIN PACKAGE" -OLD_PWD=$PWD -cd dist/ -tar --xz -cf pamhyr-gnulinux-amd64.tar.xz pamhyr --checkpoint=.100 -cd $OLD_PWD +# OLD_PWD=$PWD +# cd dist/ +# tar --xz -cf pamhyr-gnulinux-amd64.tar.xz pamhyr --checkpoint=.100 +# cd $OLD_PWD -mv dist/pamhyr-gnulinux-amd64.tar.xz ./ +# mv dist/pamhyr-gnulinux-amd64.tar.xz ./ echo " *** DONE" diff --git a/src/View/Doc/Window.py b/src/View/Doc/Window.py index fec3b3aad98b63bd26d15a2dbabb786abd7a6520..3c39dca08c2bcb50e6a43acc844317ce369dc946 100644 --- a/src/View/Doc/Window.py +++ b/src/View/Doc/Window.py @@ -18,6 +18,7 @@ import os import logging +import subprocess from View.Tools.PamhyrWindow import PamhyrWindow @@ -27,7 +28,7 @@ _translate = QCoreApplication.translate logger = logging.getLogger() -from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout +from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QAction from PyQt5.QtCore import QUrl from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineSettings @@ -55,8 +56,18 @@ class DocWindow(PamhyrWindow): ) + self._path = self._path_file(filename) + self.setup_web_engine() - self.setup_url(filename) + self.setup_url(self._path) + self.setup_connection() + + def setup_connection(self): + 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) + def setup_web_engine(self): vl = self.find(QVBoxLayout, "verticalLayout") @@ -64,9 +75,23 @@ class DocWindow(PamhyrWindow): settings = self._web_view.settings() settings.setAttribute(QWebEngineSettings.PluginsEnabled, True) - settings.setAttribute(QWebEngineSettings.JavascriptEnabled, False) + settings.setAttribute(QWebEngineSettings.JavascriptEnabled, True) + settings.setAttribute(QWebEngineSettings.PdfViewerEnabled, True) vl.addWidget(self._web_view) def setup_url(self, filename): + logger.info(f"Open documentation : {filename}") self._web_view.setUrl(QUrl(f"file://{self._path_file(filename)}")) + + def back(self): + self._web_view.back() + + def forward(self): + self._web_view.forward() + + def open_in_firefox(self): + _ = subprocess.Popen( + f"firefox {self._path}", + shell = True + ) diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py index f304c1445dacbd9383769a4f13a483a64c5870f8..f8067ae6e0e270e9a191467d078e181761e174be 100644 --- a/src/View/MainWindow.py +++ b/src/View/MainWindow.py @@ -184,9 +184,11 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): "action_menu_sediment_layers": self.open_sediment_layers, "action_menu_edit_reach_sediment_layers": self.open_reach_sediment_layers, "action_menu_results_last": self.open_last_results, - "action_menu_Pamhyr": self.open_doc_user, - "action_menu_Pamhyr_dev": self.open_doc_dev, ## Help + "action_menu_pamhyr_users_pdf": lambda: self.open_doc_user(ext="pdf"), + "action_menu_pamhyr_developers_pdf": lambda: self.open_doc_dev(ext="pdf"), + "action_menu_pamhyr_users_html": lambda: self.open_doc_user(ext="html"), + "action_menu_pamhyr_developers_html": lambda: self.open_doc_dev(ext="html"), "action_menu_about": self.open_about, # ToolBar action "action_toolBar_quit": self.close, @@ -726,11 +728,11 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): doc.show() - def open_doc_user(self): - self.open_doc("Pamhyr2-users.html") + def open_doc_user(self, ext="pdf"): + self.open_doc(f"Pamhyr2-users.{ext}") - def open_doc_dev(self): - self.open_doc("Pamhyr2-dev.html") + def open_doc_dev(self, ext="pdf"): + self.open_doc(f"Pamhyr2-dev.{ext}") ######### # DEBUG # diff --git a/src/View/Tools/ASubWindow.py b/src/View/Tools/ASubWindow.py index 9ac63c2d91be9bb1e44879f0a5b1b2b5865c7b40..b6adcc829caf3f7f6f222a78bd395e7419e9b3d8 100644 --- a/src/View/Tools/ASubWindow.py +++ b/src/View/Tools/ASubWindow.py @@ -467,7 +467,12 @@ class ASubMainWindow(QMainWindow, ASubWindowFeatures, WindowToolKit): super(ASubMainWindow, self).__init__(parent=parent) if ui is not None: self.ui = loadUi( - os.path.join(os.path.dirname(__file__), "..", "ui", f"{ui}.ui"), + os.path.abspath( + os.path.join( + os.path.dirname(__file__), + "..", "ui", f"{ui}.ui" + ) + ), self ) @@ -499,7 +504,12 @@ class ASubWindow(QDialog, ASubWindowFeatures, WindowToolKit): def __init__(self, name="", ui="dummy", parent=None, **kwargs): super(ASubWindow, self).__init__(parent=parent) self.ui = loadUi( - os.path.join(os.path.dirname(__file__), "..", "ui", f"{ui}.ui"), + os.path.abspath( + os.path.join( + os.path.dirname(__file__), + "..", "ui", f"{ui}.ui" + ) + ), self ) self.name = name @@ -530,7 +540,12 @@ class AWidget(QWidget, ASubWindowFeatures): def __init__(self, ui="", parent=None): super(AWidget, self).__init__(parent=parent) self.ui = loadUi( - os.path.join(os.path.dirname(__file__), "..", "ui", "Widgets", f"{ui}.ui"), + os.path.abspath( + os.path.join( + os.path.dirname(__file__), + "..", "ui", "Widgets", f"{ui}.ui" + ) + ), self ) self.parent = parent diff --git a/src/View/ui/MainWindow.ui b/src/View/ui/MainWindow.ui index 9fd3b229e74222f03172d5dd726d6032445c95d0..951dadc9af84d2b802059dcc45fa7610b973165d 100644 --- a/src/View/ui/MainWindow.ui +++ b/src/View/ui/MainWindow.ui @@ -164,8 +164,16 @@ <property name="title"> <string>Help</string> </property> - <addaction name="action_menu_Pamhyr"/> - <addaction name="action_menu_Pamhyr_dev"/> + <widget class="QMenu" name="menuPamhyr2"> + <property name="title"> + <string>Pamhyr2 </string> + </property> + <addaction name="action_menu_pamhyr_users_pdf"/> + <addaction name="action_menu_pamhyr_users_html"/> + <addaction name="action_menu_pamhyr_developers_pdf"/> + <addaction name="action_menu_pamhyr_developers_html"/> + </widget> + <addaction name="menuPamhyr2"/> <addaction name="action_menu_Mage"/> </widget> <addaction name="menuDoc"/> @@ -907,11 +915,6 @@ <string>Doc</string> </property> </action> - <action name="action_menu_Pamhyr"> - <property name="text"> - <string>Pamhyr2 users</string> - </property> - </action> <action name="action_menu_Pamhyr_dev"> <property name="text"> <string>Pamhyr2 developer</string> @@ -922,6 +925,26 @@ <string>Mage</string> </property> </action> + <action name="action_menu_pamhyr_users_pdf"> + <property name="text"> + <string>Users (pdf)</string> + </property> + </action> + <action name="action_menu_pamhyr_users_html"> + <property name="text"> + <string>Users (html)</string> + </property> + </action> + <action name="action_menu_pamhyr_developers_pdf"> + <property name="text"> + <string>Developers (pdf)</string> + </property> + </action> + <action name="action_menu_pamhyr_developers_html"> + <property name="text"> + <string>Developers (html)</string> + </property> + </action> </widget> <resources/> <connections> diff --git a/src/View/ui/WebView.ui b/src/View/ui/WebView.ui index 0576f1a3d30b09f3011010f31780f0457798ddb1..7d0a41bfe9234211f241d1d665d025e62342df00 100644 --- a/src/View/ui/WebView.ui +++ b/src/View/ui/WebView.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>640</width> - <height>480</height> + <width>800</width> + <height>450</height> </rect> </property> <property name="windowTitle"> @@ -25,12 +25,52 @@ <rect> <x>0</x> <y>0</y> - <width>640</width> + <width>800</width> <height>22</height> </rect> </property> </widget> <widget class="QStatusBar" name="statusbar"/> + <widget class="QToolBar" name="toolBar"> + <property name="windowTitle"> + <string>toolBar</string> + </property> + <attribute name="toolBarArea"> + <enum>TopToolBarArea</enum> + </attribute> + <attribute name="toolBarBreak"> + <bool>false</bool> + </attribute> + <addaction name="action_back"/> + <addaction name="action_forward"/> + <addaction name="action_firefox"/> + </widget> + <action name="action_firefox"> + <property name="text"> + <string>Firefox</string> + </property> + <property name="toolTip"> + <string>Open document in Firefox</string> + </property> + </action> + <action name="action_back"> + <property name="icon"> + <iconset> + <normaloff>ressources/gtk-go-back.png</normaloff>ressources/gtk-go-back.png</iconset> + </property> + <property name="text"> + <string>back</string> + </property> + </action> + <action name="action_forward"> + <property name="icon"> + <iconset> + <normaloff>ressources/gtk-go-forward.png</normaloff>ressources/gtk-go-forward.png</iconset> + </property> + <property name="text"> + <string>forward</string> + </property> + </action> </widget> <resources/> <connections/>