mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-09-30 23:04:13 +02:00
799ff5573f
The earlier commit changed MasterElement::isFull() to compare the contacts in use against max_slaves. That was wrong, and this restores the original comparison against the number of linked elements. max_slaves is a number of slots, not of contacts: - it sizes the contact group table in the element editor, one row per slot (ElementPropertiesEditorWidget::populateSlaveGroupsTable) - a group must match the slave's own contact count before it can be chosen, so a 4 pole slave needs a group declaring 4 and occupies that single group (ContactGroupSelectionDialog) - each slave stores exactly one group index (Element::setGroupIndexForElement) So a coil declaring 4 slots accepts 4 slaves, whatever their pole count. Counting contacts made one 4 pole slave fill a 4 slot coil on its own and refuse three further links that should have been allowed. ContactUsage stays, and its per-type tally is still what the General tab needs: how many contacts an auxiliary block must provide is a different question from how many slots are occupied, and only the former wants the pole multiplier. The header now says so. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>