From be3a082f93ca74d862a8ebbdde7720b537dfc83a Mon Sep 17 00:00:00 2001 From: Tom LAVEILLE Date: Tue, 28 Jan 2025 16:49:14 +0100 Subject: [PATCH] Gestion multi-composeur --- CenRa_AUTOMAP/canvas_editor.py | 48 ++++++++++++++++++++++++++++++---- CenRa_AUTOMAP/metadata.txt | 4 +-- plugins.xml | 6 ++--- 3 files changed, 48 insertions(+), 10 deletions(-) diff --git a/CenRa_AUTOMAP/canvas_editor.py b/CenRa_AUTOMAP/canvas_editor.py index 5e36bb7..40c28cd 100644 --- a/CenRa_AUTOMAP/canvas_editor.py +++ b/CenRa_AUTOMAP/canvas_editor.py @@ -49,6 +49,7 @@ from qgis.PyQt.QtWidgets import ( QDialog, QAction, QMessageBox, + QPushButton, QDockWidget, QFileDialog, QInputDialog, @@ -438,7 +439,18 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): doc = QDomDocument() doc.setContent(template_content) self.layout.loadFromTemplate(doc, QgsReadWriteContext(), True) - self.layout.setName(layout_name) + + try: + cutLayout = layout_name.index("¶") + except: + cutLayout = 0 + + if cutLayout >= 1: + self.layout.setName(layout_name) + titre_layout_name=layout_name[:cutLayout] + else: + self.layout.setName(layout_name) + titre_layout_name = layout_name if self.radioButton_6.isChecked() and self.radioButton_7.isChecked(): logo_div = A4_size['Portrait']['RIGHT'] @@ -503,7 +515,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): ## Ajout d'un titre à la mise en page title = QgsLayoutItemLabel(self.layout) self.layout.addLayoutItem(title) - titre = layout_name + titre = titre_layout_name title.setText(titre) title.setFont(QFont("Calibri", 15, QFont.Bold)) title.setItemRotation(self.template_parameters['Titre_rotate']) @@ -737,11 +749,32 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): existing_layout = project.layoutManager().layoutByName(self.layout.name()) if existing_layout: - self.QMBquestion = QMessageBox.question(iface.mainWindow(), u"Attention !","Mise en page existente, la mise en page vas être écraser !",QMessageBox.Yes | QMessageBox.No) + self.QMBquestion = QMessageBox() + self.QMBquestion.setWindowTitle(u"Attention !") + self.QMBquestion.setIcon(QMessageBox.Warning) + self.QMBquestion.setText("Mise en page existente, la mise en page vas être écraser !") + self.QMBquestion.setStandardButtons(QMessageBox.Yes|QMessageBox.No) + self.QMBquestion.addButton(QPushButton('Autre mise en page'),QMessageBox.AcceptRole) + self.QMBquestion = self.QMBquestion.exec() + #if self.radioButton_12.isChecked() != 1: if self.QMBquestion == QMessageBox.Yes: project.layoutManager().removeLayout(existing_layout) result = project.layoutManager().addLayout(self.layout) + if self.QMBquestion == QMessageBox.AcceptRole: + LayoutCOUNT=0 + arrayManager = [] + for AddArrayManager in project.layoutManager().layouts(): + arrayManager.append(AddArrayManager.name()) + arrayManager.sort() + for LayoutNAME in arrayManager: + if LayoutNAME == layout_name: + LayoutCOUNT = LayoutCOUNT+1 + if LayoutNAME == layout_name+"¶"+str(LayoutCOUNT): + LayoutCOUNT=LayoutCOUNT+1 + layout_name = (layout_name+"¶"+str(LayoutCOUNT)) + self.layout.setName(layout_name) + else: existing_layout = True @@ -757,11 +790,16 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS): fichier_mise_en_page = layout_name layout_modifie = QgsProject.instance().layoutManager().layoutByName(fichier_mise_en_page) try: - TryMessage = (self.QMBquestion == QMessageBox.Yes) + if (self.QMBquestion == QMessageBox.AcceptRole): + TryMessage = (self.QMBquestion == QMessageBox.AcceptRole) + elif (self.QMBquestion == QMessageBox.Yes): + TryMessage = (self.QMBquestion == QMessageBox.Yes) + else: + TryMessage = False del self.QMBquestion except: TryMessage = True - print(TryMessage) + if TryMessage == True: iface.openLayoutDesigner(layout_modifie) self.close() diff --git a/CenRa_AUTOMAP/metadata.txt b/CenRa_AUTOMAP/metadata.txt index 3d11e7c..5c2416f 100644 --- a/CenRa_AUTOMAP/metadata.txt +++ b/CenRa_AUTOMAP/metadata.txt @@ -6,7 +6,7 @@ name=CenRa_AutoMap qgisMinimumVersion=3.0 description=CenRa_AutoMap -version=1.0 +version=1.1 author=Conservatoire d'Espaces Naturels de Rhône-Alpes email=si_besoin@cen-rhonealpes.fr @@ -21,7 +21,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=

