diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-08-27 13:01:40 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-08-28 08:56:59 -0400 |
commit | a4772f2ba4b003d97f67077a9503ebe584f2897e (patch) | |
tree | 17c31e44f5cf528e9d2e3736f4787af37d0814e2 /editeng | |
parent | 2a58a45b82bf9dfa93dab833f2247d4a41b7506b (diff) |
Organize methods that update invalidated ranges for online spell checker.
Change-Id: Iaf9295e33e4771f39a085f6ee3cb88ebbf662ff0
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/editeng/editview.cxx | 3 | ||||
-rw-r--r-- | editeng/source/editeng/edtspell.cxx | 19 | ||||
-rw-r--r-- | editeng/source/editeng/edtspell.hxx | 6 | ||||
-rw-r--r-- | editeng/source/editeng/impedit2.cxx | 6 | ||||
-rw-r--r-- | editeng/source/editeng/impedit4.cxx | 5 | ||||
-rw-r--r-- | editeng/source/editeng/impedit5.cxx | 2 |
6 files changed, 22 insertions, 19 deletions
diff --git a/editeng/source/editeng/editview.cxx b/editeng/source/editeng/editview.cxx index af14c5ed96a0..3f47a36e2cbe 100644 --- a/editeng/source/editeng/editview.cxx +++ b/editeng/source/editeng/editview.cxx @@ -1132,8 +1132,7 @@ void EditView::ExecuteSpellPopup( const Point& rPosPixel, Link* pCallBack ) if (xSavDic.is()) xSavDic->store(); - aPaM.GetNode()->GetWrongList()->GetInvalidStart() = 0; - aPaM.GetNode()->GetWrongList()->GetInvalidEnd() = aPaM.GetNode()->Len(); + aPaM.GetNode()->GetWrongList()->ResetInvalidRange(0, aPaM.GetNode()->Len()); PIMPEE->StartOnlineSpellTimer(); if ( pCallBack ) diff --git a/editeng/source/editeng/edtspell.cxx b/editeng/source/editeng/edtspell.cxx index 26e37f65d573..3331ab36c749 100644 --- a/editeng/source/editeng/edtspell.cxx +++ b/editeng/source/editeng/edtspell.cxx @@ -218,12 +218,19 @@ void WrongList::SetValid() nInvalidEnd = 0; } -void WrongList::MarkInvalid( sal_uInt16 nS, sal_uInt16 nE ) +void WrongList::SetInvalidRange( sal_uInt16 nStart, sal_uInt16 nEnd ) { - if ( (nInvalidStart == Valid) || ( nInvalidStart > nS ) ) - nInvalidStart = nS; - if ( nInvalidEnd < nE ) - nInvalidEnd = nE; + if (nInvalidStart == Valid || nStart < nInvalidStart) + nInvalidStart = nStart; + + if (nInvalidEnd < nEnd) + nInvalidEnd = nEnd; +} + +void WrongList::ResetInvalidRange( sal_uInt16 nStart, sal_uInt16 nEnd ) +{ + nInvalidStart = nStart; + nInvalidEnd = nEnd; } void WrongList::TextInserted( sal_uInt16 nPos, sal_uInt16 nLength, bool bPosIsSep ) @@ -471,7 +478,7 @@ void WrongList::InsertWrong( sal_uInt16 nStart, sal_uInt16 nEnd ) void WrongList::MarkWrongsInvalid() { if (!maRanges.empty()) - MarkInvalid(maRanges.front().nStart, maRanges.back().nEnd ); + SetInvalidRange(maRanges.front().nStart, maRanges.back().nEnd); } WrongList* WrongList::Clone() const diff --git a/editeng/source/editeng/edtspell.hxx b/editeng/source/editeng/edtspell.hxx index 4d30c65f7e48..642bcfa94469 100644 --- a/editeng/source/editeng/edtspell.hxx +++ b/editeng/source/editeng/edtspell.hxx @@ -93,13 +93,11 @@ public: bool IsValid() const; void SetValid(); - void MarkInvalid( sal_uInt16 nS, sal_uInt16 nE ); + void SetInvalidRange( sal_uInt16 nStart, sal_uInt16 nEnd ); + void ResetInvalidRange( sal_uInt16 nStart, sal_uInt16 nEnd ); sal_uInt16 GetInvalidStart() const { return nInvalidStart; } - sal_uInt16& GetInvalidStart() { return nInvalidStart; } - sal_uInt16 GetInvalidEnd() const { return nInvalidEnd; } - sal_uInt16& GetInvalidEnd() { return nInvalidEnd; } void TextInserted( sal_uInt16 nPos, sal_uInt16 nLength, bool bPosIsSep ); void TextDeleted( sal_uInt16 nPos, sal_uInt16 nLength ); diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index b4a25afb545a..c8b56f195b9d 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -2230,7 +2230,7 @@ EditPaM ImpEditEngine::ImpConnectParagraphs( ContentNode* pLeft, ContentNode* pR xub_StrLen nEnd = pLeft->Len(); xub_StrLen nInv = nEnd ? nEnd-1 : nEnd; pLeft->GetWrongList()->ClearWrongs( nInv, 0xFFFF, pLeft ); // Possibly remove one - pLeft->GetWrongList()->MarkInvalid( nInv, nEnd+1 ); + pLeft->GetWrongList()->SetInvalidRange(nInv, nEnd+1); // Take over misspelled words WrongList* pRWrongs = pRight->GetWrongList(); for (WrongList::iterator i = pRWrongs->begin(); i < pRWrongs->end(); ++i) @@ -2833,11 +2833,11 @@ EditPaM ImpEditEngine::ImpInsertParaBreak( EditPaM& rPaM, bool bKeepEndingAttrib } sal_uInt16 nInv = nEnd ? nEnd-1 : nEnd; if ( nEnd ) - pLWrongs->MarkInvalid( nInv, nEnd ); + pLWrongs->SetInvalidRange(nInv, nEnd); else pLWrongs->SetValid(); pRWrongs->SetValid(); // otherwise 0 - 0xFFFF - pRWrongs->MarkInvalid( 0, 1 ); // Only test the first word + pRWrongs->SetInvalidRange(0, 1); // Only test the first word } ParaPortion* pPortion = FindParaPortion( rPaM.GetNode() ); diff --git a/editeng/source/editeng/impedit4.cxx b/editeng/source/editeng/impedit4.cxx index 8b2a7d1bea83..759c422775ce 100644 --- a/editeng/source/editeng/impedit4.cxx +++ b/editeng/source/editeng/impedit4.cxx @@ -2311,9 +2311,8 @@ void ImpEditEngine::DoOnlineSpelling( ContentNode* pThisNodeOnly, sal_Bool bSpel if ( bCursorPos ) { // Then continue to mark as invalid ... - pWrongList->GetInvalidStart() = nWStart; - pWrongList->GetInvalidEnd() = nWEnd; - bRestartTimer = sal_True; + pWrongList->ResetInvalidRange(nWStart, nWEnd); + bRestartTimer = true; } else { diff --git a/editeng/source/editeng/impedit5.cxx b/editeng/source/editeng/impedit5.cxx index 92507c066371..e52813e62809 100644 --- a/editeng/source/editeng/impedit5.cxx +++ b/editeng/source/editeng/impedit5.cxx @@ -581,7 +581,7 @@ void ImpEditEngine::SetAttribs( EditSelection aSel, const SfxItemSet& rSet, sal_ { pPortion->MarkSelectionInvalid( nStartPos, nEndPos-nStartPos ); if ( bCheckLanguage ) - pNode->GetWrongList()->MarkInvalid( nStartPos, nEndPos ); + pNode->GetWrongList()->SetInvalidRange(nStartPos, nEndPos); } } } |