diff options
| author | Oz Linden <oz@lindenlab.com> | 2013-03-26 11:32:31 -0400 | 
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2013-03-26 11:32:31 -0400 | 
| commit | e917620069ce20c30c1abb53c5ece847ee76ddba (patch) | |
| tree | 31e85be6bd0b0177ab56ae8dfeef1dfff15d19c5 /indra/newview/llconversationview.cpp | |
| parent | 70ae613209bdc03f7ff45075e673e225447ec7a5 (diff) | |
| parent | ef544a22218d59c6a121d4bf88c49868a2b9a713 (diff) | |
merge changes for 3.5.0-beta5
Diffstat (limited to 'indra/newview/llconversationview.cpp')
| -rwxr-xr-x | indra/newview/llconversationview.cpp | 51 | 
1 files changed, 36 insertions, 15 deletions
| diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 74b348cd81..956abcd586 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -104,6 +104,15 @@ LLConversationViewSession::~LLConversationViewSession()  void LLConversationViewSession::setFlashState(bool flash_state)  { +	if (flash_state && !mFlashStateOn) +	{ +		// flash chat toolbar button if scrolled out of sight (because flashing will not be visible) +		if (mContainer->isScrolledOutOfSight(this)) +		{ +			gToolBarView->flashCommand(LLCommandId("chat"), true); +		} +	} +  	mFlashStateOn = flash_state;  	mFlashStarted = false;  	mFlashTimer->stopFlashing(); @@ -115,12 +124,6 @@ void LLConversationViewSession::startFlashing()  	{  		mFlashStarted = true;  		mFlashTimer->startFlashing(); -		 -		// flash chat toolbar button if scrolled out of sight (because flashing will not be visible) -		if (mContainer->isScrolledOutOfSight(this)) -		{ -			gToolBarView->flashCommand(LLCommandId("chat"), true); -		}  	}  } @@ -254,20 +257,38 @@ BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask )      //This node (conversation) was selected and a child (participant) was not      if(result && getRoot())      { -    	if(getRoot()->getCurSelectedItem() == this) -    	{ -    		LLConversationItem* item = dynamic_cast<LLConversationItem *>(getViewModelItem()); -    		LLUUID session_id = item? item->getUUID() : LLUUID(); +		selectConversationItem(); +    } -    		LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"); -    		im_container->flashConversationItemWidget(session_id,false); -    		im_container->selectConversationPair(session_id, false); -    		im_container->collapseMessagesPane(false); -    	} +	return result; +} + +BOOL LLConversationViewSession::handleRightMouseDown( S32 x, S32 y, MASK mask ) +{ +    BOOL result = LLFolderViewFolder::handleRightMouseDown(x, y, mask); + +    if(result) +    { +		selectConversationItem();      } +  	return result;  } +void LLConversationViewSession::selectConversationItem() +{ +	if(getRoot()->getCurSelectedItem() == this) +	{ +		LLConversationItem* item = dynamic_cast<LLConversationItem *>(getViewModelItem()); +		LLUUID session_id = item? item->getUUID() : LLUUID(); + +		LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"); +		im_container->flashConversationItemWidget(session_id,false); +		im_container->selectConversationPair(session_id, false); +		im_container->collapseMessagesPane(false); +	} +} +  // virtual  S32 LLConversationViewSession::arrange(S32* width, S32* height)  { | 
