editeng/source/editeng/editeng.cxx  |   70 ----------------------------------
 editeng/source/editeng/impedit.hxx  |    1 
 editeng/source/editeng/impedit5.cxx |   73 ++++++++++++++++++++++++++++++++++++
 3 files changed, 75 insertions(+), 69 deletions(-)

New commits:
commit 04eedb4aec5ffa3966dd4e21ae2f594b289ac53b
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Mon Jun 17 14:12:38 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Mon Jun 17 20:02:45 2024 +0200

    move SetControlWord code from EditEngine to ImpEditEngine
    
    so we have the implementation in one class, instead of bouncing
    back and forth between two.
    
    Change-Id: Ie653fc6880e096ca4fad4dc1cf77bb3f16915dbf
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169000
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index bfba5faa811f..4c2eef100fac 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -1167,75 +1167,7 @@ void EditEngine::SetSingleLine(bool bValue)
 
 void EditEngine::SetControlWord( EEControlBits nWord )
 {
-
-    if (nWord == getImpl().GetStatus().GetControlWord())
-        return;
-
-    EEControlBits nPrev = getImpl().GetStatus().GetControlWord();
-    getImpl().GetStatus().GetControlWord() = nWord;
-
-    EEControlBits nChanges = nPrev ^ nWord;
-    if (getImpl().IsFormatted())
-    {
-        // possibly reformat:
-        if ( ( nChanges & EEControlBits::USECHARATTRIBS ) ||
-             ( nChanges & EEControlBits::ONECHARPERLINE ) ||
-             ( nChanges & EEControlBits::STRETCHING ) ||
-             ( nChanges & EEControlBits::OUTLINER ) ||
-             ( nChanges & EEControlBits::NOCOLORS ) ||
-             ( nChanges & EEControlBits::OUTLINER2 ) )
-        {
-            if ( nChanges & EEControlBits::USECHARATTRIBS )
-            {
-                getImpl().GetEditDoc().CreateDefFont(true);
-            }
-
-            getImpl().FormatFullDoc();
-            getImpl().UpdateViews(getImpl().GetActiveView());
-        }
-    }
-
-    bool bSpellingChanged = bool(nChanges & EEControlBits::ONLINESPELLING);
-
-    if ( !bSpellingChanged )
-        return;
-
-    getImpl().StopOnlineSpellTimer();
-    if (nWord & EEControlBits::ONLINESPELLING)
-    {
-        // Create WrongList, start timer...
-        sal_Int32 nNodes = getImpl().GetEditDoc().Count();
-        for (sal_Int32 nNode = 0; nNode < nNodes; nNode++)
-        {
-            ContentNode* pNode = getImpl().GetEditDoc().GetObject(nNode);
-            pNode->CreateWrongList();
-        }
-        if (getImpl().IsFormatted())
-            getImpl().StartOnlineSpellTimer();
-    }
-    else
-    {
-        tools::Long nY = 0;
-        sal_Int32 nNodes = getImpl().GetEditDoc().Count();
-        for ( sal_Int32 nNode = 0; nNode < nNodes; nNode++)
-        {
-            ContentNode* pNode = getImpl().GetEditDoc().GetObject(nNode);
-            ParaPortion const& rPortion = 
getImpl().GetParaPortions().getRef(nNode);
-            bool bWrongs = false;
-            if (pNode->GetWrongList() != nullptr)
-                bWrongs = !pNode->GetWrongList()->empty();
-            pNode->DestroyWrongList();
-            if ( bWrongs )
-            {
-                getImpl().maInvalidRect.SetLeft(0);
-                
getImpl().maInvalidRect.SetRight(getImpl().GetPaperSize().Width());
-                getImpl().maInvalidRect.SetTop(nY + 1);
-                getImpl().maInvalidRect.SetBottom(nY + rPortion.GetHeight() - 
1);
-                getImpl().UpdateViews(getImpl().mpActiveView);
-            }
-            nY += rPortion.GetHeight();
-        }
-    }
+    getImpl().SetControlWord(nWord);
 }
 
 EEControlBits EditEngine::GetControlWord() const
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index 482ea3ecd357..bdae6e7c7b36 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -1172,6 +1172,7 @@ public:
     const MapMode&      GetRefMapMode() const { return mpRefDev->GetMapMode(); 
}
     void                SetRefMapMode(const MapMode& rMapMode);
 
