[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sw/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Jan 7 08:30:47 UTC 2019


 sw/source/core/inc/frame.hxx      |    8 ++++++++
 sw/source/core/inc/txtfrm.hxx     |    2 --
 sw/source/core/layout/findfrm.cxx |   13 +++++++++++++
 sw/source/core/text/frmform.cxx   |   12 ------------
 4 files changed, 21 insertions(+), 14 deletions(-)

New commits:
commit 641f8a1370d6b57fc35778a833b601de7fb14954
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Thu Jan 3 12:23:18 2019 +0100
Commit:     Miklos Vajna <vmiklos at collabora.com>
CommitDate: Mon Jan 7 09:30:27 2019 +0100

    Move FindBodyFrame from SwTextFrame to SwFrame
    
    So we can call it on other type of frames too.
    
    Reviewed-on: https://gerrit.libreoffice.org/65817
    Tested-by: Jenkins
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>
    (cherry picked from commit 484867ec5e716a1828a41b2535f7a1e10e8f3fe7)
    
    Change-Id: I74e80eb831ba1fc00abb8db1ffa3728758e68376
    Reviewed-on: https://gerrit.libreoffice.org/65868
    Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
    Tested-by: Miklos Vajna <vmiklos at collabora.com>

diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx
index 71363e95e2b1..5d84ca5198a4 100644
--- a/sw/source/core/inc/frame.hxx
+++ b/sw/source/core/inc/frame.hxx
@@ -35,6 +35,7 @@
 class SwLayoutFrame;
 class SwRootFrame;
 class SwPageFrame;
+class SwBodyFrame;
 class SwFlyFrame;
 class SwSectionFrame;
 class SwFootnoteFrame;
@@ -644,6 +645,7 @@ public:
     SwFootnoteFrame       *ImplFindFootnoteFrame();
     SwFlyFrame            *ImplFindFlyFrame();
     SwSectionFrame        *ImplFindSctFrame();
+    const SwBodyFrame     *ImplFindBodyFrame() const;
     SwFrame               *FindFooterOrHeader();
     SwFrame               *GetLower();
     const SwFrame         *GetNext()  const { return mpNext; }
@@ -666,6 +668,7 @@ public:
     inline const SwFootnoteFrame  *FindFootnoteFrame() const;
     inline const SwFlyFrame  *FindFlyFrame() const;
     inline const SwSectionFrame *FindSctFrame() const;
+    inline const SwBodyFrame    *FindBodyFrame() const;
     inline const SwFrame     *FindNext() const;
     // #i27138# - add parameter <_bInSameFootnote>
     const SwContentFrame* FindNextCnt( const bool _bInSameFootnote = false ) const;
@@ -1072,6 +1075,11 @@ inline SwSectionFrame *SwFrame::FindSctFrame()
     return IsInSct() ? ImplFindSctFrame() : nullptr;
 }
 
+inline const SwBodyFrame *SwFrame::FindBodyFrame() const
+{
+    return IsInDocBody() ? ImplFindBodyFrame() : nullptr;
+}
+
 inline const SwTabFrame *SwFrame::FindTabFrame() const
 {
     return IsInTab() ? const_cast<SwFrame*>(this)->ImplFindTabFrame() : nullptr;
diff --git a/sw/source/core/inc/txtfrm.hxx b/sw/source/core/inc/txtfrm.hxx
index ec11d47ecc16..e6756f9f5163 100644
--- a/sw/source/core/inc/txtfrm.hxx
+++ b/sw/source/core/inc/txtfrm.hxx
@@ -463,8 +463,6 @@ public:
     /// Respect the Follows
     inline bool IsInside( const sal_Int32 nPos ) const;
 
-    const SwBodyFrame   *FindBodyFrame()   const;
-
     /// DropCaps and selections
     bool GetDropRect( SwRect &rRect ) const
     { return HasPara() && GetDropRect_( rRect ); }
diff --git a/sw/source/core/layout/findfrm.cxx b/sw/source/core/layout/findfrm.cxx
index daccef43edcc..f7daa77e2aa0 100644
--- a/sw/source/core/layout/findfrm.cxx
+++ b/sw/source/core/layout/findfrm.cxx
@@ -30,6 +30,7 @@
 #include <txtftn.hxx>
 #include <fmtftn.hxx>
 #include <txtfrm.hxx>
+#include <bodyfrm.hxx>
 #include <calbck.hxx>
 #include <viewopt.hxx>
 
@@ -471,6 +472,18 @@ SwSectionFrame* SwFrame::ImplFindSctFrame()
     return static_cast<SwSectionFrame*>(pRet);
 }
 
+const SwBodyFrame* SwFrame::ImplFindBodyFrame() const
+{
+    const SwFrame *pRet = this;
+    while ( !pRet->IsBodyFrame() )
+    {
+        pRet = pRet->GetUpper();
+        if ( !pRet )
+            return nullptr;
+    }
+    return static_cast<const SwBodyFrame*>(pRet);
+}
+
 SwFootnoteFrame *SwFrame::ImplFindFootnoteFrame()
 {
     SwFrame *pRet = this;
diff --git a/sw/source/core/text/frmform.cxx b/sw/source/core/text/frmform.cxx
index b3a4e2d31959..2e1cad0adbbe 100644
--- a/sw/source/core/text/frmform.cxx
+++ b/sw/source/core/text/frmform.cxx
@@ -171,18 +171,6 @@ bool SwTextFrame::GetDropRect_( SwRect &rRect ) const
     return false;
 }
 
-const SwBodyFrame *SwTextFrame::FindBodyFrame() const
-{
-    if ( IsInDocBody() )
-    {
-        const SwFrame *pFrame = GetUpper();
-        while( pFrame && !pFrame->IsBodyFrame() )
-            pFrame = pFrame->GetUpper();
-        return static_cast<const SwBodyFrame*>(pFrame);
-    }
-    return nullptr;
-}
-
 bool SwTextFrame::CalcFollow( const sal_Int32 nTextOfst )
 {
     vcl::RenderContext* pRenderContext = getRootFrame()->GetCurrShell()->GetOut();


More information about the Libreoffice-commits mailing list