Amelioration des messages d'avertissement lors de la suppression d'une categorie

Meilleure gestion des caracteres interdits lors de la creation d'une categorie ou d'un element
Mise a jour des traductions


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@248 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet 2007-12-23 01:15:16 +00:00
parent e9d603d767
commit 55ad8c152c
7 changed files with 340 additions and 376 deletions

View File

@ -42,11 +42,15 @@ void ElementsCategoryDeleter::exec() {
// verifie l'existence de la categorie
if (!cat.exists() || empty_category_path) return;
QString cat_name(cat.name().replace("<", "&lt;").replace(">", "&gt;"));
// confirmation #1
QMessageBox::StandardButton answer_1 = QMessageBox::question(
this,
tr("Supprimer la cat\351gorie ?"),
tr("\312tes-vous s\373r de vouloir supprimer cette cat\351gorie ?\n"
tr("\312tes-vous s\373r de vouloir supprimer la cat\351gorie <b>") +
cat_name
+ tr("</b> ?\n"
"Tous les \351l\351ments et les cat\351gories contenus dans cette "
"cat\351gorie seront supprim\351s"),
QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel
@ -58,7 +62,9 @@ void ElementsCategoryDeleter::exec() {
this,
tr("Supprimer la cat\351gorie ?"),
tr("\312tes-vous vraiment s\373r de vouloir supprimer cette "
"cat\351gorie ?\nLes changements seront d\351finitifs."),
"cat\351gorie (<b>") +
cat_name
+ tr("</b>) ?\nLes changements seront d\351finitifs."),
QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel
);
if (answer_2 != QMessageBox::Yes) return;

View File

@ -18,6 +18,7 @@
#include "elementscategoryeditor.h"
#include "elementscategory.h"
#include "nameslistwidget.h"
#include "qet.h"
/**
Constructeur fournissant un dialogue d'edition de categorie.
@ -100,7 +101,8 @@ void ElementsCategoryEditor::acceptCreation() {
}
// cree un nom de dossier a partir du 1er nom de la categorie
QString dirname = names[names.langs().first()].toLower().replace(" ", "_");
QString dirname = names[names.langs().first()].toLower().replace(" ", "_");
foreach(QChar c, QET::forbiddenCharacters()) dirname = dirname.replace(c, "_");
category -> setPath(category -> path() + "/" + dirname);
category -> write();

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,7 @@
#include "hotspoteditor.h"
#include "element.h"
#include "qetelementeditor.h"
#include "qet.h"
/**
Constructeur
@ -193,6 +194,16 @@ bool NewElementWizard::validStep2() {
if (!file_name.endsWith(".elmt")) file_name += ".elmt";
// le nom de fichier contient peut etre des caracteres interdits
if (QET::containsForbiddenCharacters(file_name)) {
QMessageBox::critical(
this,
tr("Erreur"),
tr("Merci de ne pas utiliser les caract\350res suivants : \\ / : * ? \" < > |")
);
return(false);
}
// le fichier existe peut etre deja
if (QFileInfo(dir_path + "/" + file_name).exists()) {
QMessageBox::StandardButton answer = QMessageBox::question(

21
qet.cpp
View File

@ -217,3 +217,24 @@ QString QET::license() {
}
return(txt_license);
};
/**
@return la liste des caracteres interdits dans les noms de fichiers sous
Windows
*/
QList<QChar> QET::forbiddenCharacters() {
return(QList<QChar>() << '\\' << '/' << ':' << '*' << '?' << '"' << '<' << '>' << '|');
}
/**
@param string une chaine de caracteres
@return true si string contient un caractere interdit dans les noms de
fichiers sous Windows
*/
bool QET::containsForbiddenCharacters(const QString &string) {
foreach(QChar c, QET::forbiddenCharacters()) {
if (string.contains(c)) return(true);
}
return(false);
}

2
qet.h
View File

@ -42,5 +42,7 @@ namespace QET {
bool attributeIsAReal(const QDomElement &, QString , double * = NULL);
QString ElementsAndConductorsSentence(int, int, int = 0);
QList<QDomElement> findInDomElement(const QDomElement &, const QString &, const QString &);
QList<QChar> forbiddenCharacters();
bool containsForbiddenCharacters(const QString &);
}
#endif