settings.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. '''
  2. Boite de dialogue d'édition des paramètres utilisateurs.
  3. @author: olivier.massot, sept. 2017
  4. '''
  5. from PyQt5.Qt import QFileDialog
  6. from PyQt5.QtWidgets import QDialog, QApplication
  7. import yaml
  8. from core import config
  9. from core.constants import USER_DATA_PATH
  10. from ui.qt.settings_ui import Ui_settings
  11. class SettingsDialog(QDialog):
  12. def __init__(self):
  13. super(SettingsDialog, self).__init__()
  14. self.createWidgets()
  15. def createWidgets(self):
  16. self.ui = Ui_settings()
  17. self.ui.setupUi(self)
  18. self.ui.tabWidget.setCurrentIndex(0)
  19. self.ui.btn_repertoire_defaut.clicked.connect(self.majRepInput)
  20. self.ui.btn_repertoire_sortie.clicked.connect(self.majRepOutput)
  21. self.ui.btnOk.clicked.connect(self.ok)
  22. self.ui.btnCancel.clicked.connect(self.cancel)
  23. self.load()
  24. def load(self):
  25. self.ui.txt_repertoire_defaut.setText(config.get("repertoire_defaut"))
  26. self.ui.txt_repertoire_sortie.setText(config.get("repertoire_sortie"))
  27. self.ui.txt_RaisonSocialeExploitant.setText(config.get("donnees", "commun", "RaisonSocialeExploitant"))
  28. self.ui.txt_ContactExploitant.setText(config.get("donnees", "commun", "ContactExploitant"))
  29. self.ui.txt_NoVoieExploitant.setText(config.get("donnees", "commun", "NoVoieExploitant"))
  30. self.ui.txt_LieuditBPExploitant.setText(config.get("donnees", "commun", "LieuditBPExploitant"))
  31. self.ui.txt_CodePostalExploitant.setText(config.get("donnees", "commun", "CodePostalExploitant"))
  32. self.ui.txt_CommuneExploitant.setText(config.get("donnees", "commun", "CommuneExploitant"))
  33. self.ui.txt_TelExploitant.setText(config.get("donnees", "commun", "TelExploitant"))
  34. self.ui.txt_FaxExploitant.setText(config.get("donnees", "commun", "FaxExploitant"))
  35. self.ui.txt_NomResponsableDossier.setText(config.get("donnees", "commun", "NomResponsableDossier"))
  36. self.ui.txt_DesignationService.setText(config.get("donnees", "commun", "DésignationService"))
  37. self.ui.txt_TelResponsableDossier.setText(config.get("donnees", "commun", "TelResponsableDossier"))
  38. self.ui.txt_TelEndommagement.setText(config.get("donnees", "commun", "TelEndommagement"))
  39. self.ui.txt_NomSignataire.setText(config.get("donnees", "commun", "NomSignataire"))
  40. def majRepInput(self):
  41. inputRep = QFileDialog.getExistingDirectory(self, "Répertoire d'entrée", "")
  42. if inputRep :
  43. self.ui.txt_repertoire_defaut.setText(inputRep)
  44. def majRepOutput(self):
  45. outputRep = QFileDialog.getExistingDirectory(self, "Répertoire de sortie", "")
  46. if outputRep :
  47. self.ui.txt_repertoire_sortie.setText(outputRep)
  48. def save(self):
  49. new_config = {}
  50. new_config["repertoire_defaut"] = self.ui.txt_repertoire_defaut.text()
  51. new_config["repertoire_sortie"] = self.ui.txt_repertoire_sortie.text()
  52. new_config["donnees"] = {}
  53. new_config["donnees"]["commun"] = {}
  54. new_config["donnees"]["commun"]["RaisonSocialeExploitant"] = self.ui.txt_RaisonSocialeExploitant.text()
  55. new_config["donnees"]["commun"]["ContactExploitant"] = self.ui.txt_ContactExploitant.text()
  56. new_config["donnees"]["commun"]["NoVoieExploitant"] = self.ui.txt_NoVoieExploitant.text()
  57. new_config["donnees"]["commun"]["LieuditBPExploitant"] = self.ui.txt_LieuditBPExploitant.text()
  58. new_config["donnees"]["commun"]["CodePostalExploitant"] = self.ui.txt_CodePostalExploitant.text()
  59. new_config["donnees"]["commun"]["CommuneExploitant"] = self.ui.txt_CommuneExploitant.text()
  60. new_config["donnees"]["commun"]["TelExploitant"] = self.ui.txt_TelExploitant.text()
  61. new_config["donnees"]["commun"]["FaxExploitant"] = self.ui.txt_FaxExploitant.text()
  62. new_config["donnees"]["commun"]["NomResponsableDossier"] = self.ui.txt_NomResponsableDossier.text()
  63. new_config["donnees"]["commun"]["DésignationService"] = self.ui.txt_DesignationService.text()
  64. new_config["donnees"]["commun"]["TelResponsableDossier"] = self.ui.txt_TelResponsableDossier.text()
  65. new_config["donnees"]["commun"]["TelEndommagement"] = self.ui.txt_TelEndommagement.text()
  66. new_config["donnees"]["commun"]["NomSignataire"] = self.ui.txt_NomSignataire.text()
  67. with open(USER_DATA_PATH, "w+") as f:
  68. yaml.dump(new_config, f)
  69. # recharge la configuration de l'appli
  70. config.load()
  71. def cancel(self):
  72. self.done(0)
  73. def ok(self):
  74. self.save()
  75. self.done(1)
  76. if __name__ == "__main__":
  77. import sys
  78. app = QApplication(sys.argv)
  79. config.load()
  80. dlg = SettingsDialog()
  81. dlg.show()
  82. dlg.exec_()
  83. exit(0)