editeng/source/editeng/editeng.cxx  |   34 +-----------------------------
 editeng/source/editeng/impedit.hxx  |    5 ++--
 editeng/source/editeng/impedit2.cxx |   40 ++++++++++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 34 deletions(-)

New commits:
commit 41d6c0895b2d9964113fbe468bca9b82fece1b7c
Author:     Noel Grandin <[email protected]>
AuthorDate: Sun Jun 16 14:03:11 2024 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Sun Jun 16 16:35:55 2024 +0200

    move GetScriptType code from EditEngine to ImpEditEngine
    
    so we have the implementation in one class, instead of bouncing
    back and forth between two.
    
    Change-Id: I5aa2d12ff0c85893e2facd491d3c5ed00db77de0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168929
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index 0919bd3ab37d..ab3b26d476b7 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -322,8 +322,7 @@ EEHorizontalTextDirection 
EditEngine::GetDefaultHorizontalTextDirection() const
 
 SvtScriptType EditEngine::GetScriptType( const ESelection& rSelection ) const
 {
-    EditSelection aSel(getImpl().CreateSel(rSelection));
-    return getImpl().GetItemScriptType( aSel );
+    return getImpl().GetScriptType( rSelection );
 }
 
 editeng::LanguageSpan EditEngine::GetLanguage(const EditPaM& rPaM) const
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index e8c144ea8cb9..274e3ba8da26 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -751,6 +751,7 @@ private:
 
     void                InitScriptTypes( sal_Int32 nPara );
     sal_uInt16          GetI18NScriptType( const EditPaM& rPaM, sal_Int32* 
pEndPos = nullptr ) const;
+    SvtScriptType       GetScriptType( const ESelection& rSel );
     SvtScriptType       GetItemScriptType( const EditSelection& rSel ) const;
     bool                IsScriptChange( const EditPaM& rPaM ) const;
     bool                HasScriptType( sal_Int32 nPara, sal_uInt16 nType ) 
const;
diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index 2e4a764f174e..ad974d5aff9c 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -1848,6 +1848,12 @@ sal_uInt16 ImpEditEngine::GetI18NScriptType( const 
EditPaM& rPaM, sal_Int32* pEn
     return nScriptType ? nScriptType : 
SvtLanguageOptions::GetI18NScriptTypeOfLanguage( GetDefaultLanguage() );
 }
 
+SvtScriptType ImpEditEngine::GetScriptType( const ESelection& rSel )
+{
+    EditSelection aSel(CreateSel(rSel));
+    return GetItemScriptType( aSel );
+}
+
 SvtScriptType ImpEditEngine::GetItemScriptType( const EditSelection& rSel ) 
const
 {
     EditSelection aSel( rSel );
commit 197bca4e4cb36c0edbdc3ad51aeb165df6a3c09f
Author:     Noel Grandin <[email protected]>
AuthorDate: Sun Jun 16 13:58:43 2024 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Sun Jun 16 16:35:46 2024 +0200

    move SetPaperSize code from EditEngine to ImpEditEngine
    
    so we have the implementation in one class, instead of bouncing
    back and forth between two.
    
    Change-Id: Ia58dd654872f96cb0eaf964df6a9cc7d3b5628f5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168928
    Reviewed-by: Noel Grandin <[email protected]>
    Tested-by: Jenkins

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index dc3c0ca40d2b..0919bd3ab37d 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -262,36 +262,7 @@ void EditEngine::SetDefTab( sal_uInt16 nDefTab )
 
 void EditEngine::SetPaperSize(const Size& rNewSize)
 {
-    Size aOldSize = getImpl().GetPaperSize();
-    getImpl().SetValidPaperSize(rNewSize);
-    Size aNewSize = getImpl().GetPaperSize();
-
-    bool bAutoPageSize = getImpl().GetStatus().AutoPageSize();
-    if ( !(bAutoPageSize || ( aNewSize.Width() != aOldSize.Width() )) )
-        return;
-
-    for (EditView* pView : getImpl().maEditViews)
-    {
-        if ( bAutoPageSize )
-            pView->getImpl().RecalcOutputArea();
-        else if (pView->getImpl().DoAutoSize())
-        {
-            
pView->getImpl().ResetOutputArea(tools::Rectangle(pView->getImpl().GetOutputArea().TopLeft(),
 aNewSize));
-        }
-    }
-
-    if ( bAutoPageSize || getImpl().IsFormatted() )
-    {
-        // Changing the width has no effect for AutoPageSize, as this is
-        // determined by the text width.
-        // Optimization first after Vobis delivery was enabled ...
-        getImpl().FormatFullDoc();
-
-        getImpl().UpdateViews(getImpl().GetActiveView());
-
-        if (getImpl().IsUpdateLayout() && getImpl().GetActiveView())
-            getImpl().mpActiveView->ShowCursor(false, false);
-    }
+    getImpl().SetPaperSize(rNewSize);
 }
 
 const Size& EditEngine::GetPaperSize() const
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index 50d84299d144..e8c144ea8cb9 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -874,8 +874,6 @@ private:
 
     css::uno::Reference< css::datatransfer::XTransferable > 
CreateTransferable( const EditSelection& rSelection );
 
-    void                SetValidPaperSize( const Size& rSz );
-
     css::uno::Reference < css::i18n::XBreakIterator > const & 
ImplGetBreakIterator() const;
     css::uno::Reference < css::i18n::XExtendedInputSequenceChecker > const & 
ImplGetInputSequenceChecker() const;
 
@@ -946,7 +944,9 @@ public:
     void RemoveView(size_t nIndex);
     bool HasView( EditView* pView ) const;
 
+    void SetValidPaperSize( const Size& rSz );
     const Size& GetPaperSize() const { return maPaperSize; }
+    void SetPaperSize(const Size& rNewSize);
 
     void                    SetPolygon(const basegfx::B2DPolyPolygon& 
rPolyPolygon, const basegfx::B2DPolyPolygon* pLinePolyPolygon);
 
diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index 7635a061c297..2e4a764f174e 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -4505,6 +4505,40 @@ void ImpEditEngine::CalcHeight(ParaPortion& rPortion)
     }
 }
 
+void ImpEditEngine::SetPaperSize(const Size& rNewSize)
+{
+    Size aOldSize = maPaperSize;
+    SetValidPaperSize(rNewSize);
+    Size aNewSize = maPaperSize;
+
+    bool bAutoPageSize = GetStatus().AutoPageSize();
+    if ( !(bAutoPageSize || ( aNewSize.Width() != aOldSize.Width() )) )
+        return;
+
+    for (EditView* pView : maEditViews)
+    {
+        if ( bAutoPageSize )
+            pView->getImpl().RecalcOutputArea();
+        else if (pView->getImpl().DoAutoSize())
+        {
+            
pView->getImpl().ResetOutputArea(tools::Rectangle(pView->getImpl().GetOutputArea().TopLeft(),
 aNewSize));
+        }
+    }
+
+    if ( bAutoPageSize || IsFormatted() )
+    {
+        // Changing the width has no effect for AutoPageSize, as this is
+        // determined by the text width.
+        // Optimization first after Vobis delivery was enabled ...
+        FormatFullDoc();
+
+        UpdateViews(mpActiveView);
+
+        if (IsUpdateLayout() && mpActiveView)
+            mpActiveView->ShowCursor(false, false);
+    }
+}
+
 void ImpEditEngine::SetValidPaperSize( const Size& rNewSz )
 {
     maPaperSize = rNewSz;

Reply via email to