summaryrefslogtreecommitdiff
path: root/indra/newview/llconversationview.cpp
diff options
context:
space:
mode:
authorGilbert Gonzales <gilbert@lindenlab.com>2012-12-03 16:19:46 -0800
committerGilbert Gonzales <gilbert@lindenlab.com>2012-12-03 16:19:46 -0800
commit2ee6bcab371a08791bccad3a4fa072c1d60cd6c9 (patch)
treedfffd454b20e8ca0162a004f777bc0fb6b076f39 /indra/newview/llconversationview.cpp
parent611797543a917f1596be73e9e79974578748086e (diff)
CHUI-571: Now when the 'Chat Preference' is set to 'Open Conversations window' the conversation line item with flash. The only time it does not flash is when the the conversation line item is already focused. Also fixed various focusing bugs when navigating between conversations and participants.
Diffstat (limited to 'indra/newview/llconversationview.cpp')
-rwxr-xr-xindra/newview/llconversationview.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 1b1d61e6d6..a696fbdb47 100755
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -218,9 +218,15 @@ BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask )
{
LLConversationItem* item = dynamic_cast<LLConversationItem *>(getViewModelItem());
LLUUID session_id = item? item->getUUID() : LLUUID();
+ //Will try to select a child node and then itself (if a child was not selected)
BOOL result = LLFolderViewFolder::handleMouseDown(x, y, mask);
- (LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"))->
- selectConversationPair(session_id, false);
+
+ //This node (conversation) was selected and a child (participant) was not
+ if(result && getRoot()->getCurSelectedItem() == this)
+ {
+ (LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"))->
+ selectConversationPair(session_id, false);
+ }
return result;
}
@@ -548,8 +554,12 @@ BOOL LLConversationViewParticipant::handleMouseDown( S32 x, S32 y, MASK mask )
}
LLUUID session_id = item? item->getUUID() : LLUUID();
BOOL result = LLFolderViewItem::handleMouseDown(x, y, mask);
- (LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"))->
- selectConversationPair(session_id, false);
+
+ if(result)
+ {
+ (LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"))->
+ selectConversationPair(session_id, false);
+ }
return result;
}