diff options
| author | MaximB ProductEngine <mberezhnoy@productengine.com> | 2012-11-08 22:05:01 +0200 |
|---|---|---|
| committer | MaximB ProductEngine <mberezhnoy@productengine.com> | 2012-11-08 22:05:01 +0200 |
| commit | b8a229032efe7c170bfd32e0d31b8b29aac82eec (patch) | |
| tree | 793d6fc8d8fc2a0f4420698b2e74fb53002e66a5 /indra/newview/llimconversation.cpp | |
| parent | 4ec5ee63e28a427d88dfc0329151eacaf375fdb6 (diff) | |
| parent | 93f9c6991819f53ea03b36dff1af77bbd74ff43b (diff) | |
merging into latest changes
Diffstat (limited to 'indra/newview/llimconversation.cpp')
| -rw-r--r-- | indra/newview/llimconversation.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/indra/newview/llimconversation.cpp b/indra/newview/llimconversation.cpp index 44cf300930..51e4fbfe19 100644 --- a/indra/newview/llimconversation.cpp +++ b/indra/newview/llimconversation.cpp @@ -54,6 +54,7 @@ LLIMConversation::LLIMConversation(const LLSD& session_id) , mInputEditor(NULL) , mInputEditorTopPad(0) , mRefreshTimer(new LLTimer()) + , mIsHostAttached(false) { mSession = LLIMModel::getInstance()->findIMSession(mSessionID); @@ -127,6 +128,22 @@ void LLIMConversation::setVisible(BOOL visible) setFocus(visible); } +/*virtual*/ +void LLIMConversation::setFocus(BOOL focus) +{ + LLTransientDockableFloater::setFocus(focus); + + //Redirect focus to input editor + if (focus) + { + updateMessages(); + + if (mInputEditor) + { + mInputEditor->setFocus(TRUE); + } + } +} void LLIMConversation::addToHost(const LLUUID& session_id) @@ -242,7 +259,6 @@ void LLIMConversation::enableDisableCallBtn() && mSession->mCallBackEnabled); } - void LLIMConversation::onFocusReceived() { setBackgroundOpaque(true); @@ -253,6 +269,12 @@ void LLIMConversation::onFocusReceived() } LLTransientDockableFloater::onFocusReceived(); + + LLIMFloaterContainer* container = LLFloaterReg::getTypedInstance<LLIMFloaterContainer>("im_container"); + if (container) + { + container->selectConversationPair(mSessionID, true); + } } void LLIMConversation::onFocusLost() |
