summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llnearbychat.cpp22
-rw-r--r--indra/newview/llnearbychat.h1
2 files changed, 23 insertions, 0 deletions
diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp
index 369ca699c5..ee7169b1c3 100644
--- a/indra/newview/llnearbychat.cpp
+++ b/indra/newview/llnearbychat.cpp
@@ -131,6 +131,7 @@ LLNearbyChat::LLNearbyChat(const LLSD& key)
mSpeakerMgr(NULL),
mExpandedHeight(COLLAPSED_HEIGHT + EXPANDED_HEIGHT)
{
+ setIsChrome(TRUE);
mKey = LLSD();
mIsNearbyChat = true;
mSpeakerMgr = LLLocalSpeakerMgr::getInstance();
@@ -394,6 +395,26 @@ LLNearbyChat* LLNearbyChat::getInstance()
return LLFloaterReg::getTypedInstance<LLNearbyChat>("chat_bar");
}
+void LLNearbyChat::show()
+{
+ // Get the floater
+ LLNearbyChat* floater = LLNearbyChat::getInstance();
+ if (floater)
+ {
+ if(isChatMultiTab())
+ {
+ LLIMFloaterContainer* floater_container = LLIMFloaterContainer::getInstance();
+
+ // Add a conversation list item in the left pane: nothing will be done if already in there
+ // but relevant clean up will be done to ensure consistency of the conversation list
+ floater_container->addConversationListItem(floater->getTitle(), LLUUID(), floater);
+
+ floater->openFloater(floater->getKey());
+ }
+
+ floater->setVisible(TRUE);
+ }
+}
void LLNearbyChat::showHistory()
{
@@ -773,6 +794,7 @@ void LLNearbyChat::startChat(const char* line)
if (cb )
{
+ cb->show();
cb->setVisible(TRUE);
cb->setFocus(TRUE);
cb->mChatBox->setFocus(TRUE);
diff --git a/indra/newview/llnearbychat.h b/indra/newview/llnearbychat.h
index db367f0b59..61404df942 100644
--- a/indra/newview/llnearbychat.h
+++ b/indra/newview/llnearbychat.h
@@ -65,6 +65,7 @@ public:
static LLNearbyChat* getInstance();
void addToHost();
+ void show();
/** @param archive true - to save a message to the chat history log */
void addMessage (const LLChat& message,bool archive = true, const LLSD &args = LLSD());