diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index fffcfae81c7acc9c698ebdaa3db8be4a24d5d599..217aec38e278c5cb05a7e1913782a1c56988d5d2 100644 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -1255,7 +1255,6 @@ void LLTextEditor::addLineBreakChar(BOOL group_together) setCursorPos(mCursorPos + pos); } - BOOL LLTextEditor::handleSelectionKey(const KEY key, const MASK mask) { BOOL handled = FALSE; @@ -1785,6 +1784,18 @@ BOOL LLTextEditor::handleSpecialKey(const KEY key, const MASK mask) autoIndent(); } } + else if (mask == MASK_SHIFT) + { + if( mCursorPos > 0 ) + { + const LLWString& text = getWText(); + if( '\n' != text[ mCursorPos - 1 ] ) + { + addLineBreakChar(); + handled = TRUE; + } + } + } else { handled = FALSE; diff --git a/indra/newview/llfloaterimnearbychat.cpp b/indra/newview/llfloaterimnearbychat.cpp index 2fff0463e24a0c26cdead52d69786aac1a5c2e10..49937cedefaae65a25be151bcb9161477e72f7bf 100644 --- a/indra/newview/llfloaterimnearbychat.cpp +++ b/indra/newview/llfloaterimnearbychat.cpp @@ -414,20 +414,19 @@ BOOL LLFloaterIMNearbyChat::handleKeyHere( KEY key, MASK mask ) { BOOL handled = FALSE; - if( KEY_RETURN == key && mask == MASK_CONTROL) + if (KEY_RETURN == key && mask == (MASK_CONTROL|MASK_SHIFT)) { - // shout - sendChat(CHAT_TYPE_SHOUT); + // whisper + sendChat(CHAT_TYPE_WHISPER); handled = TRUE; } - else if (KEY_RETURN == key && mask == MASK_SHIFT) + else if( KEY_RETURN == key && mask == MASK_CONTROL) { - // whisper - sendChat(CHAT_TYPE_WHISPER); + // shout + sendChat(CHAT_TYPE_SHOUT); handled = TRUE; } - if((mask == MASK_ALT) && isTornOff()) { LLFloaterIMContainer* floater_container = LLFloaterIMContainer::getInstance();