summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterimcontainer.cpp
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2013-02-11 16:10:34 -0800
committerMerov Linden <merov@lindenlab.com>2013-02-11 16:10:34 -0800
commit2317591c93b5870acd6fdedbecc2d8050511459d (patch)
treec79411f06b25eef8ec26e8bcf306e17787d7f121 /indra/newview/llfloaterimcontainer.cpp
parent279d4a95ea84ddeb32efc54deb6923202fe638a7 (diff)
parentc4bcd4f2c2578e8f165361441635ef47f51ec420 (diff)
Pull merge from lindenlab/viewer-chui
Diffstat (limited to 'indra/newview/llfloaterimcontainer.cpp')
-rw-r--r--indra/newview/llfloaterimcontainer.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 2b13ce6377..cef45a5b56 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -62,7 +62,8 @@ LLFloaterIMContainer::LLFloaterIMContainer(const LLSD& seed, const Params& param
mExpandCollapseBtn(NULL),
mConversationsRoot(NULL),
mConversationsEventStream("ConversationsEvents"),
- mInitialized(false)
+ mInitialized(false),
+ mIsFirstLaunch(false)
{
mEnableCallbackRegistrar.add("IMFloaterContainer.Check", boost::bind(&LLFloaterIMContainer::isActionChecked, this, _2));
mCommitCallbackRegistrar.add("IMFloaterContainer.Action", boost::bind(&LLFloaterIMContainer::onCustomAction, this, _2));
@@ -243,6 +244,7 @@ BOOL LLFloaterIMContainer::postBuild()
mGeneralTitle = getTitle();
mInitialized = true;
+ mIsFirstLaunch = true;
// Add callbacks:
// We'll take care of view updates on idle
@@ -273,14 +275,19 @@ void LLFloaterIMContainer::addFloater(LLFloater* floaterp,
openFloater(floaterp->getKey());
return;
}
+
+ LLUUID session_id = floaterp->getKey();
// Make sure the message panel is open when adding a floater or it stays mysteriously hidden
- collapseMessagesPane(false);
+ if (!mIsFirstLaunch)
+ {
+ collapseMessagesPane(false);
+ }
// Add the floater
LLMultiFloater::addFloater(floaterp, select_added_floater, insertion_point);
- LLUUID session_id = floaterp->getKey();
+
LLIconCtrl* icon = 0;
@@ -630,6 +637,12 @@ void LLFloaterIMContainer::collapseMessagesPane(bool collapse)
return;
}
+ if (mIsFirstLaunch)
+ {
+ mIsFirstLaunch = false;
+ return;
+ }
+
// Save current width of panels before collapsing/expanding right pane.
S32 conv_pane_width = mConversationsPane->getRect().getWidth();
S32 msg_pane_width = mMessagesPane->getRect().getWidth();
@@ -1756,7 +1769,7 @@ void LLFloaterIMContainer::openNearbyChat()
{
// If there's only one conversation in the container and that conversation is the nearby chat
//(which it should be...), open it so to make the list of participants visible. This happens to be the most common case when opening the Chat floater.
- if(mConversationsItems.size() == 1)
+ if((mConversationsItems.size() == 1)&&(!mConversationsPane->isCollapsed()))
{
LLConversationViewSession* nearby_chat = dynamic_cast<LLConversationViewSession*>(get_ptr_in_map(mConversationsWidgets,LLUUID()));
if (nearby_chat)