diff --git a/sources/elementprovider.cpp b/sources/elementprovider.cpp index d4e3762a8..f4e84abbf 100644 --- a/sources/elementprovider.cpp +++ b/sources/elementprovider.cpp @@ -53,9 +53,9 @@ ElementProvider::ElementProvider(Diagram *diag) { the filter for search element @return */ -QList ElementProvider::freeElement(ElementData::Types filter) const +QVector > ElementProvider::freeElement(ElementData::Types filter) const { - QList free_elmt; + QVector> free_elmt; QList elmt_list; //serch in all diagram @@ -97,31 +97,6 @@ QList ElementProvider::fromUuids(QList uuid_list) const return found_element; } -/** - @brief ElementProvider::find - Search and return the asked element corresponding with the given filter - @param filter - the filter for search element - (You can find all filter with the define in Element.h) - @obsolete use instead QVector<_Tp1> ElementProvider::find(ElementData::Type elmt_type) const -*/ -QList ElementProvider::find(const int filter) const -{ - QList elmt_; - - //serch in all diagram - foreach (Diagram *d, m_diagram_list) { - //get all element in diagram d - QList elmt_list; - elmt_list = d->elements(); - foreach (Element *elmt, elmt_list) { - if (filter & elmt->linkType()) - elmt_ << elmt; - } - } - return (elmt_); -} - /** * @brief ElementProvider::find * Search and return the element with the type given in parameter diff --git a/sources/elementprovider.h b/sources/elementprovider.h index fc65d2348..7aec69ed1 100644 --- a/sources/elementprovider.h +++ b/sources/elementprovider.h @@ -41,9 +41,8 @@ class ElementProvider public: ElementProvider(QETProject *prj, Diagram *diagram=nullptr); ElementProvider(Diagram *diag); - QList freeElement(ElementData::Types filter) const; + QVector > freeElement(ElementData::Types filter) const; QList fromUuids(QList ) const; - QList find(const int filter) const; QVector > find(ElementData::Types elmt_type) const; QVector table(QetGraphicsTableItem *table = nullptr, QAbstractItemModel *model = nullptr); QetGraphicsTableItem *tableFromUuid(const QUuid &uuid); diff --git a/sources/ui/linksingleelementwidget.cpp b/sources/ui/linksingleelementwidget.cpp index 9d8f765a1..2f0052904 100644 --- a/sources/ui/linksingleelementwidget.cpp +++ b/sources/ui/linksingleelementwidget.cpp @@ -235,11 +235,12 @@ void LinkSingleElementWidget::buildTree() setUpHeaderLabels(); QSettings settings; - const QList elmt_list = availableElements(); - if (m_element->linkType() == Element::Slave) + const auto elmt_vector{availableElements()}; + + if (m_element->elementData().m_type == ElementData::Slave) { - for(Element *elmt : elmt_list) + for(const auto &elmt : elmt_vector) { QStringList search_list; QStringList str_list; @@ -285,9 +286,9 @@ void LinkSingleElementWidget::buildTree() ui->m_tree_widget->header()->restoreState(v.toByteArray()); } - else if (m_element->linkType() & Element::AllReport) + else if (m_element->elementData().m_type & ElementData::AllReport) { - for(Element *elmt : elmt_list) + for(const auto &elmt : elmt_vector) { QStringList search_list; QStringList str_list; @@ -369,25 +370,25 @@ bool LinkSingleElementWidget::setLiveEdit(bool live_edit) to be linked with the edited element. This methode take care of the combo box "find in diagram" */ -QList LinkSingleElementWidget::availableElements() +QVector > LinkSingleElementWidget::availableElements() { - QList elmt_list; + QVector > elmt_vector; //if element isn't free and unlink isn't pressed, return an empty list if (!m_element->isFree() && !m_unlink) - return elmt_list; + return elmt_vector; - if (!m_element->diagram() || !m_element->diagram()->project()) return elmt_list; + if (!m_element->diagram() || !m_element->diagram()->project()) return elmt_vector; ElementProvider ep(m_element->diagram()->project()); if (m_filter & ElementData::AllReport) - elmt_list = ep.freeElement(m_filter); + elmt_vector = ep.freeElement(m_filter); else - elmt_list = ep.find(m_filter); + elmt_vector = ep.find(m_filter); //If element is linked, remove is parent from the list - if(!m_element->isFree()) elmt_list.removeAll(m_element->linkedElements().first()); + if(!m_element->isFree()) elmt_vector.removeAll(m_element->linkedElements().first()); - return elmt_list; + return elmt_vector; } /** diff --git a/sources/ui/linksingleelementwidget.h b/sources/ui/linksingleelementwidget.h index 3e388e434..ca88c5119 100644 --- a/sources/ui/linksingleelementwidget.h +++ b/sources/ui/linksingleelementwidget.h @@ -65,7 +65,7 @@ class LinkSingleElementWidget : public AbstractElementPropertiesEditorWidget bool setLiveEdit(bool live_edit) override; private : - QList availableElements(); + QVector > availableElements(); void setUpCompleter(); void clearTreeWidget(); void setUpHeaderLabels(); diff --git a/sources/ui/masterpropertieswidget.cpp b/sources/ui/masterpropertieswidget.cpp index e25445b98..020ef3933 100644 --- a/sources/ui/masterpropertieswidget.cpp +++ b/sources/ui/masterpropertieswidget.cpp @@ -258,8 +258,7 @@ void MasterPropertiesWidget::updateUi() //Build the list of free available element QList items_list; - const QList free_list = elmt_prov.freeElement(ElementData::Slave); - for(Element *elmt : free_list) + for(const auto &elmt : elmt_prov.freeElement(ElementData::Slave)) { QTreeWidgetItem *qtwi = new QTreeWidgetItem(ui->m_free_tree_widget); qtwi->setIcon(0, elmt->pixmap());