From 84c755a0c80d035eb796bcae1dafd865ebd5b8f3 Mon Sep 17 00:00:00 2001 From: Kellermorph Date: Thu, 26 Mar 2026 15:29:03 +0100 Subject: [PATCH] Filter out full MasterElements from element list Added filtering for full MasterElements from the list of elements. --- sources/ui/linksingleelementwidget.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/sources/ui/linksingleelementwidget.cpp b/sources/ui/linksingleelementwidget.cpp index 0247989bd..4a7def2c3 100644 --- a/sources/ui/linksingleelementwidget.cpp +++ b/sources/ui/linksingleelementwidget.cpp @@ -16,7 +16,7 @@ along with QElectroTech. If not, see . */ #include "linksingleelementwidget.h" - +#include "../qetgraphicsitem/masterelement.h" #include "../qetgraphicsitem/conductor.h" #include "../diagram.h" #include "../diagramposition.h" @@ -386,7 +386,22 @@ QVector > LinkSingleElementWidget::availableElements() //If element is linked, remove is parent from the list if(!m_element->isFree()) elmt_vector.removeAll(m_element->linkedElements().first()); - + // NEU: Filtere volle Master-Elemente aus der Liste heraus + for (int i = elmt_vector.size() - 1; i >= 0; --i) { + Element *elmt = elmt_vector.at(i); + + // Wenn das Element in der Liste ein Master ist + if (elmt->linkType() == Element::Master) { + + // Wir wandeln den generischen Element-Pointer in einen MasterElement-Pointer um + MasterElement *master = static_cast(elmt); + + // Wenn der Master voll ist, werfen wir ihn aus der Liste! + if (master->isFull()) { + elmt_vector.removeAt(i); + } + } + } return elmt_vector; }