mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-19 04:24:14 +02:00
Clear stale xref data from PLC slave elementInformations on unlink and position change
This commit is contained in:
@@ -59,6 +59,11 @@ ElementTextItemGroup::ElementTextItemGroup(const QString &name,
|
||||
&Element::linkedElementChanged,
|
||||
this,
|
||||
&ElementTextItemGroup::updateXref);
|
||||
if(parent->diagram())
|
||||
connect(parent->diagram()->project(),
|
||||
&QETProject::XRefPropertiesChanged,
|
||||
this,
|
||||
&ElementTextItemGroup::updateXref);
|
||||
}
|
||||
|
||||
ElementTextItemGroup::~ElementTextItemGroup()
|
||||
@@ -898,6 +903,25 @@ void ElementTextItemGroup::updateXref()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Remove stale "xref" from elementInformations when no longer needed
|
||||
if(m_parent_element->linkType() == Element::Slave &&
|
||||
m_parent_element->diagram())
|
||||
{
|
||||
for(DynamicElementTextItem *deti : texts())
|
||||
{
|
||||
if(deti->textFrom() == DynamicElementTextItem::ElementInfo && deti->infoName() == "xref")
|
||||
{
|
||||
DiagramContext dc = m_parent_element->elementInformations();
|
||||
if(!dc.value("xref").toString().isEmpty())
|
||||
{
|
||||
dc.remove("xref");
|
||||
m_parent_element->setElementInformations(dc);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ElementTextItemGroup::adjustSlaveXrefPos(int slave_offset)
|
||||
|
||||
Reference in New Issue
Block a user