summaryrefslogtreecommitdiff
path: root/indra/llui/llchatentry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llchatentry.cpp')
-rwxr-xr-x[-rw-r--r--]indra/llui/llchatentry.cpp20
1 files changed, 7 insertions, 13 deletions
diff --git a/indra/llui/llchatentry.cpp b/indra/llui/llchatentry.cpp
index 6a1b48a08a..dac001afab 100644..100755
--- a/indra/llui/llchatentry.cpp
+++ b/indra/llui/llchatentry.cpp
@@ -51,6 +51,7 @@ LLChatEntry::LLChatEntry(const Params& p)
mCurrentHistoryLine = mLineHistory.begin();
mAutoIndent = false;
+ keepSelectionOnReturn(true);
}
LLChatEntry::~LLChatEntry()
@@ -62,9 +63,9 @@ void LLChatEntry::draw()
{
if(mIsExpandable)
{
+ reflow();
expandText();
}
-
LLTextEditor::draw();
}
@@ -158,34 +159,27 @@ void LLChatEntry::onValueChange(S32 start, S32 end)
resetLabel();
}
-bool LLChatEntry::useLabel()
+bool LLChatEntry::useLabel() const
{
return !getLength() && !mLabel.empty();
}
void LLChatEntry::onFocusReceived()
{
-
+ LLUICtrl::onFocusReceived();
+ updateAllowingLanguageInput();
}
void LLChatEntry::onFocusLost()
{
-
+ LLTextEditor::focusLostHelper();
+ LLUICtrl::onFocusLost();
}
BOOL LLChatEntry::handleSpecialKey(const KEY key, const MASK mask)
{
BOOL handled = FALSE;
- // In the case of a chat entry, pressing RETURN when something is selected
- // should NOT erase the selection (unlike a notecard, for example)
- if (key == KEY_RETURN)
- {
- endOfDoc();
- startSelection();
- endSelection();
- }
-
LLTextEditor::handleSpecialKey(key, mask);
switch(key)