summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-08-27 13:01:40 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-08-28 08:56:59 -0400
commita4772f2ba4b003d97f67077a9503ebe584f2897e (patch)
tree17c31e44f5cf528e9d2e3736f4787af37d0814e2 /editeng
parent2a58a45b82bf9dfa93dab833f2247d4a41b7506b (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.cxx3
-rw-r--r--editeng/source/editeng/edtspell.cxx19
-rw-r--r--editeng/source/editeng/edtspell.hxx6
-rw-r--r--editeng/source/editeng/impedit2.cxx6
-rw-r--r--editeng/source/editeng/impedit4.cxx5
-rw-r--r--editeng/source/editeng/impedit5.cxx2
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);
}
}
}