diff options
| author | mberezhnoy <mberezhnoy@productengine.com> | 2013-05-17 00:06:10 +0300 | 
|---|---|---|
| committer | mberezhnoy <mberezhnoy@productengine.com> | 2013-05-17 00:06:10 +0300 | 
| commit | f159d1b053554d43aa19d6f38680a554f67d6e5c (patch) | |
| tree | 558357dd5a77b30717d964dba857aeb9a1e015e3 | |
| parent | 75f97d4ffe517d07e4b528de9e5f2d2c800510fb (diff) | |
| parent | 73fa7a46b54941a3f7f7745e8ae037ba49a47969 (diff) | |
merge
| -rw-r--r-- | indra/llui/llchatentry.cpp | 12 | ||||
| -rw-r--r-- | indra/llui/llchatentry.h | 2 | ||||
| -rw-r--r-- | indra/llui/lltexteditor.cpp | 7 | ||||
| -rw-r--r-- | indra/llui/lltexteditor.h | 1 | ||||
| -rw-r--r-- | indra/newview/llfloaterimnearbychathandler.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llfloaterimsession.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llimview.cpp | 3 | 
7 files changed, 24 insertions, 4 deletions
diff --git a/indra/llui/llchatentry.cpp b/indra/llui/llchatentry.cpp index f6c4b69308..416c3e65e4 100644 --- a/indra/llui/llchatentry.cpp +++ b/indra/llui/llchatentry.cpp @@ -163,6 +163,18 @@ bool LLChatEntry::useLabel()      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; diff --git a/indra/llui/llchatentry.h b/indra/llui/llchatentry.h index a20a505ae1..3a5e87e8c8 100644 --- a/indra/llui/llchatentry.h +++ b/indra/llui/llchatentry.h @@ -62,6 +62,8 @@ public:  	virtual void	draw();  	virtual	void	onCommit(); +	/*virtual*/ void	onFocusReceived(); +	/*virtual*/ void	onFocusLost();  	void enableSingleLineMode(bool single_line_mode);  	boost::signals2::connection setTextExpandedCallback(const commit_signal_t::slot_type& cb); diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index 834f213097..09caec7b73 100644 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -1964,8 +1964,7 @@ void LLTextEditor::onFocusReceived()  	updateAllowingLanguageInput();  } -// virtual, from LLView -void LLTextEditor::onFocusLost() +void LLTextEditor::focusLostHelper()  {  	updateAllowingLanguageInput(); @@ -1982,7 +1981,11 @@ void LLTextEditor::onFocusLost()  	// Make sure cursor is shown again  	getWindow()->showCursorFromMouseMove(); +} +void LLTextEditor::onFocusLost() +{ +	focusLostHelper();  	LLTextBase::onFocusLost();  } diff --git a/indra/llui/lltexteditor.h b/indra/llui/lltexteditor.h index 969e072704..13f63a17ef 100644 --- a/indra/llui/lltexteditor.h +++ b/indra/llui/lltexteditor.h @@ -255,6 +255,7 @@ protected:  	S32				insert(S32 pos, const LLWString &wstr, bool group_with_next_op, LLTextSegmentPtr segment);  	S32				remove(S32 pos, S32 length, bool group_with_next_op); +	void			focusLostHelper();  	void			updateAllowingLanguageInput();  	BOOL			hasPreeditString() const; diff --git a/indra/newview/llfloaterimnearbychathandler.cpp b/indra/newview/llfloaterimnearbychathandler.cpp index 9ce5e12897..cc00b6fd10 100644 --- a/indra/newview/llfloaterimnearbychathandler.cpp +++ b/indra/newview/llfloaterimnearbychathandler.cpp @@ -606,6 +606,7 @@ void LLFloaterIMNearbyChatHandler::processChat(const LLChat& chat_msg,  		//Don't show nearby toast, if conversation is visible and selected  		if ((nearby_chat->hasFocus()) || +			(LLFloater::isVisible(nearby_chat) && nearby_chat->isTornOff() && !nearby_chat->isMinimized()) ||  		    ((im_box->getSelectedSession().isNull() &&  				((LLFloater::isVisible(im_box) && !im_box->isMinimized() && im_box->isFrontmost())  						|| (LLFloater::isVisible(nearby_chat) && !nearby_chat->isMinimized() && nearby_chat->isFrontmost()))))) diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp index 848d5c34d2..1de6effa2b 100644 --- a/indra/newview/llfloaterimsession.cpp +++ b/indra/newview/llfloaterimsession.cpp @@ -109,7 +109,7 @@ void LLFloaterIMSession::refresh()  void LLFloaterIMSession::onTearOffClicked()  {      LLFloaterIMSessionTab::onTearOffClicked(); - +    mSpeakingIndicator->setVisible(mIsP2PChat);      if(mIsP2PChat)      {          if(isTornOff()) diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 214b177a1b..ff163f5b25 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -314,7 +314,8 @@ void notify_of_message(const LLSD& msg, bool is_dnd_msg)  	// 4. Toast  	if ((("toast" == user_preferences) && -		(ON_TOP_AND_ITEM_IS_SELECTED != conversations_floater_status)) +		(ON_TOP_AND_ITEM_IS_SELECTED != conversations_floater_status) && +		(!session_floater->isTornOff() || !LLFloater::isVisible(session_floater)))  		|| !session_floater->isMessagePaneExpanded())  	{  | 
