summaryrefslogtreecommitdiff
path: root/indra/llui/lltexteditor.cpp
diff options
context:
space:
mode:
authorcallum_linden <none@none>2016-05-23 16:50:56 -0700
committercallum_linden <none@none>2016-05-23 16:50:56 -0700
commit05fcb7c8126a3f3496d948affe7f2722c9ca8fad (patch)
tree159e542492c5c1fab1a04ef8a29b22fd60e4766a /indra/llui/lltexteditor.cpp
parent50ab1e57ec21f2009013b3bc061047887cdd07d5 (diff)
parentc2ef3b4c7186dbbd95b16520f281b7d58364fb52 (diff)
Automated merge with tip of viewer-release
Diffstat (limited to 'indra/llui/lltexteditor.cpp')
-rw-r--r--[-rwxr-xr-x]indra/llui/lltexteditor.cpp25
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;