summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorMnikolenko ProductEngine <mnikolenko@productengine.com>2013-05-27 14:31:08 +0300
committerMnikolenko ProductEngine <mnikolenko@productengine.com>2013-05-27 14:31:08 +0300
commitc272809aa6e52873c842b79ae47832ddf41dfcdb (patch)
treeaf5ab1f557061f0dca9409d3c5597006522b66b4 /indra
parent706200e2348b050fe90624c3cda7045e53d72f2f (diff)
CHUI-867 FIXED Set focus to Session floater(if it is torn off) after clicking appropriate conversation item.
Diffstat (limited to 'indra')
-rwxr-xr-xindra/newview/llconversationview.cpp18
-rwxr-xr-xindra/newview/llconversationview.h1
2 files changed, 19 insertions, 0 deletions
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 42104ea20a..0695337241 100755
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -270,6 +270,24 @@ BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask )
return result;
}
+BOOL LLConversationViewSession::handleMouseUp( S32 x, S32 y, MASK mask )
+{
+ BOOL result = LLFolderViewFolder::handleMouseUp(x, y, mask);
+
+ if(result && getRoot())
+ {
+ LLConversationItem* item = dynamic_cast<LLConversationItem *>(getViewModelItem());
+ LLUUID session_id = item? item->getUUID() : LLUUID();
+ LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id);
+ if(!session_floater->getHost() && !session_floater->hasFocus())
+ {
+ session_floater->setFocus(true);
+ }
+ }
+
+ return result;
+}
+
BOOL LLConversationViewSession::handleRightMouseDown( S32 x, S32 y, MASK mask )
{
BOOL result = LLFolderViewFolder::handleRightMouseDown(x, y, mask);
diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h
index 879d496dc7..5a74974302 100755
--- a/indra/newview/llconversationview.h
+++ b/indra/newview/llconversationview.h
@@ -69,6 +69,7 @@ public:
/*virtual*/ void draw();
/*virtual*/ BOOL handleMouseDown( S32 x, S32 y, MASK mask );
/*virtual*/ BOOL handleRightMouseDown( S32 x, S32 y, MASK mask );
+ /*virtual*/ BOOL handleMouseUp( S32 x, S32 y, MASK mask );
/*virtual*/ S32 arrange(S32* width, S32* height);