diff options
| author | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2014-03-06 05:51:49 +0200 | 
|---|---|---|
| committer | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2014-03-06 05:51:49 +0200 | 
| commit | 635a3309f05f77e302ea430ca2277fea193a41f4 (patch) | |
| tree | 2f3972b68099d35a5524b0aad10ce49f75f506bc | |
| parent | 02423199e89473c6aad2c6ab121d44c1f238dbd1 (diff) | |
MAINT-3610 FIXED SL viewer partly 'eats' chat-messages
| -rwxr-xr-x | indra/llui/llchatentry.cpp | 10 | ||||
| -rwxr-xr-x | indra/llui/lltexteditor.cpp | 5 | ||||
| -rwxr-xr-x | indra/llui/lltexteditor.h | 2 | 
3 files changed, 6 insertions, 11 deletions
| diff --git a/indra/llui/llchatentry.cpp b/indra/llui/llchatentry.cpp index c04b70eb64..dac001afab 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() @@ -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) diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index 3bac15c5d4..6c4d031907 100755 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -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);  			} diff --git a/indra/llui/lltexteditor.h b/indra/llui/lltexteditor.h index d3b7bc0eb7..02a76d2f8a 100755 --- a/indra/llui/lltexteditor.h +++ b/indra/llui/lltexteditor.h @@ -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; | 
