editeng/source/editeng/editeng.cxx  |    8 ++------
 editeng/source/editeng/impedit.hxx  |    2 ++
 editeng/source/editeng/impedit2.cxx |    6 ++++++
 editeng/source/editeng/impedit4.cxx |    7 +++++++
 4 files changed, 17 insertions(+), 6 deletions(-)

New commits:
commit 8fb67b3cf6d893aabb82ac77e6f9cb14c4dc37d1
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Mon Jun 17 14:29:45 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Mon Jun 17 20:03:26 2024 +0200

    move GetText code from EditEngine to ImpEditEngine
    
    so we have the implementation in one class, instead of bouncing
    back and forth between two.
    
    Change-Id: I153b36b8cc5e91f46bff42dba2f36fce733a8df9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169002
    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 7bc6f0ff0135..14d200612696 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -407,8 +407,7 @@ OUString EditEngine::GetText( LineEnd eEnd ) const
 
 OUString EditEngine::GetText( const ESelection& rESelection ) const
 {
-    EditSelection aSel = getImpl().CreateSel(rESelection);
-    return getImpl().GetSelected(aSel);
+    return getImpl().GetText(rESelection);
 }
 
 sal_Int32 EditEngine::GetTextLen() const
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index cff18317da91..494de98136be 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -1003,6 +1003,7 @@ public:
     bool                    Command(const CommandEvent& rCEvt, EditView* 
pView);
 
     EditSelectionEngine&    GetSelEngine() { return maSelEngine; }
+    OUString                GetText( const ESelection& rESelection );
     OUString                GetSelected( const EditSelection& rSel ) const;
 
     const SfxItemSet& GetEmptyItemSet() const;
diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index ca919c10676c..0f253f222ed6 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -263,6 +263,12 @@ EditPaM ImpEditEngine::DeleteSelected(const EditSelection& 
rSel)
     return aPaM;
 }
 
+OUString ImpEditEngine::GetText( const ESelection& rESelection )
+{
+    EditSelection aSel = CreateSel(rESelection);
+    return GetSelected(aSel);
+}
+
 OUString ImpEditEngine::GetSelected( const EditSelection& rSel  ) const
 {
     if ( !rSel.HasRange() )
commit 3caf57f9823a5b178e9f2d391dc09ed4a599ce0c
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Mon Jun 17 14:26:42 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Mon Jun 17 20:03:16 2024 +0200

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

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index 4c2eef100fac..7bc6f0ff0135 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -332,12 +332,9 @@ editeng::LanguageSpan EditEngine::GetLanguage(const 
EditPaM& rPaM) const
 
 editeng::LanguageSpan EditEngine::GetLanguage( sal_Int32 nPara, sal_Int32 nPos 
) const
 {
-    ContentNode* pNode = getImpl().GetEditDoc().GetObject( nPara );
-    DBG_ASSERT( pNode, "GetLanguage - nPara is invalid!" );
-    return pNode ? getImpl().GetLanguage( EditPaM( pNode, nPos ) ) : 
editeng::LanguageSpan{};
+    return getImpl().GetLanguage( nPara, nPos );
 }
 
-
 void EditEngine::TransliterateText( const ESelection& rSelection, 
TransliterationFlags nTransliterationMode )
 {
     getImpl().TransliterateText(getImpl().CreateSel( rSelection ), 
nTransliterationMode);
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index bdae6e7c7b36..cff18317da91 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -1203,6 +1203,7 @@ public:
     void SetDefaultLanguage(LanguageType eLang) { meDefLanguage = eLang; }
     LanguageType GetDefaultLanguage() const { return meDefLanguage; }
 
+    editeng::LanguageSpan GetLanguage( sal_Int32 nPara, sal_Int32 nPos );
     editeng::LanguageSpan GetLanguage( const EditPaM& rPaM, sal_Int32* pEndPos 
= nullptr ) const;
     css::lang::Locale   GetLocale( const EditPaM& rPaM ) const;
 
diff --git a/editeng/source/editeng/impedit4.cxx 
b/editeng/source/editeng/impedit4.cxx
index c0e499e6f1bf..5b72524270b8 100644
--- a/editeng/source/editeng/impedit4.cxx
+++ b/editeng/source/editeng/impedit4.cxx
@@ -1460,6 +1460,13 @@ void ImpEditEngine::SetAllMisspellRanges( const 
std::vector<editeng::MisspellRan
     }
 }
 
+editeng::LanguageSpan ImpEditEngine::GetLanguage( sal_Int32 nPara, sal_Int32 
nPos )
+{
+    ContentNode* pNode = maEditDoc.GetObject( nPara );
+    DBG_ASSERT( pNode, "GetLanguage - nPara is invalid!" );
+    return pNode ? GetLanguage( EditPaM( pNode, nPos ) ) : 
editeng::LanguageSpan{};
+}
+
 editeng::LanguageSpan ImpEditEngine::GetLanguage( const EditPaM& rPaM, 
sal_Int32* pEndPos ) const
 {
     short nScriptTypeI18N = GetI18NScriptType( rPaM, pEndPos ); // pEndPos 
will be valid now, pointing to ScriptChange or NodeLen

Reply via email to