Kaydet (Commit) 4bb1b555 authored tarafından Matteo Casalin's avatar Matteo Casalin Kaydeden (comit) Noel Power

Rework code after OUString'ification

Change-Id: Ic93472b0621a13a777d37cfacc4230630f88a6ac
Reviewed-on: https://gerrit.libreoffice.org/4214Reviewed-by: 's avatarNoel Power <noel.power@suse.com>
Tested-by: 's avatarNoel Power <noel.power@suse.com>
üst db20a50f
...@@ -861,26 +861,25 @@ void SwEditWin::FlushInBuffer() ...@@ -861,26 +861,25 @@ void SwEditWin::FlushInBuffer()
if (!rSh.GetCrsr()->HasMark()) if (!rSh.GetCrsr()->HasMark())
rSh.GetCrsr()->SetMark(); rSh.GetCrsr()->SetMark();
rSh.GetCrsr()->GetMark()->nContent = 0; rSh.GetCrsr()->GetMark()->nContent = 0;
OUString aLeftText( rSh.GetCrsr()->GetTxt() );
const OUString aOldText( rSh.GetCrsr()->GetTxt() );
const sal_Int32 nOldLen = aOldText.getLength();
SvtCTLOptions& rCTLOptions = SW_MOD()->GetCTLOptions(); SvtCTLOptions& rCTLOptions = SW_MOD()->GetCTLOptions();
xub_StrLen nExpandSelection = 0; xub_StrLen nExpandSelection = 0;
if (aLeftText.getLength() > 0) if (nOldLen > 0)
{ {
sal_Unicode cChar = '\0'; sal_Int32 nTmpPos = nOldLen;
sal_Int32 nTmpPos = aLeftText.getLength();
sal_Int16 nCheckMode = rCTLOptions.IsCTLSequenceCheckingRestricted() ? sal_Int16 nCheckMode = rCTLOptions.IsCTLSequenceCheckingRestricted() ?
i18n::InputSequenceCheckMode::STRICT : i18n::InputSequenceCheckMode::BASIC; i18n::InputSequenceCheckMode::STRICT : i18n::InputSequenceCheckMode::BASIC;
OUString aOldText( aLeftText );
OUString aNewText( aOldText ); OUString aNewText( aOldText );
if (rCTLOptions.IsCTLSequenceCheckingTypeAndReplace()) if (rCTLOptions.IsCTLSequenceCheckingTypeAndReplace())
{ {
for (xub_StrLen k = 0; k < m_aInBuffer.Len(); ++k) for (xub_StrLen k = 0; k < m_aInBuffer.Len(); ++k)
{ {
cChar = m_aInBuffer.GetChar(k); const sal_Unicode cChar = m_aInBuffer.GetChar(k);
const sal_Int32 nPrevPos =xISC->correctInputSequence( aNewText, nTmpPos - 1, cChar, nCheckMode ); const sal_Int32 nPrevPos =xISC->correctInputSequence( aNewText, nTmpPos - 1, cChar, nCheckMode );
// valid sequence or sequence could be corrected: // valid sequence or sequence could be corrected:
...@@ -889,7 +888,6 @@ void SwEditWin::FlushInBuffer() ...@@ -889,7 +888,6 @@ void SwEditWin::FlushInBuffer()
} }
// find position of first character that has changed // find position of first character that has changed
sal_Int32 nOldLen = aOldText.getLength();
sal_Int32 nNewLen = aNewText.getLength(); sal_Int32 nNewLen = aNewText.getLength();
const sal_Unicode *pOldTxt = aOldText.getStr(); const sal_Unicode *pOldTxt = aOldText.getStr();
const sal_Unicode *pNewTxt = aNewText.getStr(); const sal_Unicode *pNewTxt = aNewText.getStr();
...@@ -898,13 +896,11 @@ void SwEditWin::FlushInBuffer() ...@@ -898,13 +896,11 @@ void SwEditWin::FlushInBuffer()
pOldTxt[nChgPos] == pNewTxt[nChgPos] ) pOldTxt[nChgPos] == pNewTxt[nChgPos] )
++nChgPos; ++nChgPos;
xub_StrLen nChgLen = static_cast< xub_StrLen >(nNewLen - nChgPos); const sal_Int32 nChgLen = nNewLen - nChgPos;
String aChgText( aNewText.copy( static_cast< xub_StrLen >(nChgPos), nChgLen ) ); if (nChgLen)
if (aChgText.Len())
{ {
m_aInBuffer = aChgText; m_aInBuffer = aNewText.copy( nChgPos, nChgLen );
nExpandSelection = static_cast< xub_StrLen >(aLeftText.getLength() - nChgPos); nExpandSelection = static_cast< xub_StrLen >(nOldLen - nChgPos);
} }
else else
m_aInBuffer.Erase(); m_aInBuffer.Erase();
...@@ -913,7 +909,7 @@ void SwEditWin::FlushInBuffer() ...@@ -913,7 +909,7 @@ void SwEditWin::FlushInBuffer()
{ {
for (xub_StrLen k = 0; k < m_aInBuffer.Len(); ++k) for (xub_StrLen k = 0; k < m_aInBuffer.Len(); ++k)
{ {
cChar = m_aInBuffer.GetChar(k); const sal_Unicode cChar = m_aInBuffer.GetChar(k);
if (xISC->checkInputSequence( aNewText, nTmpPos - 1, cChar, nCheckMode )) if (xISC->checkInputSequence( aNewText, nTmpPos - 1, cChar, nCheckMode ))
{ {
// character can be inserted: // character can be inserted:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment