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
 {

Reply via email to