MAINT-3610 FIXED SL viewer partly 'eats' chat-messages

master
maksymsproductengine 2014-03-06 05:51:49 +02:00
parent 02423199e8
commit 635a3309f0
3 changed files with 6 additions and 11 deletions

View File

@ -51,6 +51,7 @@ LLChatEntry::LLChatEntry(const Params& p)
mCurrentHistoryLine = mLineHistory.begin();
mAutoIndent = false;
keepSelectionOnReturn(true);
}
LLChatEntry::~LLChatEntry()
@ -179,15 +180,6 @@ 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)

View File

@ -264,7 +264,8 @@ LLTextEditor::LLTextEditor(const LLTextEditor::Params& p) :
mContextMenu(NULL),
mShowContextMenu(p.show_context_menu),
mEnableTooltipPaste(p.enable_tooltip_paste),
mPassDelete(FALSE)
mPassDelete(FALSE),
mKeepSelectionOnReturn(false)
{
mSourceID.generate();
@ -1664,7 +1665,7 @@ BOOL LLTextEditor::handleSpecialKey(const KEY key, const MASK mask)
case KEY_RETURN:
if (mask == MASK_NONE)
{
if( hasSelection() )
if( hasSelection() && !mKeepSelectionOnReturn )
{
deleteSelection(FALSE);
}

View File

@ -295,6 +295,7 @@ protected:
/*virtual*/ void updateSegments();
void updateLinkSegments();
void keepSelectionOnReturn(bool keep) { mKeepSelectionOnReturn = keep; }
private:
//
@ -338,6 +339,7 @@ private:
bool mParseOnTheFly;
bool mEnableTooltipPaste;
bool mPassDelete;
bool mKeepSelectionOnReturn; // disabling of removing selected text after pressing of Enter
LLUUID mSourceID;