editeng/source/editeng/editeng.cxx | 11 +---------- editeng/source/editeng/impedit.hxx | 1 + editeng/source/editeng/impedit5.cxx | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 10 deletions(-)
New commits: commit 43ec63461428f05ee2decf68e791bde94d839ff9 Author: Noel Grandin <[email protected]> AuthorDate: Mon Jun 17 14:07:34 2024 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Mon Jun 17 19:00:25 2024 +0200 move RemoveAttribs code from EditEngine to ImpEditEngine so we have the implementation in one class, instead of bouncing back and forth between two. Change-Id: I55f419e08323d0fe7cc16bc525fc93920980f4c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168999 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx index c1f5824f7af7..bfba5faa811f 100644 --- a/editeng/source/editeng/editeng.cxx +++ b/editeng/source/editeng/editeng.cxx @@ -1092,16 +1092,7 @@ SfxItemSet EditEngine::GetAttribs( sal_Int32 nPara, sal_Int32 nStart, sal_Int32 void EditEngine::RemoveAttribs( const ESelection& rSelection, bool bRemoveParaAttribs, sal_uInt16 nWhich ) { - const EERemoveParaAttribsMode eMode = bRemoveParaAttribs? - EERemoveParaAttribsMode::RemoveAll : - EERemoveParaAttribsMode::RemoveCharItems; - - getImpl().UndoActionStart(EDITUNDO_RESETATTRIBS); - EditSelection aSel(getImpl().ConvertSelection(rSelection.nStartPara, rSelection.nStartPos, rSelection.nEndPara, rSelection.nEndPos)); - getImpl().RemoveCharAttribs(aSel, eMode, nWhich); - getImpl().UndoActionEnd(); - if (getImpl().IsUpdateLayout()) - getImpl().FormatAndLayout(); + getImpl().RemoveAttribs(rSelection, bRemoveParaAttribs, nWhich); } vcl::Font EditEngine::GetStandardFont( sal_Int32 nPara ) diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx index d0224d11b6a2..482ea3ecd357 100644 --- a/editeng/source/editeng/impedit.hxx +++ b/editeng/source/editeng/impedit.hxx @@ -1063,6 +1063,7 @@ public: SfxItemSet GetAttribs( sal_Int32 nPara, sal_Int32 nStart, sal_Int32 nEnd, GetAttribsFlags nFlags = GetAttribsFlags::ALL ) const; SfxItemSet GetAttribs( EditSelection aSel, EditEngineAttribs nOnlyHardAttrib = EditEngineAttribs::All ); void SetAttribs( EditSelection aSel, const SfxItemSet& rSet, SetAttribsMode nSpecial = SetAttribsMode::NONE, bool bSetSelection = true ); + void RemoveAttribs( const ESelection& rSelection, bool bRemoveParaAttribs, sal_uInt16 nWhich ); void RemoveCharAttribs( EditSelection aSel, EERemoveParaAttribsMode eMode, sal_uInt16 nWhich ); void RemoveCharAttribs( sal_Int32 nPara, sal_uInt16 nWhich = 0, bool bRemoveFeatures = false ); void SetFlatMode( bool bFlat ); diff --git a/editeng/source/editeng/impedit5.cxx b/editeng/source/editeng/impedit5.cxx index 68134542b157..22536c3cd44a 100644 --- a/editeng/source/editeng/impedit5.cxx +++ b/editeng/source/editeng/impedit5.cxx @@ -591,6 +591,20 @@ void ImpEditEngine::SetAttribs( EditSelection aSel, const SfxItemSet& rSet, SetA } } +void ImpEditEngine::RemoveAttribs( const ESelection& rSelection, bool bRemoveParaAttribs, sal_uInt16 nWhich ) +{ + const EERemoveParaAttribsMode eMode = bRemoveParaAttribs? + EERemoveParaAttribsMode::RemoveAll : + EERemoveParaAttribsMode::RemoveCharItems; + + UndoActionStart(EDITUNDO_RESETATTRIBS); + EditSelection aSel(ConvertSelection(rSelection.nStartPara, rSelection.nStartPos, rSelection.nEndPara, rSelection.nEndPos)); + RemoveCharAttribs(aSel, eMode, nWhich); + UndoActionEnd(); + if (IsUpdateLayout()) + FormatAndLayout(); +} + void ImpEditEngine::RemoveCharAttribs( EditSelection aSel, EERemoveParaAttribsMode eMode, sal_uInt16 nWhich ) { aSel.Adjust( maEditDoc );
