diff --git a/sources/qetgraphicsitem/masterelement.cpp b/sources/qetgraphicsitem/masterelement.cpp index 5d488bd86..1d3401f97 100644 --- a/sources/qetgraphicsitem/masterelement.cpp +++ b/sources/qetgraphicsitem/masterelement.cpp @@ -81,11 +81,14 @@ void MasterElement::unlinkAllElements() { * Unlink the given elmt in parametre * @param elmt element to unlink from this */ -void MasterElement::unlinkElement(Element *elmt) { - //Ensure elmt is linked to this element - if (connected_elements.contains(elmt)) { +void MasterElement::unlinkElement(Element *elmt) +{ + //Ensure elmt is linked to this element + if (connected_elements.contains(elmt)) + { connected_elements.removeOne(elmt); - elmt->unlinkElement(this); + elmt -> unlinkElement (this); + elmt -> setHighlighted (false); //update the graphics cross ref disconnect(elmt, SIGNAL(xChanged()), cri_, SLOT(updateLabel())); diff --git a/sources/qetgraphicsitem/reportelement.cpp b/sources/qetgraphicsitem/reportelement.cpp index 334219821..36b8fd136 100644 --- a/sources/qetgraphicsitem/reportelement.cpp +++ b/sources/qetgraphicsitem/reportelement.cpp @@ -88,11 +88,13 @@ void ReportElement::linkToElement(Element * elmt) * @brief ReportElement::unLinkAllElements * Unlink all of the element in the QList connected_elements */ -void ReportElement::unlinkAllElements(){ +void ReportElement::unlinkAllElements() +{ if (!isFree()){ QList tmp_elmt = connected_elements; - foreach(Element *elmt, connected_elements) { + foreach(Element *elmt, connected_elements) + { disconnect(elmt, SIGNAL(xChanged()), this, SLOT(updateLabel())); disconnect(elmt, SIGNAL(yChanged()), this, SLOT(updateLabel())); disconnect(diagram()->project(), SIGNAL(projectDiagramsOrderChanged(QETProject*,int,int)), this, SLOT(updateLabel())); @@ -100,8 +102,10 @@ void ReportElement::unlinkAllElements(){ connected_elements.clear(); updateLabel(); - foreach(Element *elmt, tmp_elmt){ - elmt->unlinkAllElements(); + foreach(Element *elmt, tmp_elmt) + { + elmt -> setHighlighted(false); + elmt -> unlinkAllElements(); } } } diff --git a/sources/qetgraphicsitem/slaveelement.cpp b/sources/qetgraphicsitem/slaveelement.cpp index 746685b1b..bd4563e48 100644 --- a/sources/qetgraphicsitem/slaveelement.cpp +++ b/sources/qetgraphicsitem/slaveelement.cpp @@ -85,9 +85,11 @@ void SlaveElement::unlinkAllElements() { * Unlink the given elmt in parametre * @param elmt */ -void SlaveElement::unlinkElement(Element *elmt) { - //Ensure elmt is linked to this element - if (connected_elements.contains(elmt)) { +void SlaveElement::unlinkElement(Element *elmt) +{ + //Ensure elmt is linked to this element + if (connected_elements.contains(elmt)) + { connected_elements.removeOne(elmt); disconnect(elmt, SIGNAL(xChanged()), this, SLOT(updateLabel())); @@ -99,7 +101,8 @@ void SlaveElement::unlinkElement(Element *elmt) { delete Xref_item; Xref_item = NULL; updateLabel(); - elmt -> unlinkElement(this); + elmt -> unlinkElement (this) ; + elmt -> setHighlighted (false); } }