diff options
| -rwxr-xr-x | indra/newview/llconversationview.cpp | 36 | ||||
| -rwxr-xr-x | indra/newview/llconversationview.h | 2 | 
2 files changed, 29 insertions, 9 deletions
| diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 74b348cd81..85c9a11b43 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -254,20 +254,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)  { diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h index 76d3d079ea..3eb2e63792 100755 --- a/indra/newview/llconversationview.h +++ b/indra/newview/llconversationview.h @@ -68,6 +68,7 @@ public:  	/*virtual*/ BOOL postBuild();  	/*virtual*/ void draw();  	/*virtual*/ BOOL handleMouseDown( S32 x, S32 y, MASK mask ); +	/*virtual*/ BOOL handleRightMouseDown( S32 x, S32 y, MASK mask );  	/*virtual*/ S32 arrange(S32* width, S32* height); @@ -90,6 +91,7 @@ private:  	void onCurrentVoiceSessionChanged(const LLUUID& session_id);  	void startFlashing(); +	void selectConversationItem();  	LLPanel*				mItemPanel;  	LLPanel*				mCallIconLayoutPanel; | 
