diff options
author | callum_linden <none@none> | 2016-05-23 16:50:56 -0700 |
---|---|---|
committer | callum_linden <none@none> | 2016-05-23 16:50:56 -0700 |
commit | 05fcb7c8126a3f3496d948affe7f2722c9ca8fad (patch) | |
tree | 159e542492c5c1fab1a04ef8a29b22fd60e4766a /indra/llui/lltexteditor.cpp | |
parent | 50ab1e57ec21f2009013b3bc061047887cdd07d5 (diff) | |
parent | c2ef3b4c7186dbbd95b16520f281b7d58364fb52 (diff) |
Automated merge with tip of viewer-release
Diffstat (limited to 'indra/llui/lltexteditor.cpp')
-rw-r--r--[-rwxr-xr-x] | indra/llui/lltexteditor.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index 926326aaff..73f961b36b 100755..100644 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -1716,7 +1716,20 @@ void LLTextEditor::unindentLineBeforeCloseBrace() LLWString text = getWText(); if( ' ' == text[ mCursorPos - 1 ] ) { - removeCharOrTab(); + S32 line = getLineNumFromDocIndex(mCursorPos, false); + S32 line_start = getLineStart(line); + + // Jump over spaces in the current line + while ((' ' == text[line_start]) && (line_start < mCursorPos)) + { + line_start++; + } + + // Make sure there is nothing but ' ' before the Brace we are unindenting + if (line_start == mCursorPos) + { + removeCharOrTab(); + } } } } @@ -1800,7 +1813,7 @@ BOOL LLTextEditor::handleUnicodeCharHere(llwchar uni_char) // Handle most keys only if the text editor is writeable. if( !mReadOnly ) { - if( '}' == uni_char ) + if( mAutoIndent && '}' == uni_char ) { unindentLineBeforeCloseBrace(); } @@ -2380,6 +2393,14 @@ void LLTextEditor::removeTextFromEnd(S32 num_chars) //---------------------------------------------------------------------------- +void LLTextEditor::onSpellCheckPerformed() +{ + if (isPristine()) + { + mBaseDocIsPristine = FALSE; + } +} + void LLTextEditor::makePristine() { mPristineCmd = mLastCmd; |