+    void SetControlWord( EEControlBits nWord );
     InternalEditStatus& GetStatus() { return maStatus; }
     InternalEditStatus const& GetStatus() const{ return maStatus; }
 
diff --git a/editeng/source/editeng/impedit5.cxx 
b/editeng/source/editeng/impedit5.cxx
index 22536c3cd44a..7e3f6ef970c5 100644
--- a/editeng/source/editeng/impedit5.cxx
+++ b/editeng/source/editeng/impedit5.cxx
@@ -1339,6 +1339,79 @@ bool ImpEditEngine::IsSimpleCharInput( const KeyEvent& 
rKeyEvent )
         ( KEY_MOD1 != (rKeyEvent.GetKeyCode().GetModifier() & ~KEY_SHIFT ) );
 }
 
+void ImpEditEngine::SetControlWord( EEControlBits nWord )
+{
+
+    if (nWord == maStatus.GetControlWord())
+        return;
+
+    EEControlBits nPrev = maStatus.GetControlWord();
+    maStatus.GetControlWord() = nWord;
+
+    EEControlBits nChanges = nPrev ^ nWord;
+    if (IsFormatted())
+    {
+        // possibly reformat:
+        if ( ( nChanges & EEControlBits::USECHARATTRIBS ) ||
+             ( nChanges & EEControlBits::ONECHARPERLINE ) ||
+             ( nChanges & EEControlBits::STRETCHING ) ||
+             ( nChanges & EEControlBits::OUTLINER ) ||
+             ( nChanges & EEControlBits::NOCOLORS ) ||
+             ( nChanges & EEControlBits::OUTLINER2 ) )
+        {
+            if ( nChanges & EEControlBits::USECHARATTRIBS )
+            {
+                maEditDoc.CreateDefFont(true);
+            }
+
+            FormatFullDoc();
+            UpdateViews(mpActiveView);
+        }
+    }
+
+    bool bSpellingChanged = bool(nChanges & EEControlBits::ONLINESPELLING);
+
+    if ( !bSpellingChanged )
+        return;
+
+    StopOnlineSpellTimer();
+    if (nWord & EEControlBits::ONLINESPELLING)
+    {
+        // Create WrongList, start timer...
+        sal_Int32 nNodes = maEditDoc.Count();
+        for (sal_Int32 nNode = 0; nNode < nNodes; nNode++)
+        {
+            ContentNode* pNode = maEditDoc.GetObject(nNode);
+            pNode->CreateWrongList();
+        }
+        if (IsFormatted())
+            StartOnlineSpellTimer();
+    }
+    else
+    {
+        tools::Long nY = 0;
+        sal_Int32 nNodes = maEditDoc.Count();
+        for ( sal_Int32 nNode = 0; nNode < nNodes; nNode++)
+        {
+            ContentNode* pNode = maEditDoc.GetObject(nNode);
+            ParaPortion const& rPortion = maParaPortionList.getRef(nNode);
+            bool bWrongs = false;
+            if (pNode->GetWrongList() != nullptr)
+                bWrongs = !pNode->GetWrongList()->empty();
+            pNode->DestroyWrongList();
+            if ( bWrongs )
+            {
+                maInvalidRect.SetLeft(0);
+                maInvalidRect.SetRight(GetPaperSize().Width());
+                maInvalidRect.SetTop(nY + 1);
+                maInvalidRect.SetBottom(nY + rPortion.GetHeight() - 1);
+                UpdateViews(mpActiveView);
+            }
+            nY += rPortion.GetHeight();
+        }
+    }
+}
+
 IdleFormattter::IdleFormattter()
     : Idle("editeng::ImpEditEngine aIdleFormatter")
 {

Reply via email to