summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llconversationview.cpp9
-rwxr-xr-xindra/newview/llfloaterimcontainer.cpp10
-rwxr-xr-xindra/newview/llfloaterimcontainer.h2
3 files changed, 20 insertions, 1 deletions
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 9faa12b2ee..4f875cca20 100644
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -316,9 +316,16 @@ void LLConversationViewSession::selectConversationItem()
LLUUID session_id = item? item->getUUID() : LLUUID();
LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container");
+ if (im_container->isConversationsPaneCollapsed() && im_container->getSelectedSession() == session_id)
+ {
+ im_container->collapseMessagesPane(!im_container->isMessagesPaneCollapsed());
+ }
+ else
+ {
+ im_container->collapseMessagesPane(false);
+ }
im_container->flashConversationItemWidget(session_id,false);
im_container->selectConversationPair(session_id, false);
- im_container->collapseMessagesPane(false);
}
}
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index aa3bec878a..258cace042 100755
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -721,6 +721,16 @@ void LLFloaterIMContainer::updateResizeLimits()
assignResizeLimits();
}
+bool LLFloaterIMContainer::isMessagesPaneCollapsed()
+{
+ return mMessagesPane->isCollapsed();
+}
+
+bool LLFloaterIMContainer::isConversationsPaneCollapsed()
+{
+ return mConversationsPane->isCollapsed();
+}
+
void LLFloaterIMContainer::collapseMessagesPane(bool collapse)
{
if (mMessagesPane->isCollapsed() == collapse)
diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h
index 5d88b7881a..f6d973b9b3 100755
--- a/indra/newview/llfloaterimcontainer.h
+++ b/indra/newview/llfloaterimcontainer.h
@@ -90,6 +90,8 @@ public:
static void onCurrentChannelChanged(const LLUUID& session_id);
void collapseMessagesPane(bool collapse);
+ bool isMessagesPaneCollapsed();
+ bool isConversationsPaneCollapsed();
// Callbacks
static void idle(void* user_data);