summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterimcontainer.cpp
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2012-11-17 15:48:07 -0800
committerMerov Linden <merov@lindenlab.com>2012-11-17 15:48:07 -0800
commit61f3c1b41ddedc16f2026c62600475105621b305 (patch)
treeaf2124f540a4ff55c08cec7038458e883747fe47 /indra/newview/llfloaterimcontainer.cpp
parent2d25eb18adc0c2c97c63a8e02f2274362672137c (diff)
parentc6a0f0ae1dec5ef2f7657d8c1ca07d85c1fef55d (diff)
Merge pull from richard/viewer-chui
Diffstat (limited to 'indra/newview/llfloaterimcontainer.cpp')
-rw-r--r--indra/newview/llfloaterimcontainer.cpp33
1 files changed, 23 insertions, 10 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 78b930984f..aebfdb5bce 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -96,7 +96,7 @@ LLFloaterIMContainer::~LLFloaterIMContainer()
}
}
-void LLFloaterIMContainer::sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id)
+void LLFloaterIMContainer::sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg)
{
llinfos << "Merov debug : sessionAdded, uuid = " << session_id << ", name = " << name << llendl;
addConversationListItem(session_id);
@@ -347,7 +347,7 @@ void LLFloaterIMContainer::onExpandCollapseButtonClicked()
{
collapseConversationsPane(!mConversationsPane->isCollapsed());
}
- selectConversation(mSelectedSession);
+ reSelectConversation();
}
LLFloaterIMContainer* LLFloaterIMContainer::findInstance()
@@ -730,15 +730,18 @@ void LLFloaterIMContainer::onCustomAction(const LLSD& userdata)
}
if ("chat_preferences" == command)
{
- LLFloaterPreference* floater_prefs = LLFloaterReg::showTypedInstance<LLFloaterPreference>("preferences");
- if (floater_prefs)
+ LLFloaterPreference * floater_prefp = LLFloaterReg::showTypedInstance<LLFloaterPreference>("preferences");
+ if (floater_prefp)
{
- LLTabContainer* tab_container = floater_prefs->getChild<LLTabContainer>("pref core");
- LLPanel* chat_panel = tab_container->getPanelByName("chat");
- if (tab_container && chat_panel)
- {
- tab_container->selectTabPanel(chat_panel);
- }
+ floater_prefp->selectChatPanel();
+ }
+ }
+ if ("privacy_preferences" == command)
+ {
+ LLFloaterPreference * floater_prefp = LLFloaterReg::showTypedInstance<LLFloaterPreference>("preferences");
+ if (floater_prefp)
+ {
+ floater_prefp->selectPrivacyPanel();
}
}
}
@@ -1583,4 +1586,14 @@ void LLFloaterIMContainer::onNearbyChatClosed()
closeFloater();
}
+void LLFloaterIMContainer::reSelectConversation()
+{
+ LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(mSelectedSession);
+ if (session_floater->getHost())
+ {
+ selectFloater(session_floater);
+ }
+
+}
+
// EOF