From aeb8e22a0be27a535720cb5200e2c03dcf4a169b Mon Sep 17 00:00:00 2001 From: blacksun Date: Thu, 5 Jun 2014 09:06:57 +0000 Subject: [PATCH] element editor: check properties for folio report git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3106 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/editor/qetelementeditor.cpp | 30 ++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/sources/editor/qetelementeditor.cpp b/sources/editor/qetelementeditor.cpp index 43598aa7b..8785f8079 100644 --- a/sources/editor/qetelementeditor.cpp +++ b/sources/editor/qetelementeditor.cpp @@ -39,6 +39,9 @@ #include "texteditor.h" #include "textfieldeditor.h" +#include "partterminal.h" +#include "parttextfield.h" + #include /* Nombre maximum de primitives affichees par la "liste des parties" @@ -668,12 +671,13 @@ bool QETElementEditor::checkElement() { ); } - ///Error #1: element is slave or master but havent got input tagged 'label' + /// Check master and slave element if(ce_scene -> elementType() == "master" || ce_scene -> elementType() == "slave") { bool wrng = true; foreach (CustomElementPart *cep, ce_scene->primitives()) { if (cep->property("tagg").toString() == "label") wrng = false; } + ///Error #1: element is slave or master but havent got input tagged 'label' if (wrng) { errors << qMakePair( tr("Absence de champ texte 'label'", "warning title"), @@ -681,6 +685,30 @@ bool QETElementEditor::checkElement() { "un champ texte comportant le tagg 'label'", "warning description")); } } + + /// Check folio report element + if (ce_scene -> elementType().contains("report")) { + int text =0, terminal =0; + + foreach(QGraphicsItem *qgi, ce_scene->items()) { + if (qgraphicsitem_cast(qgi)) terminal ++; + else if (qgraphicsitem_cast(qgi)) text ++; + } + + ///Error #2 folio report must have only one terminal + if (terminal != 1) { + errors << qMakePair ( + tr("Absence de borne"), + tr("Les reports de folio doivent poss\351der une seul borne.")); + } + + ///Error #3 folio report must have at least one text + if (text <= 0) { + errors << qMakePair ( + tr("Absence de champ texte"), + tr("Les reports de folio doivent poss\351der au moins un champ texte \351ditable.")); + } + } if (!errors.count() && !warnings.count()) return(true); QList total = warnings << errors;