1 # -*- coding: utf-8 -*-
5 from PyQt4.QtGui import *
6 from PyQt4.QtCore import *
8 from OptionsEditeur import Ui_desOptions
11 class desOptions(Ui_desOptions,QDialog):
12 def __init__(self,parent ,modal ) :
13 QDialog.__init__(self,parent)
17 class Options(desOptions):
18 def __init__(self,parent = None,modal = 0,configuration=None):
20 desOptions.__init__(self,parent,modal)
21 self.configuration=configuration
26 self.connecterSignaux()
29 def connecterSignaux(self) :
30 self.connect(self.CBVersions,SIGNAL("activated(int)"),self.VersionChoisie)
31 self.connect(self.Bdefaut,SIGNAL("clicked()"),self.BdefautChecked)
32 self.connect(self.LEVersionAjout,SIGNAL("returnPressed()"),self.AjoutVersion)
33 self.connect(self.LERepDoc,SIGNAL("returnPressed()"),self.ChangePathDoc)
34 self.connect(self.Bok,SIGNAL("clicked()"),self.BokClicked)
35 self.connect(self.LEVersionSup,SIGNAL("returnPressed()"),self.SupVersion)
36 self.connect(self.PBajout,SIGNAL("clicked()"),self.AjoutVersion)
37 self.connect(self.PBQuit,SIGNAL("clicked()"),self.close)
38 self.connect(self.LERepDoc,SIGNAL("textChanged(const QString&)"),self.ChangePathDoc)
42 self.CBVersions.clear()
43 for item in self.configuration.catalogues :
45 (code,version,cata,format,defaut)=item
47 (code,version,cata,format)=item
48 self.dVersion[version]=(item)
49 self.dRepCat[version]=str(cata)
50 self.CBVersions.addItem(QString(version))
52 codeSansPoint=re.sub("\.","",version)
53 chaine="rep_mat_"+codeSansPoint
54 if hasattr(self.configuration,chaine):
55 rep_mat=getattr(self.configuration,chaine)
56 self.dRepMat[version]=str(rep_mat)
58 self.dRepMat[version]=""
59 self.LERepMat.setText(self.dRepMat[version])
60 self.LERepCata.setText(self.dRepCat[version])
61 if hasattr(self.configuration,"path_doc"):
62 self.LERepDoc.setText(self.configuration.path_doc)
65 def VersionChoisie(self):
66 version=str(self.CBVersions.currentText())
67 if self.dRepMat.has_key(version):
68 self.LERepMat.setText(self.dRepMat[version])
69 if self.dRepCat.has_key(version):
70 self.LERepCata.setText(self.dRepCat[version])
73 version=str(self.CBVersions.currentText())
74 if self.LERepCata.text() == "" :
75 QMessageBox.critical( self, "Champ non rempli","Le champs Catalogue doit etre rempli" )
78 self.dRepMat[version]=self.LERepMat.text()
79 if str(self.dRepMat[version] != "") != "" :
80 codeSansPoint=re.sub("\.","",version)
81 chaine="rep_mat_"+codeSansPoint
82 setattr(self.configuration,chaine,self.dRepMat[version])
84 self.dRepCat[version]=str(self.LERepCata.text())
85 if version in self.dVersion.keys():
86 item=list(self.dVersion[version])
87 item[2]=self.dRepCat[version]
88 self.dVersion[version]=tuple(item)
90 self.dVersion[version]=('ASTER',version,self.dRepCat[version],'python')
93 for version in self.dVersion.keys() :
94 lItem.append(self.dVersion[version])
95 self.configuration.catalogues=lItem
96 self.configuration.save_params()
98 def AjoutVersion(self):
99 version=self.LEVersionAjout.text()
100 if str(version) == "" : return
101 self.CBVersions.addItem(version)
102 self.LERepMat.setText("")
103 self.LERepCata.setText("")
104 self.LEVersionAjout.setText("")
105 self.CBVersions.setCurrentIndex(self.CBVersions.count()-1)
107 def SupVersion(self):
108 version=str(self.LEVersionSup.text())
109 if version == "" : return
111 while i < self.CBVersions.count() :
112 if self.CBVersions.itemText(i) == version :
113 self.CBVersions.removeItem(i)
117 del self.dVersion[version]
118 del self.dRepMat[version]
119 del self.dRepCat[version]
121 self.LEVersionSup.setText("")
123 codeSansPoint=re.sub("\.","",version)
124 chaine="rep_mat_"+codeSansPoint
125 if hasattr(self.configuration,chaine):
126 delattr(self.configuration,chaine)
127 self.LEVersionSup.setText("")
130 for version in self.dVersion.keys() :
131 lItem.append(self.dVersion[version])
132 self.LERepMat.setText("")
133 self.LERepCata.setText("")
134 self.configuration.catalogues=lItem
135 self.configuration.save_params()
136 self.CBVersions.setCurrentIndex(0)
137 self.VersionChoisie()
140 def BdefautChecked(self):
141 res = QMessageBox.warning(
143 self.trUtf8("Restauration des parametres par defaut "),
144 self.trUtf8("Votre fichier editeur sera ecrase."),
146 self.trUtf8("&Abandonner"))
147 self.Bdefaut.setState(QButton.Off)
150 appli=self.configuration.appli
151 repIni=self.configuration.REPINI
152 fic_ini_util=self.configuration.fic_ini_utilisateur
153 old_fic_ini_util=fic_ini_util+"_old"
154 commande="mv "+fic_ini_util+" "+old_fic_ini_util
157 nameConf='configuration_'+prefs.code
158 configuration=__import__(nameConf)
160 configNew=configuration.CONFIG(appli,repIni)
161 self.configuration=configNew
162 appli.CONFIGURATION=configNew
163 self.configuration.save_params()
169 def ChangePathDoc(self):
170 self.configuration.path_doc=str(self.LERepDoc.text())
171 self.configuration.save_params()