CHUI-840 (Right clicking on unselected group conversation can have unpredictable results for menu options)
parent
5957f1da91
commit
40f61ae600
|
|
@ -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();
|
||||
|
||||
LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container");
|
||||
im_container->flashConversationItemWidget(session_id,false);
|
||||
im_container->selectConversationPair(session_id, false);
|
||||
im_container->collapseMessagesPane(false);
|
||||
}
|
||||
selectConversationItem();
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue