mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-10 06:04:12 +02:00
Clear stale xref data from PLC slave elementInformations on unlink and position change
This commit is contained in:
@@ -764,6 +764,8 @@ QVariant DynamicElementTextItem::itemChange(QGraphicsItem::GraphicsItemChange ch
|
||||
if(m_parent_element.data()->linkType() == Element::Slave)
|
||||
{
|
||||
connect(m_parent_element.data(), &Element::linkedElementChanged, this, &DynamicElementTextItem::masterChanged);
|
||||
if(m_parent_element.data()->diagram())
|
||||
connect(m_parent_element.data()->diagram()->project(), &QETProject::XRefPropertiesChanged, this, &DynamicElementTextItem::updateXref);
|
||||
//The parent is already linked, wa call master changed for init the connection
|
||||
if(!m_parent_element.data()->linkedElements().isEmpty())
|
||||
masterChanged();
|
||||
@@ -1497,6 +1499,18 @@ void DynamicElementTextItem::updateXref()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Remove stale "xref" from elementInformations when no longer needed
|
||||
if(m_parent_element->linkType() == Element::Slave &&
|
||||
m_text_from == ElementInfo && m_info_name == "xref")
|
||||
{
|
||||
DiagramContext dc = m_parent_element->elementInformations();
|
||||
if(!dc.value("xref").toString().isEmpty())
|
||||
{
|
||||
dc.remove("xref");
|
||||
m_parent_element->setElementInformations(dc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DynamicElementTextItem::setPlainText(const QString &text)
|
||||
|
||||
Reference in New Issue
Block a user