From d45c070e167e2efc14666c4a472a0038f0a6e1ce Mon Sep 17 00:00:00 2001 From: blacksun Date: Wed, 26 Dec 2018 20:32:11 +0000 Subject: [PATCH] Search and replace : improve the search for elements. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5662 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- .../ui/searchandreplacewidget.cpp | 19 +++++++++++++++++++ sources/qetgraphicsitem/element.cpp | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/sources/SearchAndReplace/ui/searchandreplacewidget.cpp b/sources/SearchAndReplace/ui/searchandreplacewidget.cpp index ab609eedd..503ee3f89 100644 --- a/sources/SearchAndReplace/ui/searchandreplacewidget.cpp +++ b/sources/SearchAndReplace/ui/searchandreplacewidget.cpp @@ -29,6 +29,8 @@ #include "qetapp.h" #include "replaceconductordialog.h" #include "replaceadvanceddialog.h" +#include "dynamicelementtextitem.h" +#include "elementtextitemgroup.h" #include @@ -761,6 +763,23 @@ QStringList SearchAndReplaceWidget::searchTerms(Element *element) } } + for (DynamicElementTextItem *deti : element->dynamicTextItems()) + { + if (deti->textFrom() == DynamicElementTextItem::UserText || deti->textFrom() == DynamicElementTextItem::CompositeText) { + list.append(deti->toPlainText()); + } + } + for (ElementTextItemGroup *group : element->textGroups()) + { + list.append(group->name()); + + for (DynamicElementTextItem *deti : group->texts()) { + if (deti->textFrom() == DynamicElementTextItem::UserText || deti->textFrom() == DynamicElementTextItem::CompositeText) { + list.append(deti->toPlainText()); + } + } + } + return list; } diff --git a/sources/qetgraphicsitem/element.cpp b/sources/qetgraphicsitem/element.cpp index db888585f..2e0b66a7d 100644 --- a/sources/qetgraphicsitem/element.cpp +++ b/sources/qetgraphicsitem/element.cpp @@ -1181,7 +1181,9 @@ void Element::removeDynamicTextItem(DynamicElementTextItem *deti) /** * @brief Element::dynamicTextItems - * @return all dynamic text items of this element + * @return all dynamic text items of this element directly child of this element. + * Texts in text-groups belonging to this element are not returned by this function. + * @see ElementTextItemGroup::texts */ QList Element::dynamicTextItems() const { return m_dynamic_text_list;