diff --git a/elementscategorydeleter.cpp b/elementscategorydeleter.cpp
index 6bd47ba4e..3e74e9069 100644
--- a/elementscategorydeleter.cpp
+++ b/elementscategorydeleter.cpp
@@ -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("<", "<").replace(">", ">"));
+
// 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 ") +
+ cat_name
+ + tr(" ?\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 (") +
+ cat_name
+ + tr(") ?\nLes changements seront d\351finitifs."),
QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel
);
if (answer_2 != QMessageBox::Yes) return;
diff --git a/elementscategoryeditor.cpp b/elementscategoryeditor.cpp
index f84650457..a1463afa5 100644
--- a/elementscategoryeditor.cpp
+++ b/elementscategoryeditor.cpp
@@ -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();
diff --git a/lang/qet_en.qm b/lang/qet_en.qm
index e2d36ec5f..8ad831360 100644
Binary files a/lang/qet_en.qm and b/lang/qet_en.qm differ
diff --git a/lang/qet_en.ts b/lang/qet_en.ts
index 1bbaa324e..40a357828 100644
--- a/lang/qet_en.ts
+++ b/lang/qet_en.ts
@@ -52,62 +52,62 @@
ArcEditor
-
+ Centre : Center:
-
+ Diamètres : Diameters:
-
+ horizontal :horizontal:
-
+ vertical :vertical:
-
+ Angle de départ :Start angle:
-
+ Angle :Angle:
-
+ abscisseabscissa
-
+ ordonnéeordinate
-
+ diamètre horizontalhorizontal diameter
-
+ diamètre verticalvertical diameter
-
+ angle de départstart angle
-
+ angleangle
@@ -143,27 +143,27 @@
CircleEditor
-
+ Centre : Center:
-
+ Diamètre : Diameter:
-
+ abscisseabscissa
-
+ ordonnéeordinate
-
+ diamètrediameter
@@ -219,128 +219,85 @@
Configure QElectroTech
-
- Diagram
-
-
- Avertissement
- Warning
-
-
-
- Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue.
- This document seems to have been saved by a more recent version of QElectroTech. The opening of the document may fail totally or partially.
-
-DiagramView
-
+ ? ?
-
- Auteur :
- Author:
-
-
-
- Date :
- Date:
-
-
-
+ Enregistrer le schéma en cours ?Save the current diagram ?
-
+ Enregistrer sousSave as
-
+ ErreurError
-
- Fichier :
- File:
-
-
-
- Folio :
- Folio:
-
-
-
+ Impossible d'ecrire dans ce fichierCan't write to the file
-
+ Schéma QElectroTech (*.qet)QElectroTech Diagram (*.qet)
-
- Titre :
- Title:
-
-
-
+ Voulez-vous enregistrer le schéma Do you wish to save the diagram
-
+ nouveau schémanew diagram
-
+ Éditer les propriétés d'un conducteurEdit conductor properties
-
+ Propriétés du schémaDiagram properties
-
+ Dimensions du schémaDiagram size
-
+ Colonnes :Columns:
-
+ ××
-
+ pxpx
-
+ Hauteur :Height:
-
- Informations du cartouche
- Inset properties
-
-
-
+ Éditer les propriétés par défaut des conducteursEdit conductors default properties
@@ -350,22 +307,12 @@
Paste Here
-
- Pas de date
- No date
-
-
-
- Date fixe :
- Fixed Date:
-
-
-
+ AvertissementWarning
-
+ Ce document semble avoir été enregistré avec une version ultérieure de QElectroTech. Il est possible que l'ouverture de tout ou partie de ce document échoue.This document seems to have been saved by a more recent version of QElectroTech. The opening of the document may fail totally or partially.
@@ -410,82 +357,82 @@ Check your rights on the file
line
-
+ ellipseellipse
-
+ arcarc
-
+ cerclecircle
-
+ borneterminal
-
+ textetext
-
+ champ de textetextfield
-
+ polygonepolygon
-
+ Ce document XML n'est pas une definition d'élément.This XML document is not an element definition.
-
+ Les dimensions ou le point de saisie ne sont pas valides.The size or the hotspot are not valid.
-
+ Les orientations ne sont pas valides.Orientations are not valids.
-
+ Éditer la taille et le point de saisieEdit size and hotspot
-
+ Éditer les orientationsEdit orientations
-
+ L'orientation par défaut est l'orientation dans laquelle s'effectue la création de l'élément.Default orientation is the orientation which the drawing of the element takes place with.
-
+ Éditer les nomsEdit names
-
+ Vous pouvez spécifier le nom de l'élément dans plusieurs langues.You may enter the element name in several languages.
-
+ Autoriser les connexions internesAllow internal connections
@@ -493,10 +440,15 @@ Check your rights on the file
ElementsCategoriesList
-
+ Collection utilisateurUser Collection
+
+
+ Collection QET
+ QET Collection
+ ElementsCategoriesWidget
@@ -524,71 +476,81 @@ Check your rights on the file
ElementsCategoryDeleter
-
+ Supprimer la catégorie ?Delete category ?
-
- Êtes-vous sûr de vouloir supprimer cette catégorie ?
-Tous les éléments et les catégories contenus dans cette catégorie seront supprimés
- Do you really wish to delete this category ?
-Every elements and categories nestd in this category will be deleted
-
-
-
- Êtes-vous vraiment sûr de vouloir supprimer cette catégorie ?
-Les changements seront définitifs.
- Are you really really sure you want to delete this category ?
-Changes will be permanent.
-
-
-
+ Suppression de la catégorieCategory deletion
-
+ La suppression de la catégorie a échoué.
Vérifiez vos droits sur le dossier Category deletion failed.
Please check rights of the directory
-
+ ..
+
+
+ Êtes-vous sûr de vouloir supprimer la catégorie <b>
+ Do you really wish to delete this category <b>
+
+
+
+ </b> ?
+Tous les éléments et les catégories contenus dans cette catégorie seront supprimés
+ </b>?
+Every elements and categories nested in this category will be deleted
+
+
+
+ Êtes-vous vraiment sûr de vouloir supprimer cette catégorie (<b>
+ Are you really really sure you want to delete this category (<b>
+
+
+
+ </b>) ?
+Les changements seront définitifs.
+ </b>) ?
+Changes will be permanent.
+ ElementsCategoryEditor
-
+ Créer une nouvelle catégorieAdd a new category
-
+ Éditer une catégorieEdit category
-
+ Nom de la nouvelle catégorieName of the new category
-
+ Vous pouvez spécifier un nom par langue pour la catégorie.You can add a name per language for the category.
-
+ Édition en lecture seuleRead only edition
-
+ Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule.You are not allowed to modify this category. Thus it will be edited read-only.
@@ -596,22 +558,22 @@ Please check rights of the directory
ElementsPanel
-
+ Ceci est un élément que vous pouvez insérer dans votre schéma par cliquer-déplacerThis is an element you can drag'n drop onto your diagram
-
+ Cliquer-déposez cet élément sur le schéma pour insérer un élément Drag'n drop this element to the diagram to insert a
-
+ Collection QETQET Collection
-
+ Collection utilisateurUser Collection
@@ -667,42 +629,42 @@ Please check rights of the directory
EllipseEditor
-
+ Centre : Center:
-
+ Diamètres : Diameters:
-
+ horizontal :horizontal:
-
+ vertical :vertical:
-
+ abscisseabscissa
-
+ ordonnéeordinate
-
+ diamètre horizontalhorizontal diameter
-
+ diamètre verticalvertical diameter
@@ -710,142 +672,142 @@ Please check rights of the directory
ExportDialog
-
+ AperçuPreview
-
+ Bitmap (*.bmp)Bitmap (*.bmp)
-
+ Conserver les proportionsKeep aspect ratio
-
+ Dessiner la grilleDraw the grid
-
+ Dessiner le cadreDraw the border
-
+ Dessiner le cartoucheDraw the inset
-
+ Dessiner les colonnesDraw columns
-
+ DimensionsDimensions
-
+ ExporterExport
-
+ Exporter le cadreExport the border
-
+ Exporter les élémentsExport only elements
-
+ Exporter vers le fichierExport to file
-
+ Fichier non spécifiéFilename not given
-
+ Format :Format:
-
+ Hauteur :Height:
-
+ Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans ce fichier..It seems you don't have the permissions needed to write this file..
-
+ Impossible d'écrire dans ce fichierCan't Write to the file
-
+ JPEG (*.jpg)JPEG (*.jpg)
-
+ Largeur :Width:
-
+ Nom de fichier :Filename:
-
+ OptionsOptions
-
+ ParcourirBrowse
-
+ PNG (*.png)PNG (*.png)
-
+ pxpx
-
+ Vous devez spécifier le chemin du fichier dans lequel sera enregistrée l'image.You must give a filename to save the picture.
-
+ Dessiner les bornesDraw terminals
-
+ SVG (*.svg)SVG (*.svg)
-
+ Images (*.png *.bmp *.jpg *.svg)Pictures (*.png *.bmp *.jpg *.svg)
@@ -921,27 +883,27 @@ Please check rights of the directory
Fixed date:
-
+ Titre : Title:
-
+ Auteur : Author:
-
+ Date : Date:
-
+ Fichier : File:
-
+ Folio : Folio:
@@ -949,22 +911,22 @@ Please check rights of the directory
LineEditor
-
+ abscisse point 1abscissa point 1
-
+ ordonnée point 1ordinate point 1
-
+ abscisse point 2abscissa point 2
-
+ ordonnée point 2ordinate point 2
@@ -1024,51 +986,6 @@ Please check rights of the directory
pxpx
-
-
- Informations du cartouche
- Inset properties
-
-
-
- Pas de date
- No date
-
-
-
- Date courante
- Current date
-
-
-
- Date fixe :
- Fixed date:
-
-
-
- Titre :
- Title:
-
-
-
- Auteur :
- Author:
-
-
-
- Date :
- Date:
-
-
-
- Fichier :
- File:
-
-
-
- Folio :
- Folio:
- Hauteur :
@@ -1078,95 +995,100 @@ Please check rights of the directory
NewElementWizard
-
+ Créer un nouvel élément : AssistantCreate a new element: wizard
-
+ ErreurError
-
+ Nom du nouvel élémentNew element name
-
+ Vous devez entrer un nom de fichierYou must enter a filename
-
+ Vous devez sélectionner une catégorie.You must select a category.
-
+ Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement.You don't have to specify the *.elmt extension. It will be added automatically.
-
+ nouvel_elementnew_element
-
+ &Suivant >&Next >
-
+ Étape 1/5 : Catégorie parenteStep 1 of 5: Parent category
-
+ Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément.Select a category which to save the new element in.
-
+ Étape 2/5 : Nom du fichierStep 2 of 5: Filename
-
+ Indiquez le nom du fichier dans lequel enregistrer le nouvel élément.Enter the name of the file for the new element.
-
+ Étape 3/5 : Noms de l'élémentStep 3 of 5: Element names
-
+ Indiquez le ou les noms de l'élément.Enter one or more names for the element.
-
+ Étape 4/5 : Dimensions et point de saisieStep 4 of 5: Size and hotspot
-
+ Saisissez les dimensions du nouvel élément ainsi que la position du hotspot (point de saisie de l'élément à la souris) en considérant que l'élément est dans son orientation par défaut.Enter the new element size and its hotspot, considering the element is default-oriented.
-
+ Étape 5/5 : OrientationsStep 5 of 5: Orientations
-
+ Indiquez les orientations possibles pour le nouvel élément.Enter the allowed and forbidden orientations for the new element.
+
+
+ Merci de ne pas utiliser les caractères suivants : \ / : * ? " < > |
+ Please avoid the following characters : \ / : * ? < > |
+ OrientationSetWidget
@@ -1247,87 +1169,87 @@ Please check rights of the directory
QETApp
-
+ QElectroTechQElectroTech
-
+ &Quitter&Quit
-
+ &Masquer&Hide
-
+ &Restaurer&Show
-
+ &Masquer tous les éditeurs de schéma&Hide diagram editors
-
+ &Restaurer tous les éditeurs de schéma&Show diagram editors
-
+ &Masquer tous les éditeurs d'élément&Hide element editors
-
+ &Restaurer tous les éditeurs d'élément&Show element editors
-
+ &Nouvel éditeur de schéma&New diagram editor
-
+ &Nouvel éditeur d'élément&New element editor
-
+ Ferme l'application QElectroTechCloses QElectroTech
-
+ Réduire QElectroTech dans le systrayReduces QElectroTech into the systray
-
+ Restaurer QElectroTechRestore QElectroTech
-
+ Éditeurs de schémasDiagram editors
-
+ Éditeurs d'élémentElement editors
-
+ Usage : Usage:
-
+ QElectroTech, une application de réalisation de schémas électriques.
Options disponibles :
@@ -1344,7 +1266,7 @@ Available options:
-
+ [options] [fichier]...
@@ -1353,14 +1275,14 @@ Available options:
-
+ --common-elements-dir=DIR Definir le dossier de la collection d'elements
--common-elements-dir=DIR Define the elements collection directory
-
+ --config-dir=DIR Definir le dossier de configuration
--config-dir=DIR Define configuration directory
@@ -2013,357 +1935,357 @@ Available options:
QETElementEditor
-
+ QElectroTech - Éditeur d'élémentQElectroTech - Element Editor
-
+ &Nouveau&New
-
+ &Ouvrir&Open
-
+ &Enregistrer&Save
-
+ Enregistrer sousSave as
-
+ &Quitter&Quit
-
+ Tout sélectionnerSelect All
-
+ Désélectionner toutSelect none
-
+ Inverser la sélectionInvert selection
-
+ &Supprimer&Delete
-
+ Éditer la taille et le point de saisieEdit size and hotspot
-
+ Éditer les nomsEdit names
-
+ Éditer les orientationsEdit orientations
-
+ Déplacer un objetMove an object
-
+ Ajouter une ligneAdd a line
-
+ Ajouter une ellipseAdd an ellipse
-
+ Ajouter un cercleAdd a circle
-
+ Ajouter un polygoneAdd a polygon
-
+ Ajouter du texteAdd text
-
+ Ajouter un arc de cercleAdd an arc
-
+ Ajouter une borneAdd a terminal
-
+ Ajouter un champ de texteAdd a textfield
-
+ AnnulerUndo
-
+ RefaireRedo
-
+ Ctrl+QCtrl+Q
-
+ Ctrl+Shift+ACtrl+Shift+A
-
+ Ctrl+ICtrl+I
-
+ PartiesParts
-
+ FichierFile
-
+ ÉditionEdit
-
+ AffichageDisplay
-
+ OutilsTools
-
+ AideHelp
-
+ [Modifié][Changed]
-
+ [lecture seule] [Read only]
-
+ InformationsInformations
-
+ AnnulationsUndo
-
+ Éditeur d'élémentsElements Editor
-
+ parties sélectionnées. selected parts.
-
+ Aucune partie sélectionnée.No part selected.
-
+ Le fichier The file
-
+ n'existe pas. does not exist.
-
+ Impossible d'ouvrir le fichier Unable to open file
-
+ Ce fichier n'est pas un document XML valideThis file is not a valid XML document
-
+ ErreurError
-
+ Édition en lecture seuleRead only edition
-
+ Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule.You are not allowed to modify this element. Thus it will be edited read-only.
-
+ Impossible d'ecrire dans ce fichierCan't write to the file
-
+ Ouvrir un fichierOpen a file
-
+ Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)QElectroTech elements (*.elmt);;XML files (*.xml);;All files (*)
-
+ Éléments QElectroTech (*.elmt)QElectroTech elements (*.elmt)
-
+ Enregistrer l'élément en cours ?Save current element ?
-
+ Voulez-vous enregistrer l'élément Do you wish to save the element
-
+ ? ?
-
+ AfficherDisplay
-
+ SupprDel
-
+ Ctrl+ECtrl+E
-
+ Ctrl+RCtrl+R
-
+ Ctrl+TCtrl+T
-
+ RapprocherRaise
-
+ ÉloignerLower
-
+ Envoyer au fondSend backward
-
+ Amener au premier planBring forward
-
+ Ctrl+Shift+UpCtrl+Shift+Up
-
+ Ctrl+Shift+DownCtrl+Shift+Down
-
+ Ctrl+Shift+EndCtrl+Shift+End
-
+ Ctrl+Shift+HomeCtrl+Shift+Home
-
+ Aucune modificationNo modification
-
+ RechargerReload
-
+ Recharger l'élémentReload element
-
+ Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ?This element has been modified since last save. If you reload it, these changes will be lost. Do you really want to reload this element ?
@@ -2396,47 +2318,47 @@ Available options:
modification polygon points
-
+ arcarc
-
+ cerclecircle
-
+ ellipseellipse
-
+ ligneline
-
+ polygonepolygon
-
+ borneterminal
-
+ TT
-
+ textetext
-
+ __
@@ -2551,12 +2473,12 @@ Available options:
modify conductor properties
-
+ Avertissement : l'élément Warning: the element
-
+ a été enregistré avec une version ultérieure de QElectroTech. was saved with a more recent version of QElectroTech.
@@ -2692,57 +2614,57 @@ Available options:
TerminalEditor
-
+ NordNorth
-
+ EstEast
-
+ SudSouth
-
+ OuestWest
-
+ Position : Position:
-
+ x : x:
-
+ y : y:
-
+ Orientation : Orientation:
-
+ abscisseabscissa
-
+ ordonnéeordinate
-
+ orientationorientation
@@ -2750,47 +2672,47 @@ Available options:
TextEditor
-
+ Position : Position:
-
+ x : x:
-
+ y : y:
-
+ Taille : Size:
-
+ Texte : Text:
-
+ abscisseabscissa
-
+ ordonnéeordinate
-
+ textetext
-
+ taillesize
@@ -2805,52 +2727,52 @@ Available options:
element rotations
-
+ Position : Position:
-
+ x : x:
-
+ y : y:
-
+ Taille : Size:
-
+ Texte par défaut : Default text:
-
+ abscisseabscissa
-
+ ordonnéeordinate
-
+ textetext
-
+ taillesize
-
+ propriétéproperty
diff --git a/newelementwizard.cpp b/newelementwizard.cpp
index 84b642fd1..2c5741065 100644
--- a/newelementwizard.cpp
+++ b/newelementwizard.cpp
@@ -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(
diff --git a/qet.cpp b/qet.cpp
index 3e69f0130..3cd167eb2 100644
--- a/qet.cpp
+++ b/qet.cpp
@@ -217,3 +217,24 @@ QString QET::license() {
}
return(txt_license);
};
+
+
+/**
+ @return la liste des caracteres interdits dans les noms de fichiers sous
+ Windows
+*/
+QList QET::forbiddenCharacters() {
+ return(QList() << '\\' << '/' << ':' << '*' << '?' << '"' << '<' << '>' << '|');
+}
+
+/**
+ @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);
+}
diff --git a/qet.h b/qet.h
index 984737276..56c6ea414 100644
--- a/qet.h
+++ b/qet.h
@@ -42,5 +42,7 @@ namespace QET {
bool attributeIsAReal(const QDomElement &, QString , double * = NULL);
QString ElementsAndConductorsSentence(int, int, int = 0);
QList findInDomElement(const QDomElement &, const QString &, const QString &);
+ QList forbiddenCharacters();
+ bool containsForbiddenCharacters(const QString &);
}
#endif