editeng/inc/outleeng.hxx | 2 ++ editeng/source/editeng/impedit2.cxx | 10 +++++++++- editeng/source/outliner/outleeng.cxx | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-)
New commits: commit 2462064fc3e7d82141470a2ce51998c4f5d2364d Author: Oliver Specht <oliver.spe...@cib.de> AuthorDate: Wed Dec 11 14:24:17 2024 +0100 Commit: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> CommitDate: Tue Jan 28 11:31:26 2025 +0100 tdf#163634 Format empty paragraph if they have a bullet/numbering Some optimization in commit 52abeff6d5836b29dbefe69f284bbd89f6672ae2 ignores paragph attributes if the paragraph is empty. But it is not empty if it has an active list. Change-Id: I8885d0f201fc48279263a3d41ec6d660b534ded2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178311 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de> (cherry picked from commit fdb13df0cb759e65e48bb65b1513e8add429d4d6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178553 Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> (cherry picked from commit 054c2946a130a1acea91140f4e7c3e4a0f93a170) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178748 Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/editeng/inc/outleeng.hxx b/editeng/inc/outleeng.hxx index 36194c3d0f6f..79495bb07899 100644 --- a/editeng/inc/outleeng.hxx +++ b/editeng/inc/outleeng.hxx @@ -77,6 +77,8 @@ public: virtual tools::Rectangle GetBulletArea( sal_Int32 nPara ) override; + sal_Int16 GetDepth( sal_Int32 nPara ) const; + /// @returns state of the SdrCompatibilityFlag std::optional<bool> GetCompatFlag(SdrCompatibilityFlag eFlag) const; diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 3e9240a92c96..76a344334507 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -75,6 +75,7 @@ #include <memory> #include <string_view> #include <fstream> +#include <outleeng.hxx> using namespace ::com::sun::star; @@ -4396,10 +4397,17 @@ bool ImpEditEngine::isInEmptyClusterAtTheEnd(ParaPortion& rPortion) return false; sal_Int32 nCurrent = rParagraphs.lastIndex(); + while (nCurrent > 0 && rParagraphs.getRef(nCurrent).IsEmpty()) { if (nCurrent == nPortion) - return true; + { + OutlinerEditEng* pOutlEditEng{ dynamic_cast<OutlinerEditEng*>(mpEditEngine)}; + if (pOutlEditEng) + return pOutlEditEng->GetDepth(nCurrent) < 0; + else + return true; + } nCurrent--; } return false; diff --git a/editeng/source/outliner/outleeng.cxx b/editeng/source/outliner/outleeng.cxx index 1136ef37b9e2..ff9e0e725299 100644 --- a/editeng/source/outliner/outleeng.cxx +++ b/editeng/source/outliner/outleeng.cxx @@ -200,4 +200,9 @@ void OutlinerEditEng::SetParaAttribs( sal_Int32 nPara, const SfxItemSet& rSet ) pOwner->UndoActionEnd(); } +sal_Int16 OutlinerEditEng::GetDepth(sal_Int32 nPara) const +{ + return pOwner->GetDepth(nPara); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */