From ef13ad82fef7dc55c626597b7c8800fcef03174e Mon Sep 17 00:00:00 2001 From: Renaud Barate Date: Mon, 10 May 2010 12:57:44 +0000 Subject: [PATCH] Added parameter to type "Fichier" to allow files to save (unexisting files) --- InterfaceQT4/monUniqueBasePanel.py | 15 +++++++++++---- Noyau/N_VALIDATOR.py | 11 +++++++++-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/InterfaceQT4/monUniqueBasePanel.py b/InterfaceQT4/monUniqueBasePanel.py index 39d226c3..8906e1b2 100644 --- a/InterfaceQT4/monUniqueBasePanel.py +++ b/InterfaceQT4/monUniqueBasePanel.py @@ -127,10 +127,17 @@ class MonUniqueBasePanel(DUnBase,QTPanel,SaisieValeur): filters = type[1] else: filters = QString() - fichier = QFileDialog.getOpenFileName(self.appliEficas, - self.appliEficas.trUtf8('Ouvrir Fichier'), - self.appliEficas.CONFIGURATION.savedir, - filters) + if len(type) > 2 and type[2] == "Sauvegarde": + fichier = QFileDialog.getSaveFileName(self.appliEficas, + self.appliEficas.trUtf8('Sauvegarder Fichier'), + self.appliEficas.CONFIGURATION.savedir, + filters) + else: + fichier = QFileDialog.getOpenFileName(self.appliEficas, + self.appliEficas.trUtf8('Ouvrir Fichier'), + self.appliEficas.CONFIGURATION.savedir, + filters) + if not(fichier.isNull()): self.lineEditVal.setText(fichier) diff --git a/Noyau/N_VALIDATOR.py b/Noyau/N_VALIDATOR.py index 57b0de9d..c7e65b94 100644 --- a/Noyau/N_VALIDATOR.py +++ b/Noyau/N_VALIDATOR.py @@ -128,8 +128,15 @@ class TypeProtocol(PProtocol): if self.is_object_from(obj,type_permis):return obj elif type_permis == 'Fichier' : import os - if os.path.isfile(obj):return obj - else : raise ValError("%s n'est pas un fichier valide" % repr(obj)) + if len(typ) > 2 and typ[2] == "Sauvegarde": + if os.path.isdir(os.path.dirname(obj)): + return obj + else: + raise ValError("%s n'est pas un répertoire valide" % + os.path.dirname(obj)) + else: + if os.path.isfile(obj):return obj + else : raise ValError("%s n'est pas un fichier valide" % repr(obj)) elif type(type_permis) == types.InstanceType or isinstance(type_permis,object): try: if type_permis.__convert__(obj) : return obj -- 2.39.2