Compare commits

...
45 Commits
Author SHA1 Message Date
tlaveille 40dc397ed7 Ajout de guillemets doubles pour prendre en compte les noms de colonne ambigus, à la création d'atlas avec des labels dynamiques. 2026-08-31 14:52:28 +02:00
tlaveille ffa2128434 maj 1.44 + logo life dombes 2026-07-09 16:08:19 +02:00
tlaveille fbdc653c9b n2000 logo maj size 2026-06-30 12:00:49 +02:00
tlaveille a4e96b8491 maj 1.43 2026-05-22 15:48:48 +02:00
tlaveille e23b9e80c0 Option authentification pour table avec droits particuliers. 2026-05-22 15:05:31 +02:00
tlaveille 5fd101543e maj 1.42 2026-05-21 09:08:12 +02:00
tlaveille def79fdaa9 Performance optimisée hors connexion 2026-05-21 08:36:37 +02:00
tlaveille eae3a80f31 maj 1.41 2026-05-04 11:57:50 +02:00
tlaveille 61ed7b286a delete n2000 old logo 2026-05-04 11:27:25 +02:00
tlaveille 4a3d0a38c3 rollback 2026-04-22 12:11:34 +02:00
tlaveille 1185a7313d test 2026-04-22 12:11:07 +02:00
tlaveille d844b9d416 add ok/close to change log 2026-03-27 13:56:27 +01:00
tlaveille 5200a3b3c2 maj 1.40 2026-03-23 11:33:59 +01:00
tlaveille 8c8068b330 Désactivation qu'en hors connexion pour accélérer QGIS. 2026-03-23 11:30:41 +01:00
tlaveille 8a1e7e6d70 fix bug entre q4 et les logo/icon 2026-03-20 11:47:02 +01:00
tlaveille 2765093f1d 100% flake8 compatible 2026-03-19 08:59:07 +01:00
tlaveille 614195fbaf maj all plugin qgis 4.0 2026-03-12 16:12:00 +01:00
tlaveille ebeefb78b9 qgisMaximumVersion = 4.99 2026-03-12 09:06:45 +01:00
tlaveille 256a0ac6d4 maj flux 3.20 2026-03-05 11:42:17 +01:00
tlaveille af10bce94c nom de la variable XML 2026-03-05 11:34:24 +01:00
tlaveille 8c55d902c0 lecture des description dans un tooltip 2026-03-05 10:09:58 +01:00
tlaveille 5a03084daa ouverture des couche flage 00 2026-02-26 15:14:49 +01:00
tlaveille a3b634d514 maj flux 3.19 2026-02-26 14:22:25 +01:00
tlaveille 728f72cffd visualisation des droit des vue et vue materialiser 2026-02-26 11:59:33 +01:00
tlaveille 272b47a174 maj flux 3.18 2026-02-25 11:26:50 +01:00
tlaveille 21a652fdb2 filtre par localisation bug fix 2026-02-25 11:13:35 +01:00
tlaveille 799a635edc mise à jour et ajoue de tool tip. 2026-02-13 15:10:07 +01:00
tlaveille ff2e0f22be commant 2026-02-12 11:41:59 +01:00
tlaveille 8c1ee42080 kill des connection postgresql 2026-02-12 11:05:14 +01:00
tlaveille a3479085b6 system de favorit 2026-02-12 10:04:28 +01:00
tlaveille 1b54026a13 system de favorit 2026-02-11 14:15:22 +01:00
tlaveille 670c698b77 Fix de bug et optimisation d'exécution. 2026-02-10 10:17:45 +01:00
tlaveille 9b438f5bf1 repaire git flux 2026-01-14 14:05:14 +01:00
tlaveille 02681490f6 Repaire 2026-01-09 11:16:56 +01:00
tlaveille 4b8bc74386 test de push 2026-01-09 10:25:55 +01:00
tlaveille 9a85e9aaae test maj new pc 2026-01-09 10:19:23 +01:00
tlaveille 910ba14dc9 test maj new pc 2026-01-09 10:07:07 +01:00
tlaveille d9f27eaa0f maj 2025-12-18 15:49:14 +01:00
tlaveille 2842526605 nouvelle image 2025-12-18 15:40:03 +01:00
tlaveille ec677ffc5a v2 n2000 A3 + comparaison 2025-12-17 10:20:32 +01:00
tlaveille 3c9a6a8b88 v2 n2000 landscape simple 2025-12-16 17:25:27 +01:00
tlaveille 06321e4e26 check droit user sigdb only to check all db 2025-12-15 16:05:12 +01:00
tlaveille 83e22782f7 maj n2000 landscape 2025-12-15 15:03:34 +01:00
tlaveille 43acfca13b n2000 landscape 2025-12-15 14:29:31 +01:00
tlaveille 102fd30686 MAJ 2025-12-15 12:00:16 +01:00
42 changed files with 958 additions and 958 deletions
+11 -7
View File
@@ -4,7 +4,8 @@ __email__ = "info@3liz.org"
from qgis.core import QgsApplication
from qgis.PyQt.QtCore import Qt, QUrl
from qgis.PyQt.QtCore import QUrl
# from qgis.PyQt.QtCore import Qt
from qgis.PyQt.QtGui import QDesktopServices, QIcon
from qgis.PyQt.QtWidgets import QAction
from qgis.utils import iface
@@ -34,8 +35,11 @@ from .tools.resources import (
)
pyperclip()
from .canvas_editor import AutoMap_Editor
from .style_invoke import AutoMap_Style
try:
from .canvas_editor import AutoMap_Editor
# from .style_invoke import AutoMap_Style
except NameError:
print('404')
class PgAutoMap:
@@ -82,11 +86,11 @@ class PgAutoMap:
self.toolBar.addAction(self.automap_action)
self.automap_action.triggered.connect(self.open_editor)
if not self.style_dock:
self.style_dock = AutoMap_Style()
# if not self.style_dock:
# self.style_dock = AutoMap_Style()
if os.environ['USERNAME'] == 'tlaveille' or os.environ['USERNAME'] == 'lpoulin' or os.environ['USERNAME'] == 'rclement':
iface.addDockWidget(Qt.DockWidgetArea(0x1), self.style_dock)
# if os.environ['USERNAME'] == 'tlaveille' or os.environ['USERNAME'] == 'lpoulin' or os.environ['USERNAME'] == 'rclement':
# iface.addDockWidget(Qt.DockWidgetArea(0x1), self.style_dock)
def open_about_dialog(self):
"""
+5 -1
View File
@@ -14,6 +14,7 @@ from qgis.core import (
QgsLayoutItemLabel,
QgsLayoutItemPicture,
QgsLayoutItemLegend,
QgsLayoutItem,
QgsLegendStyle,
QgsLayoutItemScaleBar,
QgsLayerTreeGroup,
@@ -531,7 +532,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
self.layout.addLayoutItem(subtitle)
titre = self.lineEdit_3.text()
if self.radioButton_9.isChecked() == 1:
titre = titre + ' [%' + self.comboBox_4.currentText() + '%]'
titre = titre + ' [%"' + self.comboBox_4.currentText() + '"%]'
subtitle.setText(titre)
subtitle.setFont(QFont("Calibri", 10))
subtitle.setItemRotation(self.template_parameters['Sous_titre_rotate'])
@@ -547,6 +548,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
# Ajout du logo CEN NA en haut à gauche de la page
logo = QgsLayoutItemPicture(self.layout)
logo.setResizeMode(QgsLayoutItemPicture.Zoom)
logo.setPictureAnchor(QgsLayoutItem.ReferencePoint(4))
logo.setMode(QgsLayoutItemPicture.FormatRaster)
logo.setItemRotation(self.template_parameters['Logo_rotate'])
logo.setFixedSize(self.template_parameters['Logo_size'])
@@ -675,6 +677,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
north.setPicturePath(resources_path("mises_en_pages", self.template_parameters['Arrow_path']))
north.setLinkedMap(self.map_modele_test)
self.layout.addLayoutItem(north)
north.setPictureAnchor(QgsLayoutItem.ReferencePoint(4))
north.setItemRotation(self.template_parameters['Arrow_rotate'])
north.attemptMove(self.template_parameters['Arrow_locals'])
north.attemptResize(self.template_parameters['Arrow_size'])
@@ -728,6 +731,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
for logo_run in self.mComboBox_4.checkedItems():
logo_credit = QgsLayoutItemPicture(self.layout)
logo_credit.setResizeMode(QgsLayoutItemPicture.Zoom)
logo_credit.setPictureAnchor(QgsLayoutItem.ReferencePoint(4))
logo_credit.setMode(QgsLayoutItemPicture.FormatRaster)
cur_x = self.template_parameters['Logo_2_locals'].x()
logo_credit.setItemRotation(self.template_parameters['Logo_2_rotate'])
+3 -2
View File
@@ -5,9 +5,10 @@
[general]
name=CenRa_AutoMap
qgisMinimumVersion=3.0
qgisMaximumVersion=4.99
supportsQt6=True
description=CenRa_AutoMap
version=2.2
version=2.12
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr
@@ -22,7 +23,7 @@ tracker=https://gitea.cenra-outils.org/api/v1/repos/CEN-RA/Plugin_QGIS/issues
hasProcessingProvider=no
# Uncomment the following line and add your changelog:
changelog=<h2>CenRa_AUTOMAP:</h2></br><p><h3>12/12/2025 - Version 2.2: </h3> - nouvelle mise en page pour n2000.</p></br><p><h3>30/07/2025 - Version 2.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 2.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>11/04/2025 - Version 1.7: </h3> - Correctif d'orthographe.</p></br><p><h3>09/04/2025 - Version 1.6: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 1.5: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 1.4: </h3> - Mise a jour de securite.</p></br><p><h3>20/03/2025 - Version 1.3: </h3> - Fenêtre redimensionnable avec déplaçable avec la mollette sourit.</p></br><p><h3>25/02/2025 - Version 1.2: </h3> - DockWidget pour ouverture de couche avec theme.</p></br><p><h3>28/01/2025 - Version 1.1: </h3> - Multi-Composeur pris en charge.</p></br><p><h3>27/01/2025 - Version 1.0: </h3> - Version releases.</br> - Ajoute un message d'avertissement au moment d'écraser la mise en page.</br> - Ajoute prénom et nom dans la réalisation.</br> - Utilisation de Calibri.</p></br><p><h3>13/01/2025 - Version 0.1.10: </h3> - Correctif.</p></br><p><h3>07/01/2025 - Version 0.1.9: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>19/12/2024 - Version 0.1.8: </h3> - Nouvelle mise en page.</br> - Incrémentation automatique de nouveau modele de mise en page. </br> - Correctif de bug.</p></br><p><h3>21/10/2024 - Version 0.1.7: </h3> - Epurations du code.</p></br><p><h3>07/10/2024 - Version 0.1.6: </h3> - Option de bibliotheque de logo custome.</p></br><p><h3>03/10/2024 - Version 0.1.5: </h3> - Remonte la fênetre dans la pille.</br> - Gestion du nombre de colonne dans la légend.</br></p></br><p><h3>02/10/2024 - Version 0.1.4: </h3> - Mise en page plein écrant.</br></p></br><p><h3>01/10/2024 - Version 0.1.3: </h3> - Récupération du titre et sous-titre pour mise en page existente.</br> - Integration de bibliotheque de logo.</br> - Integration de gestionaire pour les source de donnée.</br> - Mise en place d'une bar d'echelle adaptative. </br></p></br><p><h3>30/09/2024 - Version 0.1.2: </h3> - Activation du thème. </br> - Ajouter une carte de suivie. </br><p></br><h3>27/09/2024 - Version 0.1.1: </h3> - Ajout d'une liste déroulante pour les sources de données. </br>- Bouton pour ajouter des fonts de carte customisés. </br>- Fonctionnalité de génération d'atlas. </p></br><p><h3>26/09/2024 - Version 0.1.0: </h3> - Lancement du plugin CenRa_AutoMap avec une seul mise en page. </p></br>
changelog=<h2>CenRa_AUTOMAP:</h2></br><p><h3>30/06/2026 - Version 2.12: </h3> - Mise en page N2000 Logo redimensionner.</p></br><p><h3>21/05/2026 - Version 2.11: </h3> - Optimisation des performances hors connexion.</br></p></br><p><h3>04/05/2026 - Version 2.10: </h3> - Suppression ancien logo n2000.</p></br><p><h3>12/03/2026 - Version 2.9: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>09/01/2026 - Version 2.8: </h3> - deplacement de l'echelle.</p></br><p><h3>18/12/2025 - Version 2.7: </h3> - fix de bug gitea.</p></br><p><h3>18/12/2025 - Version 2.6: </h3> - ajoue du logo n2000 et region.</p></br><p><h3>17/12/2025 - Version 2.5: </h3> - Carte n2000 mise a jour landscape et portrait.</p></br><p><h3>15/12/2025 - Version 2.4: </h3> - Landescape pour n2000.</p></br><p><h3>15/12/2025 - Version 2.3: </h3> - nouvelle mise en page n2000.</p></br><p><h3>12/12/2025 - Version 2.2: </h3> - nouvelle mise en page pour n2000.</p></br><p><h3>30/07/2025 - Version 2.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 2.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>11/04/2025 - Version 1.7: </h3> - Correctif d'orthographe.</p></br><p><h3>09/04/2025 - Version 1.6: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 1.5: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 1.4: </h3> - Mise a jour de securite.</p></br><p><h3>20/03/2025 - Version 1.3: </h3> - Fenêtre redimensionnable avec déplaçable avec la mollette sourit.</p></br><p><h3>25/02/2025 - Version 1.2: </h3> - DockWidget pour ouverture de couche avec theme.</p></br><p><h3>28/01/2025 - Version 1.1: </h3> - Multi-Composeur pris en charge.</p></br><p><h3>27/01/2025 - Version 1.0: </h3> - Version releases.</br> - Ajoute un message d'avertissement au moment d'écraser la mise en page.</br> - Ajoute prénom et nom dans la réalisation.</br> - Utilisation de Calibri.</p></br><p><h3>13/01/2025 - Version 0.1.10: </h3> - Correctif.</p></br><p><h3>07/01/2025 - Version 0.1.9: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>19/12/2024 - Version 0.1.8: </h3> - Nouvelle mise en page.</br> - Incrémentation automatique de nouveau modele de mise en page. </br> - Correctif de bug.</p></br><p><h3>21/10/2024 - Version 0.1.7: </h3> - Epurations du code.</p></br><p><h3>07/10/2024 - Version 0.1.6: </h3> - Option de bibliotheque de logo custome.</p></br><p><h3>03/10/2024 - Version 0.1.5: </h3> - Remonte la fênetre dans la pille.</br> - Gestion du nombre de colonne dans la légend.</br></p></br><p><h3>02/10/2024 - Version 0.1.4: </h3> - Mise en page plein écrant.</br></p></br><p><h3>01/10/2024 - Version 0.1.3: </h3> - Récupération du titre et sous-titre pour mise en page existente.</br> - Integration de bibliotheque de logo.</br> - Integration de gestionaire pour les source de donnée.</br> - Mise en place d'une bar d'echelle adaptative. </br></p></br><p><h3>30/09/2024 - Version 0.1.2: </h3> - Activation du thème. </br> - Ajouter une carte de suivie. </br><p></br><h3>27/09/2024 - Version 0.1.1: </h3> - Ajout d'une liste déroulante pour les sources de données. </br>- Bouton pour ajouter des fonts de carte customisés. </br>- Fonctionnalité de génération d'atlas. </p></br><p><h3>26/09/2024 - Version 0.1.0: </h3> - Lancement du plugin CenRa_AutoMap avec une seul mise en page. </p></br>
# Tags are comma separated with spaces allowed
tags=python
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

+66 -66
View File
@@ -36,10 +36,10 @@ def fletch_canvas(self):
self.template_parameters['Arrow_background'] = False
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
self.template_parameters['Echelle_size'] = QgsLayoutSize(50.0, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(85, 244, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(140, 244, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(6, 234, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(6, 241, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(206.0, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 3, QgsUnitTypes.LayoutMillimeters)
@@ -56,9 +56,9 @@ def fletch_canvas(self):
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(4, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50.0, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(85, 233, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(130, 233, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_size'] = QgsLayoutSize(80.0, 35, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(48, 234, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
if values_page == 'A3':
@@ -107,91 +107,91 @@ def fletch_canvas(self):
self.template_parameters['Logo_2_rotate'] = 0
if page_rotate == 'Landscape':
if values_page == 'A4':
self.template_parameters['Carte_size'] = QgsLayoutSize(206.0, 200, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(29, 8.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 270
self.template_parameters['Carte_size'] = QgsLayoutSize(189.0, 189, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(9, 18.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_frame'] = True
self.template_parameters['Carte_2_size'] = QgsLayoutSize(50.0, 40, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(210, 54.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 270
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(194, 20.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Carte_2_frame'] = True
self.template_parameters['Legande_size'] = QgsLayoutSize(206.0, 36, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(258, 208.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 270
self.template_parameters['Legande_size'] = QgsLayoutSize(203.0, 62, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(199, 63.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Legande_frame'] = True
self.template_parameters['Arrow_size'] = QgsLayoutSize(14.0, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(30, 23.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 270
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(177, 20.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Arrow_background'] = False
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
self.template_parameters['Echelle_size'] = QgsLayoutSize(50, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(241, 112, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 270
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(247, 43, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(237, 206.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 270
self.template_parameters['Titre_size'] = QgsLayoutSize(206.0, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 208.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 270
self.template_parameters['Credit_size'] = QgsLayoutSize(207, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(28, 202, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(228, 149.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(289.0, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(3, 1.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(191, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(8, 201, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Credit_alignment'] = 0x0001
self.template_parameters['Source_size'] = QgsLayoutSize(207, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(28, 196, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_size'] = QgsLayoutSize(191, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(8, 195, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Source_alignment'] = 0x0001
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(202.0, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(13, 206.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 270
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(289.0, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(3, 12.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(233, 112, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 270
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(237, 162, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 270
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(249, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(80.0, 35, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(208, 172, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
if values_page == 'A3':
self.template_parameters['Carte_size'] = QgsLayoutSize(290, 282, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(39, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_size'] = QgsLayoutSize(305.0, 273, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(9, 18.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_frame'] = True
self.template_parameters['Carte_2_size'] = QgsLayoutSize(70, 55, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(320, 80, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 270
self.template_parameters['Carte_2_size'] = QgsLayoutSize(50.0, 40, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(311, 20.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Carte_2_frame'] = True
self.template_parameters['Legande_size'] = QgsLayoutSize(290, 5., QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(365, 295, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 270
self.template_parameters['Legande_size'] = QgsLayoutSize(203.0, 62, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(317, 63.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Legande_frame'] = True
self.template_parameters['Arrow_size'] = QgsLayoutSize(20, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(41, 31, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 270
self.template_parameters['Arrow_size'] = QgsLayoutSize(14.0, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(296, 20.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Arrow_background'] = False
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
self.template_parameters['Echelle_size'] = QgsLayoutSize(72, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(360, 160, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 270
self.template_parameters['Logo_size'] = QgsLayoutSize(40, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(340, 290, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 270
self.template_parameters['Titre_size'] = QgsLayoutSize(290, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(3, 293, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 270
self.template_parameters['Credit_size'] = QgsLayoutSize(290, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(39, 282, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_size'] = QgsLayoutSize(50, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(364, 43, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(320, 264.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(413.0, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(3, 1.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(306, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(8, 285, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Credit_alignment'] = 0x0001
self.template_parameters['Source_size'] = QgsLayoutSize(290, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(39, 274, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_size'] = QgsLayoutSize(306, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(8, 279, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Source_alignment'] = 0x0001
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(285, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(19, 291, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 270
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(70, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(330, 159, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 270
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(340, 230, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 270
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(413.0, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(3, 12.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(366, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(369, 264, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
return self.template_parameters
@@ -18,180 +18,180 @@ def fletch_canvas(self):
if page_rotate == 'Portrait':
if values_page == 'A4':
self.template_parameters['Carte_size'] = QgsLayoutSize(145.0, 140, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(28, 3, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 270
self.template_parameters['Carte_size'] = QgsLayoutSize(145.0, 135, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(4, 18, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_frame'] = True
self.template_parameters['Carte_2_size'] = QgsLayoutSize(50, 40, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(165, 55, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 270
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(146, 21, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Carte_2_frame'] = True
self.template_parameters['Legande_size'] = QgsLayoutSize(198.85714285714286, 36, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(185, 145, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 270
self.template_parameters['Legande_locals'] = QgsLayoutPoint(153, 64, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Legande_frame'] = True
self.template_parameters['Arrow_size'] = QgsLayoutSize(14.0, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(29, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(6, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Arrow_background'] = False
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
self.template_parameters['Echelle_size'] = QgsLayoutSize(50.0, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(196, 210, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 270
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(154, 220, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(185, 290, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 270
self.template_parameters['Titre_size'] = QgsLayoutSize(290.0, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 295, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 270
self.template_parameters['Logo_locals'] = QgsLayoutPoint(148, 267, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(205.0, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 1, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(145.0, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(173, 143.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 180
self.template_parameters['Credit_locals'] = QgsLayoutPoint(4, 147.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Credit_alignment'] = 0x0001
self.template_parameters['Source_size'] = QgsLayoutSize(145.0, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(173, 137.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 180
self.template_parameters['Source_locals'] = QgsLayoutPoint(4, 141.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Source_alignment'] = 0x0001
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(290, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(12, 295, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 270
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(205, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(2, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50.0, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(185, 210, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 270
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(185, 248, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 270
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(162, 208, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(80.0, 35, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(128, 234, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
if values_page == 'A3':
self.template_parameters['Carte_size'] = QgsLayoutSize(225.0, 200, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(28, 3, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 270
self.template_parameters['Carte_size'] = QgsLayoutSize(233.0, 192, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(4, 18, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_frame'] = True
self.template_parameters['Carte_2_size'] = QgsLayoutSize(50, 40, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(250, 55, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 270
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(234, 21, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Carte_2_frame'] = True
self.template_parameters['Legande_size'] = QgsLayoutSize(200, 36, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(260, 235, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 270
self.template_parameters['Legande_size'] = QgsLayoutSize(190, 36, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(242, 64, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Legande_frame'] = True
self.template_parameters['Arrow_size'] = QgsLayoutSize(14.0, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(29, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(6, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Arrow_background'] = False
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
self.template_parameters['Echelle_size'] = QgsLayoutSize(50.0, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(276, 325, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 270
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(154, 220, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(265, 410, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 270
self.template_parameters['Titre_size'] = QgsLayoutSize(405.0, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 410, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 270
self.template_parameters['Credit_size'] = QgsLayoutSize(225.0, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(253, 203.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 180
self.template_parameters['Logo_locals'] = QgsLayoutPoint(248, 386, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(293.0, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 1, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(233.0, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(4, 204.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Credit_alignment'] = 0x0001
self.template_parameters['Source_size'] = QgsLayoutSize(225.0, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(253, 197.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 180
self.template_parameters['Source_size'] = QgsLayoutSize(233.0, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(4, 198.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Source_alignment'] = 0x0001
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(405, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(12, 410, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 270
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(293, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(2, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50.0, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(265, 325, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 270
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(252, 330, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(265, 365, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 270
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(160, 234, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
if page_rotate == 'Landscape':
if values_page == 'A4':
self.template_parameters['Carte_size'] = QgsLayoutSize(206.0, 200, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(29, 8.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 270
self.template_parameters['Carte_size'] = QgsLayoutSize(145.0, 140, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(150, 27.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_frame'] = True
self.template_parameters['Carte_2_size'] = QgsLayoutSize(50.0, 40, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(210, 54.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 270
self.template_parameters['Carte_2_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(253, 144.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Carte_2_frame'] = True
self.template_parameters['Legande_size'] = QgsLayoutSize(206.0, 36, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(258, 208.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 270
self.template_parameters['Legande_size'] = QgsLayoutSize(110.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(183, 175.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Legande_frame'] = True
self.template_parameters['Arrow_size'] = QgsLayoutSize(14.0, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(30, 23.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 270
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(278, 29.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Arrow_background'] = False
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
self.template_parameters['Echelle_size'] = QgsLayoutSize(50, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(241, 112, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 270
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(138, 191, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(237, 206.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 270
self.template_parameters['Titre_size'] = QgsLayoutSize(206.0, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 208.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 270
self.template_parameters['Credit_size'] = QgsLayoutSize(207, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(28, 202, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Logo_locals'] = QgsLayoutPoint(7, 175.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(288.0, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(3, 1.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(140, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(150, 167, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 270
self.template_parameters['Credit_alignment'] = 0x0001
self.template_parameters['Source_size'] = QgsLayoutSize(207, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(28, 196, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Source_size'] = QgsLayoutSize(140, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(156, 167, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 270
self.template_parameters['Source_alignment'] = 0x0001
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(202.0, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(13, 206.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 270
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(288.0, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(3, 11.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(233, 112, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 270
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(237, 162, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 270
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(138, 180, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(80.0, 35, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(52, 172, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
if values_page == 'A3':
self.template_parameters['Carte_size'] = QgsLayoutSize(290, 282, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(39, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_size'] = QgsLayoutSize(200.0, 230, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(216, 27.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_frame'] = True
self.template_parameters['Carte_2_size'] = QgsLayoutSize(70, 55, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(320, 80, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 270
self.template_parameters['Carte_2_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(373, 234.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Carte_2_frame'] = True
self.template_parameters['Legande_size'] = QgsLayoutSize(290, 5., QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(365, 295, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 270
self.template_parameters['Legande_size'] = QgsLayoutSize(110.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(253, 264.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Legande_frame'] = True
self.template_parameters['Arrow_size'] = QgsLayoutSize(20, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(41, 31, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 270
self.template_parameters['Arrow_size'] = QgsLayoutSize(14.0, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(401, 29.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Arrow_background'] = False
self.template_parameters['Arrow_path'] = "NorthArrow_03.svg"
self.template_parameters['Echelle_size'] = QgsLayoutSize(72, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(360, 160, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 270
self.template_parameters['Logo_size'] = QgsLayoutSize(40, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(340, 290, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 270
self.template_parameters['Titre_size'] = QgsLayoutSize(290, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(3, 293, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 270
self.template_parameters['Credit_size'] = QgsLayoutSize(290, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(39, 282, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Echelle_size'] = QgsLayoutSize(50, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(150, 281, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(7, 265.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(413.0, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(3, 1.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(230, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(216, 257, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 270
self.template_parameters['Credit_alignment'] = 0x0001
self.template_parameters['Source_size'] = QgsLayoutSize(290, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(39, 274, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Source_size'] = QgsLayoutSize(230, 6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(222, 257, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 270
self.template_parameters['Source_alignment'] = 0x0001
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(285, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(19, 291, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 270
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(70, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(330, 159, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 270
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(340, 230, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 270
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(413.0, 11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(3, 11.0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(50, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(150, 270, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(40.0, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(72, 265, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
return self.template_parameters
+5 -1
View File
@@ -21,7 +21,11 @@ from .tools.resources import (
maj_verif,
)
pyperclip()
from .copie_editor import Copie_Editor
try:
from .copie_editor import Copie_Editor
except NameError:
print('404')
class PgCopie:
+3 -2
View File
@@ -9,9 +9,10 @@
[general]
name=CenRA_COPIE
qgisMinimumVersion=3.0
qgisMaximumVersion=4.99
supportsQt6=True
description=Permet la copie d'une table dans une base PostGis
version=3.1
version=3.2
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr
@@ -20,7 +21,7 @@ email=si_besoin@cen-rhonealpes.fr
# Recommended items:
# Uncomment the following line and add your changelog:
changelog=<h2>CenRa_COPIE:</h2></br><p><h3>30/07/2025 - Version 3.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>11/04/2025 - Version 2.5: </h3> - Correctif de bug.</p></br><p><h3>09/04/2025 - Version 2.4: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.3: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 2.2: </h3> - Mise a jour de securite.</p></br><p><h3>07/01/2025 - Version 2.1: </h3> - ByPass du certif ssl ci erreur.</br></p><p><h3>22/10/2024 - Version 2:</h3>- Refonte du code.</p></br><p><h3>13/09/2024 - Version 1.5:</h3>- Ajoute d'un changelog et vérification de mise à jour.</p>
changelog=<h2>CenRa_COPIE:</h2></br><p><h3>12/03/2026 - Version 3.2: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>30/07/2025 - Version 3.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>11/04/2025 - Version 2.5: </h3> - Correctif de bug.</p></br><p><h3>09/04/2025 - Version 2.4: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.3: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 2.2: </h3> - Mise a jour de securite.</p></br><p><h3>07/01/2025 - Version 2.1: </h3> - ByPass du certif ssl ci erreur.</br></p><p><h3>22/10/2024 - Version 2:</h3>- Refonte du code.</p></br><p><h3>13/09/2024 - Version 1.5:</h3>- Ajoute d'un changelog et vérification de mise à jour.</p>
# Tags are comma separated with spaces allowed
tags=cenra, database, table
+3 -7
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CenRa_Metabase_editorwidget_base</class>
<widget class="QDialog" name="CenRa_Metabase_editorwidget_base">
<widget class="QDialog" name="CenRa_about_base">
<property name="geometry">
<rect>
<x>0</x>
@@ -13,10 +13,6 @@
<property name="windowTitle">
<string>Journal des modifications</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>../../CenRa_Metabase/tools/ui/icon.svg</normaloff>../../CenRa_Metabase/tools/ui/icon.svg</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QScrollArea" name="scrollArea">
@@ -38,7 +34,7 @@
<x>0</x>
<y>0</y>
<width>453</width>
<height>570</height>
<height>547</height>
</rect>
</property>
<widget class="QGroupBox" name="groupBox">
@@ -70,7 +66,7 @@
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::NoButton</set>
<set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
+4 -1
View File
@@ -20,7 +20,10 @@ from .tools.resources import (
)
pyperclip()
from .flux_editor import Flux_Editor
try:
from .flux_editor import Flux_Editor
except NameError:
print('404')
class PgFlux:
+513 -282
View File
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -5,9 +5,10 @@
[general]
name=CenRa_FLUX
qgisMinimumVersion=3.0
qgisMaximumVersion=4.99
supportsQt6=True
description=Permet d'ouvrire une table dans la base PostGis
version=3.14
version=3.24
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr
@@ -32,7 +33,7 @@ icon=icon.png
# experimental flag
experimental=False
changelog=<h2>CenRa_FLUX:</h2></br><p><h3>08/12/2025 - Version 3.14: </h3> - message d'erreur pour les drois de couche sur la DB.</p></br><p><h3>08/12/2025 - Version 3.13: </h3> - Detection des droit utilisateur.</p></br><p><h3>25/09/2025 - Version 3.12: </h3> - version +1.</p></br><p><h3>25/09/2025 - Version 3.11: </h3> - Correctife sur les code 00.</p></br><p><h3>24/09/2025 - Version 3.10: </h3> - Erreur sur l ouverture des couche raster. </p></br><p><h3>24/09/2025 - Version 3.9: </h3> - bugfix lier aux extention pgsql.</p></br><p><h3>09/09/2025 - Version 3.8: </h3> - Bug REF fix.</p></br><p><h3>05/09/2025 - Version 3.7: </h3> - Ouverture de projet QGIS contenue dans la base de donnees.</p></br><p><h3>30/07/2025 - Version 3.6: </h3> - Correctife de bug.</p></br><p><h3>29/07/2025 - Version 3.5: </h3> - Bug fix sur les donnee raster.</p></br><p><h3>23/07/2025 - Version 3.4: </h3> - Ouverture raster dans la base SIG.</p></br><p><h3>23/07/2025 - Version 3.3: </h3> - Optimisation des chargement.</p></br><p><h3>22/07/2025 - Version 3.2: </h3> - Visualisation des format raster et vecteur dans REF.</p></br><p><h3>21/07/2025 - Version 3.1: </h3> - Bug fix pour l'ouverture de plus de 5 couches.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6.</p></br><p><h3>09/04/2025 - Version 2.9: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.8: </h3> - Optimisation pour le TT.</p></br><p><h3>07/04/2025 - Version 2.7: </h3> - mode debug.</p></br><p><h3>03/04/2025 - Version 2.6: </h3> - Mise a jour de securite.</p></br><p><h3>20/03/2025 - Version 2.5: </h3> - Visualisation distincte des couches ne se trouvant pas dans l'antenne.</p></br><p><h3>13/02/2025 - Version 2.4: </h3> - Ajoute redimensionnement et déplacement mollette.</p></br><p><h3>05/02/2025 - Version 2.3: </h3> - Bouton de visualisation des couches se trouvent uniquement dans le canva de la carte.</p></br><p><h3>07/01/2025 - Version 2.2: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>22/10/2024 - Version 2.1:</h3> - Correctif de bug.</br> - Evolution de la limit de 3 à 5. </br></p></br><p><h3>22/10/2024 - Version 2.0:</h3> - Reformatage du code.</br></p></br><p><h3>03/10/2024 - Version 1.14:</h3> - Remonte la fênetre dans la pille.</br></p><p><h3>13/09/2024 - Version 1.13:</h3>- MAJ sur le lien du changelog</br>- Bug-fix: Ouvre MultiPolygone et Polygon séparément.</p></br><p><h3>10/09/2024 - Version 1.11:</h3>- Ouverture de table contenant plusieurs géométries.</p></br><p><h3>26/08/2024 - Version 1.10:</h3>- Ajoute d'un changelog et vérification de mise à jour.</p>
changelog=<h2>CenRa_FLUX:</h2></br><p><h3>22/05/2026 - Version 3.24: </h3> - Option authentification pour table avec droits particuliers.</p></br><p><h3>21/05/2026 - Version 3.23: </h3> - Optimisation des performances hors connexion.</p></br><p><h3>23/03/2026 - Version 3.22: </h3> - Pache mineur.</p></br><p><h3>12/03/2026 - Version 3.21: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>05/03/2026 - Version 3.20: </h3> - Visualisation des metadonnees avec un tooltip au survol de la couche.</p></br><p><h3>26/02/2026 - Version 3.19: </h3> - Visualisation des droits pour les vues materialisees.</p></br><p><h3>25/02/2026 - Version 3.18: </h3> - Filtre par secteur geographique compatible avec les favoris.</p></br><p><h3>12/02/2026 - Version 3.17: </h3> - Favorit dans la BD Ref.</p></br><p><h3>11/02/2026 - Version 3.16: </h3> - Creation de favori et visualisation.</p></br><p><h3>10/02/2026 - Version 3.15: </h3> - Sauvegarde la recherche.</p></br><p><h3>08/12/2025 - Version 3.14: </h3> - message d'erreur pour les drois de couche sur la DB.</p></br><p><h3>08/12/2025 - Version 3.13: </h3> - Detection des droit utilisateur.</p></br><p><h3>25/09/2025 - Version 3.12: </h3> - version +1.</p></br><p><h3>25/09/2025 - Version 3.11: </h3> - Correctife sur les code 00.</p></br><p><h3>24/09/2025 - Version 3.10: </h3> - Erreur sur l ouverture des couche raster. </p></br><p><h3>24/09/2025 - Version 3.9: </h3> - bugfix lier aux extention pgsql.</p></br><p><h3>09/09/2025 - Version 3.8: </h3> - Bug REF fix.</p></br><p><h3>05/09/2025 - Version 3.7: </h3> - Ouverture de projet QGIS contenue dans la base de donnees.</p></br><p><h3>30/07/2025 - Version 3.6: </h3> - Correctife de bug.</p></br><p><h3>29/07/2025 - Version 3.5: </h3> - Bug fix sur les donnee raster.</p></br><p><h3>23/07/2025 - Version 3.4: </h3> - Ouverture raster dans la base SIG.</p></br><p><h3>23/07/2025 - Version 3.3: </h3> - Optimisation des chargement.</p></br><p><h3>22/07/2025 - Version 3.2: </h3> - Visualisation des format raster et vecteur dans REF.</p></br><p><h3>21/07/2025 - Version 3.1: </h3> - Bug fix pour l'ouverture de plus de 5 couches.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6.</p></br><p><h3>09/04/2025 - Version 2.9: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.8: </h3> - Optimisation pour le TT.</p></br><p><h3>07/04/2025 - Version 2.7: </h3> - mode debug.</p></br><p><h3>03/04/2025 - Version 2.6: </h3> - Mise a jour de securite.</p></br><p><h3>20/03/2025 - Version 2.5: </h3> - Visualisation distincte des couches ne se trouvant pas dans l'antenne.</p></br><p><h3>13/02/2025 - Version 2.4: </h3> - Ajoute redimensionnement et déplacement mollette.</p></br><p><h3>05/02/2025 - Version 2.3: </h3> - Bouton de visualisation des couches se trouvent uniquement dans le canva de la carte.</p></br><p><h3>07/01/2025 - Version 2.2: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>22/10/2024 - Version 2.1:</h3> - Correctif de bug.</br> - Evolution de la limit de 3 à 5. </br></p></br><p><h3>22/10/2024 - Version 2.0:</h3> - Reformatage du code.</br></p></br><p><h3>03/10/2024 - Version 1.14:</h3> - Remonte la fênetre dans la pille.</br></p><p><h3>13/09/2024 - Version 1.13:</h3>- MAJ sur le lien du changelog</br>- Bug-fix: Ouvre MultiPolygone et Polygon séparément.</p></br><p><h3>10/09/2024 - Version 1.11:</h3>- Ouverture de table contenant plusieurs géométries.</p></br><p><h3>26/08/2024 - Version 1.10:</h3>- Ajoute d'un changelog et vérification de mise à jour.</p>
# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False
+51 -7
View File
@@ -2,13 +2,57 @@
schemaname_distinct = """SELECT DISTINCT schemaname from pg_catalog.pg_tables
WHERE schemaname NOT LIKE '_archives' AND schemaname NOT LIKE 'topology' AND schemaname NOT LIKE 'information_schema' AND schemaname NOT LIKE 'pg_catalog' and schemaname NOT LIKE 'public' AND schemaname NOT LIKE '_trier'
order by schemaname;"""
schemaname_list_ref = """SELECT schemaname,tablename from pg_catalog.pg_tables
WHERE schemaname NOT LIKE '_archives' AND schemaname NOT LIKE 'topology' AND schemaname NOT LIKE 'information_schema' AND schemaname NOT LIKE 'pg_catalog' and schemaname NOT LIKE 'public' AND schemaname NOT LIKE '_trier'
order by schemaname,tablename;"""
schemaname_list = """(SELECT schemaname,tablename from pg_catalog.pg_tables
where schemaname like 'trav%' or schemaname like '\\_ag%' or schemaname like '\\_00%' or schemaname like '\\_01%' or schemaname like '\\_07%' or schemaname like '\\_26%' or schemaname like '\\_form%' or schemaname like '\\_42%' or schemaname like '\\_69%' order by schemaname,tablename)
UNION
(SELECT schemaname,matviewname AS tablename FROM pg_catalog.pg_matviews order by schemaname,tablename) order by schemaname,tablename;"""
schemaname_list_ref = """
WITH TableList AS (SELECT
schemaname,
tablename
FROM pg_catalog.pg_tables
WHERE
schemaname NOT LIKE '_archives' AND schemaname NOT LIKE 'topology' AND schemaname NOT LIKE 'information_schema' AND schemaname NOT LIKE 'pg_catalog' and schemaname NOT LIKE 'public' AND schemaname NOT LIKE '_trier'
ORDER BY schemaname,tablename),
TableDescription AS (SELECT
schemaname,
tablename,
description
FROM TableList
LEFT JOIN pg_description ON objoid = (quote_ident(schemaname)||'.'||quote_ident(tablename))::regclass
ORDER BY schemaname, tablename)
SELECT * FROM TableDescription;
"""
schemaname_list = """
WITH
TableList as (SELECT
schemaname,
tablename
FROM pg_catalog.pg_tables
WHERE schemaname LIKE 'trav%' OR schemaname LIKE '_ag%' OR schemaname LIKE '_00%' OR schemaname LIKE '_01%' OR schemaname LIKE '_07%' OR schemaname LIKE '_26%' OR schemaname LIKE '_form%' OR schemaname LIKE '_42%' OR schemaname LIKE '_69%'
ORDER BY schemaname,tablename),
ViewList as (SELECT
schemaname,
matviewname AS tablename
FROM pg_catalog.pg_matviews
ORDER BY schemaname,tablename),
TableAndView as (SELECT
schemaname,
tablename
FROM TableList
UNION SELECT schemaname,tablename FROM ViewList),
TableViewDescription as (SELECT
schemaname,
tablename,
description
FROM TableAndView
LEFT JOIN pg_description ON objoid = (quote_ident(schemaname)||'.'||quote_ident(tablename))::regclass
ORDER BY schemaname,tablename)
SELECT * FROM TableViewDescription;
"""
geom = "geom"
champ_travaux_prevus_multipolygon = """(gid serial NOT NULL, groupe_gestion text, gestion_lib text, id_gestion text, datedebut date, datefin date, commentaire text, surface_m2 double precision, surface_ha double precision, date_creation date, date_maj date, geom geometry(MultiPolygon,2154))"""
champ_travaux_prevus_multilinestring = """(gid serial NOT NULL, groupe_gestion text, gestion_lib text, id_gestion text, datedebut date, datefin date, commentaire text, longueur_m double precision, longueur_km double precision, date_creation date, date_maj date, geom geometry(MultiLineString,2154))"""
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

+1 -1
View File
@@ -155,7 +155,7 @@ def maj_verif(NAME):
try:
urllib.request.urlopen('https://google.com')
binar = True
except NameError:
except urllib.error.URLError:
binar = False
if binar:
try:
@@ -1,252 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>910</width>
<height>800</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>910</width>
<height>800</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>910</width>
<height>800</height>
</size>
</property>
<property name="windowTitle">
<string>SIG CEN-RA</string>
</property>
<widget class="QComboBox" name="comboBox">
<property name="geometry">
<rect>
<x>260</x>
<y>130</y>
<width>171</width>
<height>22</height>
</rect>
</property>
<property name="editable">
<bool>false</bool>
</property>
<property name="currentText">
<string notr="true"/>
</property>
</widget>
<widget class="QComboBox" name="comboBox_2">
<property name="geometry">
<rect>
<x>370</x>
<y>80</y>
<width>171</width>
<height>22</height>
</rect>
</property>
<property name="editable">
<bool>false</bool>
</property>
<property name="currentText">
<string notr="true"/>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>345</x>
<y>10</y>
<width>221</width>
<height>71</height>
</rect>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>:/plugins/CenRa_FLUX/logo.jpg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
<widget class="QPushButton" name="pushButton_2">
<property name="geometry">
<rect>
<x>370</x>
<y>750</y>
<width>171</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Charger les couches</string>
</property>
</widget>
<widget class="QTableWidget" name="tableWidget">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>30</x>
<y>170</y>
<width>850</width>
<height>281</height>
</rect>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
</widget>
<widget class="QTableWidget" name="tableWidget_2">
<property name="geometry">
<rect>
<x>30</x>
<y>550</y>
<width>850</width>
<height>181</height>
</rect>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
</widget>
<widget class="QCommandLinkButton" name="commandLinkButton">
<property name="geometry">
<rect>
<x>400</x>
<y>470</y>
<width>61</width>
<height>61</height>
</rect>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset>
<normaloff>:/plugins/CenRa_FLUX/arrow-bottom.png</normaloff>:/plugins/CenRa_FLUX/arrow-bottom.png</iconset>
</property>
<property name="iconSize">
<size>
<width>50</width>
<height>40</height>
</size>
</property>
</widget>
<widget class="QCommandLinkButton" name="commandLinkButton_2">
<property name="geometry">
<rect>
<x>460</x>
<y>470</y>
<width>61</width>
<height>61</height>
</rect>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset>
<normaloff>:/plugins/CenRa_FLUX/arrow-up.png</normaloff>:/plugins/CenRa_FLUX/arrow-up.png</iconset>
</property>
<property name="iconSize">
<size>
<width>50</width>
<height>40</height>
</size>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>480</x>
<y>130</y>
<width>171</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>Recherche par mots-clés</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>40</x>
<y>150</y>
<width>161</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Calibri</family>
<pointsize>10</pointsize>
<italic>false</italic>
</font>
</property>
<property name="text">
<string>Liste des flux disponibles :</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>30</x>
<y>530</y>
<width>171</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<family>Calibri</family>
<pointsize>10</pointsize>
<italic>false</italic>
</font>
</property>
<property name="text">
<string>Flux sélectionné(s) à charger :</string>
</property>
</widget>
<zorder>label_3</zorder>
<zorder>comboBox</zorder>
<zorder>comboBox_2</zorder>
<zorder>pushButton_2</zorder>
<zorder>tableWidget</zorder>
<zorder>tableWidget_2</zorder>
<zorder>commandLinkButton</zorder>
<zorder>commandLinkButton_2</zorder>
<zorder>lineEdit</zorder>
<zorder>label</zorder>
<zorder>label_2</zorder>
</widget>
<resources/>
<connections/>
</ui>
+29
View File
@@ -386,6 +386,35 @@
<string notr="true">background-color: rgba(255, 255, 255,0.50);</string>
</property>
</widget>
<widget class="QToolButton" name="toolButton_2">
<property name="geometry">
<rect>
<x>700</x>
<y>130</y>
<width>21</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>0</string>
</property>
</widget>
<zorder>commandLinkButton_2</zorder>
<zorder>pushButton_2</zorder>
<zorder>label</zorder>
<zorder>tableWidget_2</zorder>
<zorder>comboBox</zorder>
<zorder>lineEdit</zorder>
<zorder>toolButton</zorder>
<zorder>tableWidget</zorder>
<zorder>label_2</zorder>
<zorder>label_3</zorder>
<zorder>comboBox_2</zorder>
<zorder>commandLinkButton</zorder>
<zorder>checkBox</zorder>
<zorder>DeBUG</zorder>
<zorder>toolButton_2</zorder>
<zorder>viewer</zorder>
</widget>
</widget>
</item>
+3 -7
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CenRa_Metabase_editorwidget_base</class>
<widget class="QDialog" name="CenRa_Metabase_editorwidget_base">
<widget class="QDialog" name="CenRa_about_base">
<property name="geometry">
<rect>
<x>0</x>
@@ -13,10 +13,6 @@
<property name="windowTitle">
<string>Journal des modifications</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>../../CenRa_Metabase/tools/ui/icon.svg</normaloff>../../CenRa_Metabase/tools/ui/icon.svg</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QScrollArea" name="scrollArea">
@@ -38,7 +34,7 @@
<x>0</x>
<y>0</y>
<width>453</width>
<height>570</height>
<height>547</height>
</rect>
</property>
<widget class="QGroupBox" name="groupBox">
@@ -70,7 +66,7 @@
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::NoButton</set>
<set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+6 -2
View File
@@ -31,8 +31,12 @@ from .tools.resources import (
maj_verif,
)
pyperclip()
from .dock import CenRa_Metabase
from .editor import Metabase_Editor
try:
from .dock import CenRa_Metabase
from .editor import Metabase_Editor
except NameError:
print('404')
# from CenRa_Metabase.issues import CenRa_Issues
+3 -2
View File
@@ -5,9 +5,10 @@
[general]
name=CenRa_Metabase
qgisMinimumVersion=3.0
qgisMaximumVersion=4.99
supportsQt6=True
description=CenRa_METABASE
version=0.3.1
version=0.3.2
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr
@@ -22,7 +23,7 @@ tracker=https://gitea.cenra-outils.org/api/v1/repos/CEN-RA/Plugin_QGIS/issues
hasProcessingProvider=no
# Uncomment the following line and add your changelog:
changelog=<h2>CenRa_METABASE:</h2></br><p><h3>30/07/2025 - Version 0.3.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 0.3.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>09/04/2025 - Version 0.2.3: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 0.2.2: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 0.2.1: </h3> - Mise a jour de securite.</p></br><p><h3>07/01/2025 - Version 0.2.0: </h3> - Deployment sur serveur SIG.</p></br><p><h3>07/01/2025 - Version 0.1.6: </h3> - ByPass du certif ssl ci erreur</p></br><p><h3>19/12/2024 - Version 0.1.5: </h3> - Fix les problem de lenteur qu'en la base est down.</p></br><p><h3>12/12/2024 - Version 0.1.4: </h3> - Crash Fix .</p></br><p><h3>08/10/2024 - Version 0.1.3: </h3> - Lecture de métadonnée des flux WMS/WFS.</p></br><p><h3>07/10/2024 - Version 0.1.2: </h3> - Correctif de bug.</p></br><p><h3>03/10/2024 - Version 0.1.1: </h3> - Remonte la fênetre dans la pille.</p></br><p><h3>26/08/2024 - Version 0.1.0: </h3> - Lancement du plugin CenRa_Metabase </p>
changelog=<h2>CenRa_METABASE:</h2></br><p><h3>12/03/2026 - Version 0.3.2: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>30/07/2025 - Version 0.3.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 0.3.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>09/04/2025 - Version 0.2.3: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 0.2.2: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 0.2.1: </h3> - Mise a jour de securite.</p></br><p><h3>07/01/2025 - Version 0.2.0: </h3> - Deployment sur serveur SIG.</p></br><p><h3>07/01/2025 - Version 0.1.6: </h3> - ByPass du certif ssl ci erreur</p></br><p><h3>19/12/2024 - Version 0.1.5: </h3> - Fix les problem de lenteur qu'en la base est down.</p></br><p><h3>12/12/2024 - Version 0.1.4: </h3> - Crash Fix .</p></br><p><h3>08/10/2024 - Version 0.1.3: </h3> - Lecture de métadonnée des flux WMS/WFS.</p></br><p><h3>07/10/2024 - Version 0.1.2: </h3> - Correctif de bug.</p></br><p><h3>03/10/2024 - Version 0.1.1: </h3> - Remonte la fênetre dans la pille.</p></br><p><h3>26/08/2024 - Version 0.1.0: </h3> - Lancement du plugin CenRa_Metabase </p>
# Tags are comma separated with spaces allowed
tags=python
+3 -7
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CenRa_Metabase_editorwidget_base</class>
<widget class="QDialog" name="CenRa_Metabase_editorwidget_base">
<widget class="QDialog" name="CenRa_about_base">
<property name="geometry">
<rect>
<x>0</x>
@@ -13,10 +13,6 @@
<property name="windowTitle">
<string>Journal des modifications</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>../../CenRa_Metabase/tools/ui/icon.svg</normaloff>../../CenRa_Metabase/tools/ui/icon.svg</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QScrollArea" name="scrollArea">
@@ -38,7 +34,7 @@
<x>0</x>
<y>0</y>
<width>453</width>
<height>570</height>
<height>547</height>
</rect>
</property>
<widget class="QGroupBox" name="groupBox">
@@ -70,7 +66,7 @@
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::NoButton</set>
<set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
+3 -2
View File
@@ -5,9 +5,10 @@
[general]
name=CenRa_PageRender
qgisMinimumVersion=3.0
qgisMaximumVersion=4.99
supportsQt6=True
description=CenRa_PageRender
version=0.2.2
version=0.2.5
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr
@@ -22,7 +23,7 @@ tracker=https://gitea.cenra-outils.org/api/v1/repos/CEN-RA/Plugin_QGIS/issues
hasProcessingProvider=no
# Uncomment the following line and add your changelog:
changelog=<h2>CenRa_PAGERENDER:</h2></br><p><h3>12/12/2025 - Version 0.2.2: </h3> - bug sur le background.</p></br><p><h3>30/07/2025 - Version 0.2.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 0.2.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>03/04/2025 - Version 0.1.6: </h3> - Mise a jour de securite.</p></br><p><h3>07/01/2025 - Version 0.1.5: </h3> - ByPass du certif ssl ci erreur.</br></p><p><h3>14/11/2024 - Version 0.1.4: </h3> - Implementation de la mollet. </br> - Implementation du dragging pour déplacer et modification de la taille </br></p></br><p><h3>08/11/2024 - Version 0.1.3: </h3> - Correctif de bug. </br><p><h3>21/10/2024 - Version 0.1.1: </h3> - Les match en if. </br> - Bouton de scroll et adaptation portrait.</p></br><p><h3>09/10/2024 - Version 0.1.0: </h3> - Création.</p>
changelog=<h2>CenRa_PAGERENDER:</h2></br><p><h3>23/03/2026 - Version 0.2.5: </h3> - Pache mineur.</p></br><p><h3>12/03/2026 - Version 0.2.4: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>15/12/2025 - Version 0.2.3: </h3> - nouveau systeme de parametrage.</p></br><p><h3>12/12/2025 - Version 0.2.2: </h3> - bug sur le background.</p></br><p><h3>30/07/2025 - Version 0.2.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 0.2.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>03/04/2025 - Version 0.1.6: </h3> - Mise a jour de securite.</p></br><p><h3>07/01/2025 - Version 0.1.5: </h3> - ByPass du certif ssl ci erreur.</br></p><p><h3>14/11/2024 - Version 0.1.4: </h3> - Implementation de la mollet. </br> - Implementation du dragging pour déplacer et modification de la taille </br></p></br><p><h3>08/11/2024 - Version 0.1.3: </h3> - Correctif de bug. </br><p><h3>21/10/2024 - Version 0.1.1: </h3> - Les match en if. </br> - Bouton de scroll et adaptation portrait.</p></br><p><h3>09/10/2024 - Version 0.1.0: </h3> - Création.</p>
# Tags are comma separated with spaces allowed
tags=python
+1 -1
View File
@@ -147,7 +147,7 @@ def maj_verif(NAME):
try:
urllib.request.urlopen('https://google.com')
binar = True
except urllib.requests.URLError:
except urllib.error.URLError:
binar = False
if binar:
try:
@@ -78,7 +78,7 @@
<number>296</number>
</property>
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QSlider" name="verticalSlider">
@@ -100,7 +100,7 @@
<number>0</number>
</property>
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
<enum>Qt::Vertical</enum>
</property>
<property name="invertedAppearance">
<bool>true</bool>
@@ -118,12 +118,6 @@
<property name="styleSheet">
<string notr="true">QFrame#frame{background-color: rgb(255, 255, 255, 170);}</string>
</property>
<property name="frameShape">
<enum>QFrame::Shape::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<widget class="QLabel" name="Carte">
<property name="geometry">
<rect>
@@ -139,24 +133,9 @@
<property name="styleSheet">
<string notr="true">background-color: rgba(10, 10, 10, 50)</string>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Plain</enum>
</property>
<property name="lineWidth">
<number>5</number>
</property>
<property name="midLineWidth">
<number>2</number>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<property name="margin">
<number>5</number>
</property>
@@ -176,9 +155,6 @@
<property name="styleSheet">
<string notr="true">background-color: rgba(10, 10, 10, 50)</string>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Plain</enum>
</property>
<property name="text">
<string/>
</property>
@@ -277,27 +253,12 @@
<property name="styleSheet">
<string notr="true">background-color: rgba(10, 10, 10, 50)</string>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<property name="lineWidth">
<number>-1</number>
</property>
<property name="midLineWidth">
<number>0</number>
</property>
<property name="text">
<string/>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTop|Qt::AlignmentFlag::AlignTrailing</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
@@ -364,27 +325,12 @@
<property name="styleSheet">
<string notr="true">background-color: rgba(10, 10, 10, 50)</string>
</property>
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<property name="lineWidth">
<number>-1</number>
</property>
<property name="midLineWidth">
<number>0</number>
</property>
<property name="text">
<string/>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTop|Qt::AlignmentFlag::AlignTrailing</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
@@ -446,12 +392,6 @@
<property name="styleSheet">
<string notr="true">QFrame#frame_2{background-color: rgb(255, 255, 255, 170);}</string>
</property>
<property name="frameShape">
<enum>QFrame::Shape::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<widget class="QTableWidget" name="tableWidget">
<property name="geometry">
<rect>
@@ -465,13 +405,13 @@
<number>1</number>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
<enum>Qt::ScrollBarAsNeeded</enum>
</property>
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::SizeAdjustPolicy::AdjustToContentsOnFirstShow</enum>
<enum>QAbstractScrollArea::AdjustIgnored</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::EditTrigger::NoEditTriggers</set>
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="tabKeyNavigation">
<bool>false</bool>
@@ -483,19 +423,19 @@
<bool>false</bool>
</property>
<property name="dragDropMode">
<enum>QAbstractItemView::DragDropMode::NoDragDrop</enum>
<enum>QAbstractItemView::NoDragDrop</enum>
</property>
<property name="defaultDropAction">
<enum>Qt::DropAction::IgnoreAction</enum>
<enum>Qt::IgnoreAction</enum>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SelectionMode::SingleSelection</enum>
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectionBehavior::SelectRows</enum>
<enum>QAbstractItemView::SelectItems</enum>
</property>
<property name="iconSize">
<size>
@@ -504,7 +444,7 @@
</size>
</property>
<property name="textElideMode">
<enum>Qt::TextElideMode::ElideMiddle</enum>
<enum>Qt::ElideLeft</enum>
</property>
<property name="showGrid">
<bool>true</bool>
@@ -590,13 +530,13 @@
<number>1</number>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
<enum>Qt::ScrollBarAsNeeded</enum>
</property>
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::SizeAdjustPolicy::AdjustToContentsOnFirstShow</enum>
<enum>QAbstractScrollArea::AdjustIgnored</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::EditTrigger::DoubleClicked</set>
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="tabKeyNavigation">
<bool>false</bool>
@@ -608,19 +548,19 @@
<bool>false</bool>
</property>
<property name="dragDropMode">
<enum>QAbstractItemView::DragDropMode::NoDragDrop</enum>
<enum>QAbstractItemView::NoDragDrop</enum>
</property>
<property name="defaultDropAction">
<enum>Qt::DropAction::IgnoreAction</enum>
<enum>Qt::IgnoreAction</enum>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SelectionMode::SingleSelection</enum>
<enum>QAbstractItemView::NoSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectionBehavior::SelectRows</enum>
<enum>QAbstractItemView::SelectItems</enum>
</property>
<property name="iconSize">
<size>
@@ -629,7 +569,7 @@
</size>
</property>
<property name="textElideMode">
<enum>Qt::TextElideMode::ElideMiddle</enum>
<enum>Qt::ElideLeft</enum>
</property>
<property name="showGrid">
<bool>true</bool>
@@ -707,16 +647,16 @@
</font>
</property>
<property name="focusPolicy">
<enum>Qt::FocusPolicy::NoFocus</enum>
<enum>Qt::NoFocus</enum>
</property>
<property name="layoutDirection">
<enum>Qt::LayoutDirection::LeftToRight</enum>
<enum>Qt::LeftToRight</enum>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="inputMethodHints">
<set>Qt::InputMethodHint::ImhNone</set>
<set>Qt::ImhNone</set>
</property>
<property name="text">
<string/>
@@ -741,7 +681,7 @@
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
<enum>QAbstractSpinBox::UpDownArrows</enum>
</property>
<property name="suffix">
<string/>
@@ -763,7 +703,7 @@
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
<enum>QAbstractSpinBox::UpDownArrows</enum>
</property>
<property name="suffix">
<string/>
@@ -812,9 +752,6 @@
<property name="value">
<number>40</number>
</property>
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="invertedAppearance">
<bool>true</bool>
</property>
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CenRa_Metabase_editorwidget_base</class>
<widget class="QDialog" name="CenRa_Metabase_editorwidget_base">
<widget class="QDialog" name="CenRa_about_base">
<property name="geometry">
<rect>
<x>0</x>
@@ -13,10 +13,6 @@
<property name="windowTitle">
<string>Journal des modifications</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>../../CenRa_Metabase/tools/ui/icon.svg</normaloff>../../CenRa_Metabase/tools/ui/icon.svg</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QScrollArea" name="scrollArea">
@@ -38,7 +34,7 @@
<x>0</x>
<y>0</y>
<width>453</width>
<height>570</height>
<height>547</height>
</rect>
</property>
<widget class="QGroupBox" name="groupBox">
@@ -70,7 +66,7 @@
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::NoButton</set>
<set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
+10 -14
View File
@@ -25,10 +25,12 @@ from .tools.resources import (
)
pyperclip()
from .postgis_editor import Postgis_Editor
from .postgis_creator import Postgis_Creator
from .postgis_rename import Postgis_Rename
try:
from .postgis_editor import Postgis_Editor
from .postgis_creator import Postgis_Creator
from .postgis_rename import Postgis_Rename
except NameError:
print('Module introuvable...')
IPAddr = socket.gethostbyname(socket.gethostname())
@@ -101,19 +103,13 @@ class PgPostgis:
self.postgis_rename = QAction(icon3, 'dossier_rename', None)
self.toolBar.addAction(self.postgis_rename)
self.postgis_rename.triggered.connect(self.open_rename)
self.postgis_rename.setEnabled(False)
self.postgis_rename.setVisible(0)
if os.environ['USERNAME'] == 'tlaveille' or os.environ['USERNAME'] == 'lpoulin' or os.environ['USERNAME'] == 'rclement':
self.action_rename.setEnabled(True)
self.postgis_rename.setEnabled(True)
if os.access('N:/', os.R_OK):
self.postgis_rename.setEnabled(True)
self.postgis_rename.setVisible(1)
else:
self.action_rename.setEnabled(False)
self.postgis_rename.setEnabled(False)
self.postgis_rename.setVisible(0)
self.postgis_rename.setEnabled(False)
if os.access('N:/', os.R_OK):
self.postgis_rename.setEnabled(True)
def open_about_dialog(self):
"""
+3 -2
View File
@@ -11,9 +11,10 @@
[general]
name=CenRa_POSTGIS
qgisMinimumVersion=3.0
qgisMaximumVersion=4.99
supportsQt6=True
description=Permet de crée un dossier dans la base PostGis
version=3.1
version=3.4
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr
@@ -22,7 +23,7 @@ email=si_besoin@cen-rhonealpes.fr
# Optional items:
# Uncomment the following line and add your changelog entries:
changelog=<h2>CenRa_POSTGIS:</h2></br><p><h3>30/07/2025 - Version 3.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>09/04/2025 - Version 2.9: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.8: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 2.7: </h3> - Mise a jour de securite.</p></br><p><h3>12/02/2025 - Version 2.6: </h3> - InDev:renomé les schema et table.</p></br><p><h3>04/02/2025 - Version 2.5: </h3> - Correctif bug création de couche.</p></br><p><h3>23/01/2025 - Version 2.4: </h3> - Correctif sur les pkey.</p></br><p><h3>22/01/2025 - Version 2.3: </h3> - Correctif sur la creation de projet.</p></br><p><h3>21/01/2025 - Version 2.2: </h3> - Correctif sur la longeur des nom.</p></br><p><h3>07/01/2025 - Version 2.1: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>22/10/2024 - Version 2.0:</h3>- Refont du code.</p>
changelog=<h2>CenRa_POSTGIS:</h2></br><p><h3>21/05/2026 - Version 3.4: </h3> - Optimisation des performances hors connexion.</p></br><p><h3>23/03/2026 - Version 3.3: </h3> - Optimisation pour QGIS.</p></br><p><h3>12/03/2026 - Version 3.2: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>30/07/2025 - Version 3.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 3.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>09/04/2025 - Version 2.9: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 2.8: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 2.7: </h3> - Mise a jour de securite.</p></br><p><h3>12/02/2025 - Version 2.6: </h3> - InDev:renomé les schema et table.</p></br><p><h3>04/02/2025 - Version 2.5: </h3> - Correctif bug création de couche.</p></br><p><h3>23/01/2025 - Version 2.4: </h3> - Correctif sur les pkey.</p></br><p><h3>22/01/2025 - Version 2.3: </h3> - Correctif sur la creation de projet.</p></br><p><h3>21/01/2025 - Version 2.2: </h3> - Correctif sur la longeur des nom.</p></br><p><h3>07/01/2025 - Version 2.1: </h3> - ByPass du certif ssl ci erreur.</p></br><p><h3>22/10/2024 - Version 2.0:</h3>- Refont du code.</p>
# tags are comma separated with spaces allowed
tags=cenra, postgis, database
+3 -2
View File
@@ -5,7 +5,7 @@ from __future__ import absolute_import
# from builtins import next
# from builtins import str
# from builtins import object
# import qgis
import os
from qgis.PyQt.QtCore import QSettings
from qgis.PyQt.QtWidgets import QDialog, QMessageBox
# from qgis.PyQt.QtGui import QIcon
@@ -18,7 +18,8 @@ from qgis.PyQt import QtGui
from qgis.core import QgsSettings, Qgis
try:
from .tools.PythonSQL import login_base
if os.path.exists('N:'):
from .tools.PythonSQL import login_base
except ValueError:
print('Pas de fichier PythonSQL')
+4 -3
View File
@@ -4,8 +4,8 @@ from __future__ import absolute_import
# Import the PyQt and QGIS libraries
from builtins import next
from builtins import str
# from builtins import object
# import qgis
import os
from qgis.PyQt.QtCore import QSettings
from qgis.PyQt.QtWidgets import QDialog, QMessageBox
# from qgis.PyQt.QtGui import QIcon
@@ -16,7 +16,8 @@ from qgis.PyQt import QtGui
from qgis.core import QgsSettings
try:
from .tools.PythonSQL import login_base
if os.path.exists('N:'):
from .tools.PythonSQL import login_base
except ValueError:
print('Pas de fichier PythonSQL')
# from .tools.SQLRequet import *
+5 -4
View File
@@ -5,7 +5,7 @@ from __future__ import absolute_import
# from builtins import next
from builtins import str
# from builtins import object
# import qgis
import os
from qgis.PyQt.QtCore import QSettings
from qgis.PyQt.QtWidgets import QDialog, QMessageBox, QDialogButtonBox
# from qgis.PyQt.QtGui import QIcon
@@ -18,7 +18,8 @@ from qgis.PyQt import QtGui
from qgis.core import QgsSettings, QgsDataSourceUri, QgsProject
try:
from .tools.PythonSQL import login_base
if os.path.exists('N:'):
from .tools.PythonSQL import login_base
except ValueError:
print('Pas de fichier PythonSQL')
# from .tools.SQLRequet import *
@@ -48,8 +49,8 @@ try:
dbname = account[4]
cur = account[7]
con = account[8]
except ValueError:
print('')
except NameError:
print('Fails to login DB for account')
class Postgis_Rename(QDialog, EDITOR_CLASS):
+3 -3
View File
@@ -156,7 +156,7 @@ def maj_verif(NAME):
# url = qgis.utils.pluginMetadata(NAME, 'repository')
# URL = url+'/raw/branch/main/plugins.xml'
URL = 'https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/plugins.xml'
# print(URL)
# print(URL)
version = qgis.utils.pluginMetadata(NAME, 'version')
len_version = len(version)
try:
@@ -169,10 +169,10 @@ def maj_verif(NAME):
version_web = str(urllib.request.urlopen(URL).read())
plugin_num = version_web.find(NAME)
valeur_version_web = version_web.find('<version>', plugin_num) + 9
version_plugin = version_web[valeur_version_web:valeur_version_web + len_version]
version_plugin = version_web[valeur_version_web: valeur_version_web + len_version]
if version_plugin != version:
iface.messageBar().pushMessage("MAJ :", "Des mise à jour de plugin sont disponibles.", level=Qgis.Info, duration=30)
except urllib.error.URLError:
except NameError:
print("error gitea version ssl")
else:
iface.messageBar().pushMessage("WiFi :", "Pas de connection à internet.", level=Qgis.Warning, duration=30)
+3 -7
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CenRa_Metabase_editorwidget_base</class>
<widget class="QDialog" name="CenRa_Metabase_editorwidget_base">
<widget class="QDialog" name="CenRa_about_base">
<property name="geometry">
<rect>
<x>0</x>
@@ -13,10 +13,6 @@
<property name="windowTitle">
<string>Journal des modifications</string>
</property>
<property name="windowIcon">
<iconset>
<normaloff>../../CenRa_Metabase/tools/ui/icon.svg</normaloff>../../CenRa_Metabase/tools/ui/icon.svg</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QScrollArea" name="scrollArea">
@@ -38,7 +34,7 @@
<x>0</x>
<y>0</y>
<width>453</width>
<height>570</height>
<height>547</height>
</rect>
</property>
<widget class="QGroupBox" name="groupBox">
@@ -70,7 +66,7 @@
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::NoButton</set>
<set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
+3 -2
View File
@@ -11,9 +11,10 @@
[general]
name=CenRa SICEN
qgisMinimumVersion=3.0
qgisMaximumVersion=4.99
supportsQt6=True
description=Filtre des données saisies dans SICEN et export d'une liste d'espèces.
version=2.1
version=2.2
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr
@@ -22,7 +23,7 @@ email=si_besoin@cen-rhonealpes.fr
# Optional items:
# Uncomment the following line and add your changelog entries:
changelog=<h2>CenRa_SICEN:</h2></br><p><h3>30/07/2025 - Version 2.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 2.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>09/04/2025 - Version 1.11: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 1.10: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 1.9: </h3> - Mise a jour de securite.</p></br><p><h3>07/01/2025 - Version 1.8: </h3> - ByPass du certif ssl ci erreur.</br></p><p><h3>13/09/2024 - Version 1.7:</h3> - Il est maintenant possible de sélectionné plusieurs entité pour le filtre par Emprise.</br>- Ajoute d'un changelog.</br>- Ajoute une vérification de mise à jour.</p>
changelog=<h2>CenRa_SICEN:</h2></br><p><h3>12/03/2026 - Version 2.2: </h3> - qgisMaximumVersion est 4.0.</p></br><p><h3>30/07/2025 - Version 2.1: </h3> - Correctife de bug.</p></br><p><h3>19/05/2025 - Version 2.0: </h3> - Compatible PyQt5 et PyQt6</p></br><p><h3>09/04/2025 - Version 1.11: </h3> - Correctif bug en TT.</p></br><p><h3>09/04/2025 - Version 1.10: </h3> - Optimisation pour le TT.</p></br><p><h3>03/04/2025 - Version 1.9: </h3> - Mise a jour de securite.</p></br><p><h3>07/01/2025 - Version 1.8: </h3> - ByPass du certif ssl ci erreur.</br></p><p><h3>13/09/2024 - Version 1.7:</h3> - Il est maintenant possible de sélectionné plusieurs entité pour le filtre par Emprise.</br>- Ajoute d'un changelog.</br>- Ajoute une vérification de mise à jour.</p>
# tags are comma separated with spaces allowed
tags=cenra, postgis, sicen
+24 -27
View File
@@ -11,7 +11,7 @@ from qgis.PyQt.QtWidgets import QMenu, QAction, QFileDialog
from qgis.PyQt.QtCore import QSettings, QTranslator, QCoreApplication, qVersion
# Initialize Qt resources from file resources.py
from . import resources_rc
# from . import resources_rc
# Import the code for the dialog
from .sicendialog import SICENDialog
@@ -22,21 +22,16 @@ import csv
from .forms.about_form import AboutDialog
# import psycopg2
# import psycopg2.extras
# import base64
import socket
import os
from .tools.resources import maj_verif, pyperclip
from .tools.resources import maj_verif, pyperclip, resources_path
pyperclip()
try:
from .tools.PythonSQL import login_base
except ValueError:
print('Pas de fichier PythonSQL')
# import sys
class SICEN(object):
@@ -73,43 +68,43 @@ class SICEN(object):
self.toolBar.setObjectName("SICEN")
# Create action that will start plugin configuration
self.action = QAction(
QIcon(":/plugins/sicen/sicen.png"),
self.action_open = QAction(
QIcon(resources_path("icon", "sicen.png")),
u"Ouverture des données SICEN", self.iface.mainWindow())
self.action.setEnabled(False)
self.action_open.setEnabled(False)
if os.access('N:/', os.R_OK):
self.action.setEnabled(True)
self.action_open.setEnabled(True)
# connect the action to the run method
self.action.triggered.connect(self.ouverture)
self.action_open.triggered.connect(self.ouverture)
# Add toolbar button and menu item
self.toolBar.addAction(self.action)
self.iface.addPluginToMenu(u"SICEN", self.action)
self.toolBar.addAction(self.action_open)
self.iface.addPluginToMenu(u"SICEN", self.action_open)
# Create action that will start plugin configuration
self.action = QAction(
QIcon(":/plugins/sicen/sicen_export.png"),
self.action_export = QAction(
QIcon(resources_path("icon", "sicen_export.png")),
u"Export liste d'espèces", self.iface.mainWindow())
self.action.setEnabled(False)
self.action_export.setEnabled(False)
IPAddr = socket.gethostbyname(socket.gethostname())
if IPAddr[0:11] == "100.100.100":
self.action.setEnabled(True)
self.action_export.setEnabled(True)
elif IPAddr[0:9] == "192.168.0":
self.action.setEnabled(True)
self.action_export.setEnabled(True)
elif IPAddr[0:9] == "192.168.1":
self.action.setEnabled(True)
self.action_export.setEnabled(True)
# connect the action to the run method
self.action.triggered.connect(self.export)
self.action_export.triggered.connect(self.export)
# Add toolbar button and menu item
self.toolBar.addAction(self.action)
self.iface.addPluginToMenu(u"SICEN", self.action)
self.toolBar.addAction(self.action_export)
self.iface.addPluginToMenu(u"SICEN", self.action_export)
self.menu = QMenu()
self.menu.setTitle(QCoreApplication.translate("SICEN", "&SICEN"))
self.sicen_ouverture = QAction(QIcon(":/plugins/SICEN/sicen.png"), QCoreApplication.translate("SICEN", u"Ouverture des données SICEN"), self.iface.mainWindow())
self.sicen_export = QAction(QIcon(":/plugins/SICEN/sicen_export.png"), QCoreApplication.translate("SICEN", u"Export liste d'espèces"), self.iface.mainWindow())
self.sicen_ouverture = QAction(QIcon(resources_path("icon", "sicen.png")), QCoreApplication.translate("SICEN", u"Ouverture des données SICEN"), self.iface.mainWindow())
self.sicen_export = QAction(QIcon(resources_path("icon", "sicen_export.png")), QCoreApplication.translate("SICEN", u"Export liste d'espèces"), self.iface.mainWindow())
self.menu.addActions([self.sicen_ouverture, self.sicen_export])
@@ -127,8 +122,10 @@ class SICEN(object):
def unload(self):
# Remove the plugin menu item and icon
self.iface.removePluginMenu(u"&SICEN", self.action)
self.iface.removeToolBarIcon(self.action)
self.iface.removePluginMenu(u"&SICEN", self.action_open)
self.iface.removeToolBarIcon(self.action_open)
self.iface.removePluginMenu(u"&SICEN", self.action_export)
self.iface.removeToolBarIcon(self.action_export)
# run method that performs all the real work
def ouverture(self):

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

+1 -1
View File
@@ -90,7 +90,7 @@ def resources_path(*args):
:return: Absolute path to the resources folder.
:rtype: str
"""
path = abspath(abspath(join(plugin_path(), "CenRa_COPIE\\tools")))
path = abspath(abspath(join(plugin_path(), "CenRa_SICEN\\tools")))
for item in args:
path = abspath(join(path, item))
return path
+34 -25
View File
@@ -1,25 +1,27 @@
<plugins>
<pyqgis_plugin name="CenRa_POSTGIS" version="3.1">
<pyqgis_plugin name="CenRa_POSTGIS" version="3.4">
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
<version>3.1</version>
<version>3.4</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<qgis_maximum_version>4.99</qgis_maximum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_POSTGIS.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
<author_name>CEN-Rhone-Alpes</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_POSTGIS.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-02-06</create_date>
<update_date>2025-07-30</update_date>
<create_date>2026-05-21</create_date>
<update_date>2026-03-12</update_date>
<experimental>False</experimental>
<deprecated>False</deprecated>
<tags>cenra,postgis</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_COPIE" version="3.1">
<pyqgis_plugin name="CenRa_COPIE" version="3.2">
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
<version>3.1</version>
<version>3.2</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<qgis_maximum_version>4.99</qgis_maximum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_COPIE.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
@@ -27,16 +29,17 @@
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_COPIE.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-02-06</create_date>
<update_date>2025-07-30</update_date>
<update_date>2026-03-12</update_date>
<experimental>False</experimental>
<deprecated>False</deprecated>
<tags>cenra,copie</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_SICEN" version="2.1">
<pyqgis_plugin name="CenRa_SICEN" version="2.2">
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
<version>2.1</version>
<version>2.2</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<qgis_maximum_version>4.99</qgis_maximum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_SICEN.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
@@ -44,33 +47,35 @@
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_SICEN.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-02-06</create_date>
<update_date>2025-07-30</update_date>
<update_date>2026-03-12</update_date>
<experimental>False</experimental>
<deprecated>False</deprecated>
<tags>cenra,sicen</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_FLUX" version="3.14">
<pyqgis_plugin name="CenRa_FLUX" version="3.24">
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
<version>3.14</version>
<version>3.24</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<qgis_maximum_version>4.99</qgis_maximum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_FLUX.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
<author_name>CEN-Rhone-Alpes</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_FLUX.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-02-06</create_date>
<update_date>2025-12-08</update_date>
<create_date>2026-05-22</create_date>
<update_date>2026-03-12</update_date>
<experimental>False</experimental>
<deprecated>False</deprecated>
<tags>cenra,flux</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_METABASE" version="0.3.1">
<pyqgis_plugin name="CenRa_METABASE" version="0.3.2">
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
<version>0.3.1</version>
<version>0.3.2</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<qgis_maximum_version>4.99</qgis_maximum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_METABASE.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
@@ -78,41 +83,43 @@
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_METABASE.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-09-12</create_date>
<update_date>2025-07-30</update_date>
<update_date>2026-03-12</update_date>
<experimental>True</experimental>
<deprecated>False</deprecated>
<tags>cenra,metabase</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_AUTOMAP" version="2.2">
<pyqgis_plugin name="CenRa_AUTOMAP" version="2.12">
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
<version>2.2</version>
<version>2.12</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<qgis_maximum_version>4.99</qgis_maximum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_AUTOMAP.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
<author_name>CEN-Rhone-Alpes</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_AUTOMAP.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-09-25</create_date>
<update_date>2025-12-12</update_date>
<create_date>2026-06-30</create_date>
<update_date>2026-03-12</update_date>
<experimental>False</experimental>
<deprecated>False</deprecated>
<tags>cenra,mise en page,atlas</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_PAGERENDER" version="0.2.2">
<pyqgis_plugin name="CenRa_PAGERENDER" version="0.2.5">
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
<version>0.2.2</version>
<version>0.2.5</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<qgis_maximum_version>4.99</qgis_maximum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_PAGERENDER.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
<author_name>CEN-Rhone-Alpes</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_PAGERENDER.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-10-09</create_date>
<update_date>2025-12-12</update_date>
<create_date>2026-03-23</create_date>
<update_date>2026-03-12</update_date>
<experimental>True</experimental>
<deprecated>False</deprecated>
<tags>cenra,mise en page,atlas</tags>
@@ -122,6 +129,7 @@
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
<version>0.1.0</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<qgis_maximum_version>4.99</qgis_maximum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_gn2qgis.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
@@ -139,6 +147,7 @@
<description>Depot pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.</description>
<version>0.1.0</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<qgis_maximum_version>4.99</qgis_maximum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>BiodivAURA.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>