| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- '''
- Boite de dialogue d'édition des paramètres utilisateurs.
- @author: olivier.massot, sept. 2017
- '''
- from PyQt5.Qt import QFileDialog
- from PyQt5.QtWidgets import QDialog, QApplication
- import yaml
- from core import config
- from core.constants import USER_DATA_PATH
- from ui.qt.settings_ui import Ui_settings
- class SettingsDialog(QDialog):
- def __init__(self):
- super(SettingsDialog, self).__init__()
- self.createWidgets()
- def createWidgets(self):
- self.ui = Ui_settings()
- self.ui.setupUi(self)
- self.ui.tabWidget.setCurrentIndex(0)
- self.ui.btn_repertoire_defaut.clicked.connect(self.majRepInput)
- self.ui.btn_repertoire_sortie.clicked.connect(self.majRepOutput)
- self.ui.btnOk.clicked.connect(self.ok)
- self.ui.btnCancel.clicked.connect(self.cancel)
- self.load()
- def load(self):
- self.ui.txt_repertoire_defaut.setText(config.get("repertoire_defaut"))
- self.ui.txt_repertoire_sortie.setText(config.get("repertoire_sortie"))
- self.ui.txt_RaisonSocialeExploitant.setText(config.get("donnees", "commun", "RaisonSocialeExploitant"))
- self.ui.txt_ContactExploitant.setText(config.get("donnees", "commun", "ContactExploitant"))
- self.ui.txt_NoVoieExploitant.setText(config.get("donnees", "commun", "NoVoieExploitant"))
- self.ui.txt_LieuditBPExploitant.setText(config.get("donnees", "commun", "LieuditBPExploitant"))
- self.ui.txt_CodePostalExploitant.setText(config.get("donnees", "commun", "CodePostalExploitant"))
- self.ui.txt_CommuneExploitant.setText(config.get("donnees", "commun", "CommuneExploitant"))
- self.ui.txt_TelExploitant.setText(config.get("donnees", "commun", "TelExploitant"))
- self.ui.txt_FaxExploitant.setText(config.get("donnees", "commun", "FaxExploitant"))
- self.ui.txt_NomResponsableDossier.setText(config.get("donnees", "commun", "NomResponsableDossier"))
- self.ui.txt_DesignationService.setText(config.get("donnees", "commun", "DésignationService"))
- self.ui.txt_TelResponsableDossier.setText(config.get("donnees", "commun", "TelResponsableDossier"))
- self.ui.txt_TelEndommagement.setText(config.get("donnees", "commun", "TelEndommagement"))
- self.ui.txt_NomSignataire.setText(config.get("donnees", "commun", "NomSignataire"))
- def majRepInput(self):
- inputRep = QFileDialog.getExistingDirectory(self, "Répertoire d'entrée", "")
- if inputRep :
- self.ui.txt_repertoire_defaut.setText(inputRep)
- def majRepOutput(self):
- outputRep = QFileDialog.getExistingDirectory(self, "Répertoire de sortie", "")
- if outputRep :
- self.ui.txt_repertoire_sortie.setText(outputRep)
- def save(self):
- new_config = {}
- new_config["repertoire_defaut"] = self.ui.txt_repertoire_defaut.text()
- new_config["repertoire_sortie"] = self.ui.txt_repertoire_sortie.text()
- new_config["donnees"] = {}
- new_config["donnees"]["commun"] = {}
- new_config["donnees"]["commun"]["RaisonSocialeExploitant"] = self.ui.txt_RaisonSocialeExploitant.text()
- new_config["donnees"]["commun"]["ContactExploitant"] = self.ui.txt_ContactExploitant.text()
- new_config["donnees"]["commun"]["NoVoieExploitant"] = self.ui.txt_NoVoieExploitant.text()
- new_config["donnees"]["commun"]["LieuditBPExploitant"] = self.ui.txt_LieuditBPExploitant.text()
- new_config["donnees"]["commun"]["CodePostalExploitant"] = self.ui.txt_CodePostalExploitant.text()
- new_config["donnees"]["commun"]["CommuneExploitant"] = self.ui.txt_CommuneExploitant.text()
- new_config["donnees"]["commun"]["TelExploitant"] = self.ui.txt_TelExploitant.text()
- new_config["donnees"]["commun"]["FaxExploitant"] = self.ui.txt_FaxExploitant.text()
- new_config["donnees"]["commun"]["NomResponsableDossier"] = self.ui.txt_NomResponsableDossier.text()
- new_config["donnees"]["commun"]["DésignationService"] = self.ui.txt_DesignationService.text()
- new_config["donnees"]["commun"]["TelResponsableDossier"] = self.ui.txt_TelResponsableDossier.text()
- new_config["donnees"]["commun"]["TelEndommagement"] = self.ui.txt_TelEndommagement.text()
- new_config["donnees"]["commun"]["NomSignataire"] = self.ui.txt_NomSignataire.text()
- with open(USER_DATA_PATH, "w+") as f:
- yaml.dump(new_config, f)
- # recharge la configuration de l'appli
- config.load()
- def cancel(self):
- self.done(0)
- def ok(self):
- self.save()
- self.done(1)
- if __name__ == "__main__":
- import sys
- app = QApplication(sys.argv)
- config.load()
- dlg = SettingsDialog()
- dlg.show()
- dlg.exec_()
- exit(0)
|