diff --git a/sources/diagramcommands.cpp b/sources/diagramcommands.cpp index bc7638ace..6de48bd5c 100644 --- a/sources/diagramcommands.cpp +++ b/sources/diagramcommands.cpp @@ -196,14 +196,33 @@ void PasteDiagramCommand::undo() { foreach(QGraphicsItem *qgi, content.items(DiagramContent::Images | DiagramContent::Shapes)) diagram -> removeItem(qgi); } -/// refait le coller +/** + * @brief PasteDiagramCommand::redo + */ void PasteDiagramCommand::redo() { diagram -> showMe(); + if (first_redo) { first_redo = false; - //this is the first paste, we make new uuid for each element - //because old uuid are the uuid of the copied element - foreach(Element *e, content.elements) e->newUuid(); + + //this is the first paste, we do some actions for the new element + foreach(Element *e, content.elements) { + //make new uuid, because old uuid are the uuid of the copied element + e -> newUuid(); + + //Reset the text of report element + if (e -> linkType() & Element::AllReport) { + if (e->texts().size()) + e->texts().first()->setPlainText("/"); + } else { + //Reset the information about the label and the comment + e -> rElementInformations().addValue("label", ""); + e -> rElementInformations().addValue("comment", ""); + + //Reset the text field tagged "label + e -> taggedText("label") -> setPlainText("_"); + } + } } else { // paste the elements diff --git a/sources/qetgraphicsitem/element.h b/sources/qetgraphicsitem/element.h index 5ab65aecf..ae3be1db2 100644 --- a/sources/qetgraphicsitem/element.h +++ b/sources/qetgraphicsitem/element.h @@ -113,27 +113,28 @@ class Element : public QetGraphicsItem { virtual int linkType() const {return link_type_;} // @return the linkable type void newUuid() {uuid_ = QUuid::createUuid();} //create new uuid for this element - //ATTRIBUTES related to linked element - protected: - QList connected_elements; - QList tmp_uuids_link; - QUuid uuid_; - kind link_type_; + //ATTRIBUTES related to linked element + protected: + QList connected_elements; + QList tmp_uuids_link; + QUuid uuid_; + kind link_type_; - signals: - void elementInfoChange(DiagramContext); + signals: + void elementInfoChange(DiagramContext); - //METHODS related to information - public: - DiagramContext elementInformations()const {return element_informations_;} - virtual void setElementInformations(DiagramContext dc); - DiagramContext kindInformations() const {return kind_informations_;} //@kind_information_ is used to store more information - //about the herited class like contactelement for know - // kind of contact (simple tempo) or number of contact show by the element. + //METHODS related to information + public: + DiagramContext elementInformations ()const {return element_informations_;} + DiagramContext& rElementInformations () {return element_informations_;} + virtual void setElementInformations (DiagramContext dc); + DiagramContext kindInformations () const {return kind_informations_;} //@kind_information_ is used to store more information + //about the herited class like contactelement for know + // kind of contact (simple tempo) or number of contact show by the element. - //ATTRIBUTES - protected: - DiagramContext element_informations_, kind_informations_; + //ATTRIBUTES + protected: + DiagramContext element_informations_, kind_informations_; /** Draw this element