summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloater.cpp
diff options
context:
space:
mode:
authorAlexanderP ProductEngine <apaschenko@productengine.com>2012-10-31 17:51:55 +0200
committerAlexanderP ProductEngine <apaschenko@productengine.com>2012-10-31 17:51:55 +0200
commita8ca9dc5a98d0bd99581d17be45a36c602ce87fd (patch)
treea951c1c95e0c9a6b0f2ced39f6614753dfc78368 /indra/newview/llimfloater.cpp
parentec57bd2f8e2859787b274c118fabbc19f76e04b1 (diff)
CHUI-374 ADD. FIX, CHUI-442 FIXED (Nearby chat is torn off and cannot be docked if nearby chat is received while conversation floater is closed) - implement. lazy creating of container
Diffstat (limited to 'indra/newview/llimfloater.cpp')
-rw-r--r--indra/newview/llimfloater.cpp34
1 files changed, 2 insertions, 32 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 1af5def5f0..3545b8ff18 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -582,37 +582,6 @@ void LLIMFloater::onParticipantsListChanged(LLUICtrl* ctrl)
}
}
-void LLIMFloater::addToHost(const LLUUID& session_id)
-{
- if (!LLIMConversation::isChatMultiTab() || !gIMMgr->hasSession(session_id))
- {
- return;
- }
-
- // Test the existence of the floater before we try to create it
- bool exist = findInstance(session_id);
-
- // Get the floater: this will create the instance if it didn't exist
- LLIMFloater* floater = getInstance(session_id);
- if (floater)
- {
-
- LLIMFloaterContainer* floater_container = LLIMFloaterContainer::getInstance();
-
- // Do not add again existing floaters
- if (!exist)
- {
- // LLTabContainer::eInsertionPoint i_pt = user_initiated ? LLTabContainer::RIGHT_OF_CURRENT : LLTabContainer::END;
- // TODO: mantipov: use LLTabContainer::RIGHT_OF_CURRENT if it exists
- LLTabContainer::eInsertionPoint i_pt = LLTabContainer::END;
- if (floater_container)
- {
- floater_container->addFloater(floater, FALSE, i_pt);
- }
- }
- }
-}
-
//static
LLIMFloater* LLIMFloater::show(const LLUUID& session_id)
@@ -721,7 +690,7 @@ void LLIMFloater::setVisible(BOOL visible)
(LLNotificationsUI::LLChannelManager::getInstance()->
findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID"))));
- LLTransientDockableFloater::setVisible(visible);
+ LLIMConversation::setVisible(visible);
// update notification channel state
if(channel)
@@ -1309,6 +1278,7 @@ void LLIMFloater::sRemoveTypingIndicator(const LLSD& data)
floater->removeTypingIndicator();
}
+// static
void LLIMFloater::onIMChicletCreated( const LLUUID& session_id )
{
LLIMFloater::addToHost(session_id);