CenRa_AutoMap:


27/01/2025 - Version 1.0:

- Version releases.
- Ajoute un message d'avertissement au moment d'écraser la mise en page.
- Ajoute prénom et nom dans la réalisation.
- Utilisation de Calibri.


13/01/2025 - Version 0.1.10:

- Correctif.


07/01/2025 - Version 0.1.9:

- ByPass du certif ssl ci erreur.


19/12/2024 - Version 0.1.8:

- Nouvelle mise en page.
- Incrémentation automatique de nouveau modele de mise en page.
- Correctif de bug.


21/10/2024 - Version 0.1.7:

- Epurations du code.


07/10/2024 - Version 0.1.6:

- Option de bibliotheque de logo custome.


03/10/2024 - Version 0.1.5:

- Remonte la fênetre dans la pille.
- Gestion du nombre de colonne dans la légend.


02/10/2024 - Version 0.1.4:

- Mise en page plein écrant.


01/10/2024 - Version 0.1.3:

- Récupération du titre et sous-titre pour mise en page existente.
- Integration de bibliotheque de logo.
- Integration de gestionaire pour les source de donnée.
- Mise en place d'une bar d'echelle adaptative.


30/09/2024 - Version 0.1.2:

- Activation du thème.
- Ajouter une carte de suivie.


27/09/2024 - Version 0.1.1:

- Ajout d'une liste déroulante pour les sources de données.
- Bouton pour ajouter des fonts de carte customisés.
- Fonctionnalité de génération d'atlas.


26/09/2024 - Version 0.1.0:

- Lancement du plugin CenRa_AutoMap avec une seul mise en page.


+changelog=

CenRa_AutoMap:


28/01/2025 - Version 1.1:

- Multi-Composeur pris en charge.


27/01/2025 - Version 1.0:

- Version releases.
- Ajoute un message d'avertissement au moment d'écraser la mise en page.
- Ajoute prénom et nom dans la réalisation.
- Utilisation de Calibri.


13/01/2025 - Version 0.1.10:

- Correctif.


07/01/2025 - Version 0.1.9:

- ByPass du certif ssl ci erreur.


19/12/2024 - Version 0.1.8:

- Nouvelle mise en page.
- Incrémentation automatique de nouveau modele de mise en page.
- Correctif de bug.


21/10/2024 - Version 0.1.7:

- Epurations du code.


07/10/2024 - Version 0.1.6:

- Option de bibliotheque de logo custome.


03/10/2024 - Version 0.1.5:

- Remonte la fênetre dans la pille.
- Gestion du nombre de colonne dans la légend.


02/10/2024 - Version 0.1.4:

- Mise en page plein écrant.


01/10/2024 - Version 0.1.3:

- Récupération du titre et sous-titre pour mise en page existente.
- Integration de bibliotheque de logo.
- Integration de gestionaire pour les source de donnée.
- Mise en place d'une bar d'echelle adaptative.


30/09/2024 - Version 0.1.2:

- Activation du thème.
- Ajouter une carte de suivie.


27/09/2024 - Version 0.1.1:

- Ajout d'une liste déroulante pour les sources de données.
- Bouton pour ajouter des fonts de carte customisés.
- Fonctionnalité de génération d'atlas.


26/09/2024 - Version 0.1.0:

- Lancement du plugin CenRa_AutoMap avec une seul mise en page.


# Tags are comma separated with spaces allowed tags=python diff --git a/plugins.xml b/plugins.xml index f6bc01a..f76c821 100644 --- a/plugins.xml +++ b/plugins.xml @@ -85,9 +85,9 @@ cenra,metabase - + - 1.0 + 1.1 3.16 https://plateformesig.cenra-outils.org/ CenRa_AUTOMAP.zip @@ -96,7 +96,7 @@ https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_AUTOMAP.zip CEN-Rhone-Alpes 2024-09-25 - 2025-01-27 + 2025-01-28 False False cenra,mise en page,atlas