X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FgereIcones.py;h=5ab135b5cc95a2c9e5a1025f4f8853ee5a970f7d;hb=96176d0080e0d4efbd29d98c0df700a64a82acdc;hp=e5f2bf2f94b1cb66bd84f0b47701540d4024f155;hpb=1b91010fc2c0a681db9177d6fa0e4e0af866ec31;p=tools%2Feficas.git diff --git a/InterfaceQT4/gereIcones.py b/InterfaceQT4/gereIcones.py index e5f2bf2f..5ab135b5 100644 --- a/InterfaceQT4/gereIcones.py +++ b/InterfaceQT4/gereIcones.py @@ -29,7 +29,7 @@ import types,os,re,sys import traceback import six -from PyQt5.QtWidgets import QMessageBox, QFileDialog , QMenu, QPushButton +from PyQt5.QtWidgets import QMessageBox, QFileDialog , QMenu, QPushButton, QTreeView ,QListView, QAbstractItemView from PyQt5.QtGui import QIcon from PyQt5.QtCore import QFileInfo, Qt, QSize, QVariant @@ -134,7 +134,11 @@ class FacultatifOuOptionnel(object): if not ( hasattr(self,"BFichier")): return mc = self.node.item.get_definition() mctype = mc.type[0] - if mctype == "Repertoire": + if mctype == "FichierOuRepertoire": + self.BFichierOuRepertoire=self.BFichier + self.BFichierOuRepertoire.clicked.connect(self.BFichierOuRepertoirePressed) + self.BVisuFichier.close() + elif mctype == "Repertoire": self.BRepertoire=self.BFichier self.BRepertoire.clicked.connect(self.BRepertoirePressed) self.BVisuFichier.close() @@ -296,6 +300,50 @@ class ContientIcones(object): elif hasattr(self, "BSelectInFile"): self.BSelectInFile.setVisible(0) + def BFichierOuRepertoirePressed(self): + self.fileName="" + print (0) + self.file_dialog=QFileDialog() + print (1) + self.file_dialog.setFileMode(QFileDialog.Directory); + print (2) + self.file_dialog.setFileMode(QFileDialog.Directory|QFileDialog.ExistingFiles) + print (3) + self.file_dialog.setOption(QFileDialog.DontUseNativeDialog,True); + self.file_dialog.setWindowTitle('Choose File or Directory') + self.explore(self.file_dialog) + self.file_dialog.exec_() + if self.fileName == "" : return + self.lineEditVal.setText(self.fileName) + self.LEValeurPressed() + + + def explore(self,widget): + for c in widget.children() : + if isinstance(c, QTreeView) : + c.clicked.connect (self.changeBoutonOpen) + self.monTreeView=c + try : + if c.text() == "&Open" : self.monBoutonOpen=c + except : pass + self.explore(c) + + + def changeBoutonOpen(self): + self.monBoutonOpen.setEnabled(True) + self.monBoutonOpen.setText("Choose") + self.monBoutonOpen.clicked.connect(self.monBoutonOpenClicked) + index = self.monTreeView.currentIndex(); + self.fileName2 = self.monTreeView.model().data(index) + + def monBoutonOpenClicked(self): + try : + self.fileName=self.file_dialog.selectedFiles()[0] + except : + self.fileName=self.file_dialog.directory().absolutePath() + self.file_dialog.close() + self.file_dialog=None + def BRepertoirePressed(self): directory = QFileDialog.getExistingDirectory(self.appliEficas, directory = self.appliEficas.CONFIGURATION.savedir, @@ -324,7 +372,7 @@ class ContientIcones(object): if "GROUP_MA" in e: kwType = "GROUP_MA" if 'grno' in repr(kwType): kwType = "GROUP_NO" - if 'grma' in repr(kwType): kwType = "GROUP_NO" + if 'grma' in repr(kwType): kwType = "GROUP_MA" if kwType in ("GROUP_NO","GROUP_MA"): selection, commentaire = self.appliEficas.selectGroupFromSalome(kwType,editor=self.editor)