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