Gestion multi-composeur

This commit is contained in:
Tom LAVEILLE 2025-01-28 16:49:14 +01:00
parent cbe6952c9a
commit be3a082f93
3 changed files with 48 additions and 10 deletions

View File

@ -49,6 +49,7 @@ from qgis.PyQt.QtWidgets import (
QDialog, QDialog,
QAction, QAction,
QMessageBox, QMessageBox,
QPushButton,
QDockWidget, QDockWidget,
QFileDialog, QFileDialog,
QInputDialog, QInputDialog,
@ -438,7 +439,18 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
doc = QDomDocument() doc = QDomDocument()
doc.setContent(template_content) doc.setContent(template_content)
self.layout.loadFromTemplate(doc, QgsReadWriteContext(), True) 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(): if self.radioButton_6.isChecked() and self.radioButton_7.isChecked():
logo_div = A4_size['Portrait']['RIGHT'] logo_div = A4_size['Portrait']['RIGHT']
@ -503,7 +515,7 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
## Ajout d'un titre à la mise en page ## Ajout d'un titre à la mise en page
title = QgsLayoutItemLabel(self.layout) title = QgsLayoutItemLabel(self.layout)
self.layout.addLayoutItem(title) self.layout.addLayoutItem(title)
titre = layout_name titre = titre_layout_name
title.setText(titre) title.setText(titre)
title.setFont(QFont("Calibri", 15, QFont.Bold)) title.setFont(QFont("Calibri", 15, QFont.Bold))
title.setItemRotation(self.template_parameters['Titre_rotate']) 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()) existing_layout = project.layoutManager().layoutByName(self.layout.name())
if existing_layout: 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.radioButton_12.isChecked() != 1:
if self.QMBquestion == QMessageBox.Yes: if self.QMBquestion == QMessageBox.Yes:
project.layoutManager().removeLayout(existing_layout) project.layoutManager().removeLayout(existing_layout)
result = project.layoutManager().addLayout(self.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: else:
existing_layout = True existing_layout = True
@ -757,11 +790,16 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
fichier_mise_en_page = layout_name fichier_mise_en_page = layout_name
layout_modifie = QgsProject.instance().layoutManager().layoutByName(fichier_mise_en_page) layout_modifie = QgsProject.instance().layoutManager().layoutByName(fichier_mise_en_page)
try: 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 del self.QMBquestion
except: except:
TryMessage = True TryMessage = True
print(TryMessage)
if TryMessage == True: if TryMessage == True:
iface.openLayoutDesigner(layout_modifie) iface.openLayoutDesigner(layout_modifie)
self.close() self.close()

View File

@ -6,7 +6,7 @@
name=CenRa_AutoMap name=CenRa_AutoMap
qgisMinimumVersion=3.0 qgisMinimumVersion=3.0
description=CenRa_AutoMap description=CenRa_AutoMap
version=1.0 version=1.1
author=Conservatoire d'Espaces Naturels de Rhône-Alpes author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr 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 hasProcessingProvider=no
# Uncomment the following line and add your changelog: # Uncomment the following line and add your changelog:
changelog=<h2>CenRa_AutoMap:</h2></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>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 are comma separated with spaces allowed
tags=python tags=python

View File

@ -85,9 +85,9 @@
<tags>cenra,metabase</tags> <tags>cenra,metabase</tags>
</pyqgis_plugin> </pyqgis_plugin>
<pyqgis_plugin name="CenRa_AUTOMAP" version="1.0"> <pyqgis_plugin name="CenRa_AUTOMAP" version="1.1">
<description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description> <description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description>
<version>1.0</version> <version>1.1</version>
<qgis_minimum_version>3.16</qgis_minimum_version> <qgis_minimum_version>3.16</qgis_minimum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage> <homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_AUTOMAP.zip</file_name> <file_name>CenRa_AUTOMAP.zip</file_name>
@ -96,7 +96,7 @@
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_AUTOMAP.zip</download_url> <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> <uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-09-25</create_date> <create_date>2024-09-25</create_date>
<update_date>2025-01-27</update_date> <update_date>2025-01-28</update_date>
<experimental>False</experimental> <experimental>False</experimental>
<deprecated>False</deprecated> <deprecated>False</deprecated>
<tags>cenra,mise en page,atlas</tags> <tags>cenra,mise en page,atlas</tags>