sw/source/core/doc/doc.cxx | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-)
New commits: commit e9dcbf84f94b90ee8cd78628a0c9b5fb131d1085 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Thu Oct 10 08:05:01 2024 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Thu Oct 10 13:19:03 2024 +0200 sw: use ForEachCharacterItem() in SwDoc::ForEachCharacterBoxItem() Avoids a lot of duplication. Change-Id: Ic929bf0add04228953d2536d2d753609b4203738 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174756 Reviewed-by: Miklos Vajna <vmik...@collabora.com> Tested-by: Jenkins diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx index 6c3db0e7acaa..a264090a92e9 100644 --- a/sw/source/core/doc/doc.cxx +++ b/sw/source/core/doc/doc.cxx @@ -1412,27 +1412,6 @@ void SwDoc::ForEachFormatURL( const std::function<bool(const SwFormatURL&)>& rFu } } -/// Iterate over all SwFormatURL, if the function returns false, iteration is stopped -void SwDoc::ForEachCharacterBoxItem( const std::function<bool(const SvxBoxItem&)>& rFunc ) const -{ - for(SwCharFormat* pFormat : *GetCharFormats()) - { - const SwAttrSet& rAttrSet = pFormat->GetAttrSet(); - if (const SvxBoxItem* pBoxItem = rAttrSet.GetItemIfSet(RES_CHRATR_BOX)) - if (!rFunc(*pBoxItem)) - return; - } - std::vector<std::shared_ptr<SfxItemSet>> aStyles; - for (auto eFamily : { IStyleAccess::AUTO_STYLE_CHAR, IStyleAccess::AUTO_STYLE_RUBY, IStyleAccess::AUTO_STYLE_PARA, IStyleAccess::AUTO_STYLE_NOTXT }) - { - const_cast<SwDoc*>(this)->GetIStyleAccess().getAllStyles(aStyles, eFamily); - for (const auto & rxItemSet : aStyles) - if (const SvxBoxItem* pBoxItem = rxItemSet->GetItemIfSet(RES_CHRATR_BOX)) - if (!rFunc(*pBoxItem)) - return; - } -} - namespace { /// Iterate over all pool item of type T, if the function returns false, iteration is stopped @@ -1458,6 +1437,12 @@ void ForEachCharacterItem(const SwDoc* pDoc, TypedWhichId<T> nWhich, const std:: } } +/// Iterate over all SwFormatURL, if the function returns false, iteration is stopped +void SwDoc::ForEachCharacterBoxItem( const std::function<bool(const SvxBoxItem&)>& rFunc ) const +{ + ForEachCharacterItem(this, RES_CHRATR_BOX, rFunc); +} + /// Iterate over all SvxColorItem, if the function returns false, iteration is stopped void SwDoc::ForEachCharacterColorItem( const std::function<bool(const SvxColorItem&)>& rFunc ) const {