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