From 7f7191c1735a2a823943119eec5c1ca160a7bf8d Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Wed, 25 Nov 2009 13:04:27 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- Initial implementation of the xml for Voice Control Floater -- Added cpp files for an appropriate class (LLCallFloater) --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 indra/newview/llcallfloater.cpp (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp new file mode 100644 index 0000000000..82f86bbaed --- /dev/null +++ b/indra/newview/llcallfloater.cpp @@ -0,0 +1,38 @@ +/** + * @file llcallfloater.cpp + * @author Mike Antipov + * @brief Voice Control Panel in a Voice Chats (P2P, Group, Nearby...). + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * + * Copyright (c) 2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llcallfloater.h" + +//EOF -- cgit v1.2.3 From cdd9c57b2c9f02167e78322e5631822b0cd0521b Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Wed, 25 Nov 2009 13:44:53 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- Replaced LLVoiceControlPanel with LLCallFloater in Speak button implementation --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 82f86bbaed..c6d54995bf 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -35,4 +35,15 @@ #include "llcallfloater.h" + +LLCallFloater::LLCallFloater() +: LLFloater(LLSD()) +{ + LLUICtrlFactory::getInstance()->buildFloater(this, "floater_voice_controls.xml", NULL); +} + +LLCallFloater::~LLCallFloater() +{ + +} //EOF -- cgit v1.2.3 From 9d941cf1193eaaf333dd1c9427256786b1bc60c8 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Wed, 25 Nov 2009 14:52:39 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- Implemented speakers list for local chat. --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index c6d54995bf..eaa048f5aa 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -35,15 +35,35 @@ #include "llcallfloater.h" +#include "llavatarlist.h" +#include "llparticipantlist.h" +#include "llspeakers.h" + LLCallFloater::LLCallFloater() : LLFloater(LLSD()) +, mSpeakerManager(NULL) +, mPaticipants(NULL) +, mAvatarList(NULL) { LLUICtrlFactory::getInstance()->buildFloater(this, "floater_voice_controls.xml", NULL); } LLCallFloater::~LLCallFloater() { + delete mPaticipants; + mPaticipants = NULL; +} + +// virtual +BOOL LLCallFloater::postBuild() +{ + LLFloater::postBuild(); + mAvatarList = getChild("speakers_list"); + + mSpeakerManager = LLLocalSpeakerMgr::getInstance(); + mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList); + return TRUE; } //EOF -- cgit v1.2.3 From e0717c6aac140c840e6ca614afd39b6d95d46329 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Thu, 26 Nov 2009 11:39:59 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- made Voice Control Panel dockable to speak panel -- move button toggle state processing from the code to xml --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index eaa048f5aa..2c77933b68 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -36,17 +36,18 @@ #include "llcallfloater.h" #include "llavatarlist.h" +#include "llbottomtray.h" #include "llparticipantlist.h" #include "llspeakers.h" -LLCallFloater::LLCallFloater() -: LLFloater(LLSD()) +LLCallFloater::LLCallFloater(const LLSD& key) +: LLDockableFloater(NULL, key) , mSpeakerManager(NULL) , mPaticipants(NULL) , mAvatarList(NULL) { - LLUICtrlFactory::getInstance()->buildFloater(this, "floater_voice_controls.xml", NULL); + } LLCallFloater::~LLCallFloater() @@ -58,12 +59,18 @@ LLCallFloater::~LLCallFloater() // virtual BOOL LLCallFloater::postBuild() { - LLFloater::postBuild(); + LLDockableFloater::postBuild(); mAvatarList = getChild("speakers_list"); mSpeakerManager = LLLocalSpeakerMgr::getInstance(); mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList); + LLView *anchor_panel = LLBottomTray::getInstance()->getChild("speak_panel"); + + setDockControl(new LLDockControl( + anchor_panel, this, + getDockTongue(), LLDockControl::TOP)); + return TRUE; } //EOF -- cgit v1.2.3 From 7079deaefdd6f6e6ee0fd787307b06783be768b2 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Thu, 26 Nov 2009 13:08:51 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- disable context menu for Active Speakers in Voice Control Panel --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 2c77933b68..f566806b29 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -63,7 +63,7 @@ BOOL LLCallFloater::postBuild() mAvatarList = getChild("speakers_list"); mSpeakerManager = LLLocalSpeakerMgr::getInstance(); - mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList); + mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, false); LLView *anchor_panel = LLBottomTray::getInstance()->getChild("speak_panel"); -- cgit v1.2.3 From bf6d5e9755b6c6e93fdf22a6cd4e20ffb2d2b441 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Thu, 26 Nov 2009 20:41:07 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- implemented opening of the Voice Control Panel from the Group Chat --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index f566806b29..4a24b558c9 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -62,8 +62,6 @@ BOOL LLCallFloater::postBuild() LLDockableFloater::postBuild(); mAvatarList = getChild("speakers_list"); - mSpeakerManager = LLLocalSpeakerMgr::getInstance(); - mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, false); LLView *anchor_panel = LLBottomTray::getInstance()->getChild("speak_panel"); @@ -73,4 +71,27 @@ BOOL LLCallFloater::postBuild() return TRUE; } + +// virtual +void LLCallFloater::onOpen(const LLSD& key) +{ + // by default let show nearby chat participants + mSpeakerManager = LLLocalSpeakerMgr::getInstance(); + + const LLUUID& session_id = key.asUUID(); + LLIMModel::LLIMSession* im_session = LLIMModel::getInstance()->findIMSession(session_id); + if (im_session) + { + mSpeakerManager = LLIMModel::getInstance()->getSpeakerManager(session_id); + } + + delete mPaticipants; + mAvatarList->clear(); + mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, false); +} + +////////////////////////////////////////////////////////////////////////// +/// PRIVATE SECTION +////////////////////////////////////////////////////////////////////////// + //EOF -- cgit v1.2.3 From e88219b5e363f9535ac1193b2041da35ba5dd702 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Fri, 27 Nov 2009 13:34:24 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- improved logic to update Participant List for session. Now it uses current voice channel. --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 57 +++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 10 deletions(-) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 4a24b558c9..17d59f86bb 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -73,25 +73,62 @@ BOOL LLCallFloater::postBuild() } // virtual -void LLCallFloater::onOpen(const LLSD& key) +void LLCallFloater::onOpen(const LLSD& /*key*/) { - // by default let show nearby chat participants - mSpeakerManager = LLLocalSpeakerMgr::getInstance(); + updateSession(); +} + +////////////////////////////////////////////////////////////////////////// +/// PRIVATE SECTION +////////////////////////////////////////////////////////////////////////// +void LLCallFloater::updateSession() +{ + LLVoiceChannel* voice_channel = LLVoiceChannel::getCurrentVoiceChannel(); + if (voice_channel) + { + lldebugs << "Current voice channel: " << voice_channel->getSessionID() << llendl; + + if (mSpeakerManager && voice_channel->getSessionID() == mSpeakerManager->getSessionID()) + { + lldebugs << "Speaker manager is already set for session: " << voice_channel->getSessionID() << llendl; + return; + } + else + { + mSpeakerManager = NULL; + } + } + + const LLUUID& session_id = voice_channel->getSessionID(); + lldebugs << "Set speaker manager for session: " << session_id << llendl; - const LLUUID& session_id = key.asUUID(); LLIMModel::LLIMSession* im_session = LLIMModel::getInstance()->findIMSession(session_id); if (im_session) { mSpeakerManager = LLIMModel::getInstance()->getSpeakerManager(session_id); } - delete mPaticipants; - mAvatarList->clear(); - mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, false); + if (NULL == mSpeakerManager) + { + setDefaultSession(); + } + + refreshPartisipantList(); } -////////////////////////////////////////////////////////////////////////// -/// PRIVATE SECTION -////////////////////////////////////////////////////////////////////////// +void LLCallFloater::setDefaultSession() +{ + // by default let show nearby chat participants + mSpeakerManager = LLLocalSpeakerMgr::getInstance(); + lldebugs << "Set DEFAULT speaker manager" << llendl; +} +void LLCallFloater::refreshPartisipantList() +{ + delete mPaticipants; + mAvatarList->clear(); + + bool is_local_chat_session = LLLocalSpeakerMgr::getInstance() == mSpeakerManager; + mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, is_local_chat_session); +} //EOF -- cgit v1.2.3 From 90e85022eb7c0f1f2de88636ad8a53dc7fba41d2 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Fri, 27 Nov 2009 14:50:11 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- fixed bug with setting context menu for participant list --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 17d59f86bb..c8d50ceb10 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -128,7 +128,7 @@ void LLCallFloater::refreshPartisipantList() delete mPaticipants; mAvatarList->clear(); - bool is_local_chat_session = LLLocalSpeakerMgr::getInstance() == mSpeakerManager; - mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, is_local_chat_session); + bool do_not_use_context_menu_in_local_chat = LLLocalSpeakerMgr::getInstance() != mSpeakerManager; + mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, do_not_use_context_menu_in_local_chat); } //EOF -- cgit v1.2.3 From b8cb1e4f50b209a018b27d3d2d8e24af61aeb6e1 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Fri, 27 Nov 2009 14:53:46 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- implemented refreshing of the participant list when Voice Channel is changed --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index c8d50ceb10..b41f962ffa 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -69,13 +69,17 @@ BOOL LLCallFloater::postBuild() anchor_panel, this, getDockTongue(), LLDockControl::TOP)); + // update list for current session + updateSession(); + + // subscribe to to be notified Voice Channel is changed + LLVoiceChannel::setCurrentVoiceChannelChangedCallback(boost::bind(&LLCallFloater::onCurrentChannelChanged, this, _1)); return TRUE; } // virtual void LLCallFloater::onOpen(const LLSD& /*key*/) { - updateSession(); } ////////////////////////////////////////////////////////////////////////// @@ -110,19 +114,14 @@ void LLCallFloater::updateSession() if (NULL == mSpeakerManager) { - setDefaultSession(); + // by default let show nearby chat participants + mSpeakerManager = LLLocalSpeakerMgr::getInstance(); + lldebugs << "Set DEFAULT speaker manager" << llendl; } refreshPartisipantList(); } -void LLCallFloater::setDefaultSession() -{ - // by default let show nearby chat participants - mSpeakerManager = LLLocalSpeakerMgr::getInstance(); - lldebugs << "Set DEFAULT speaker manager" << llendl; -} - void LLCallFloater::refreshPartisipantList() { delete mPaticipants; @@ -131,4 +130,9 @@ void LLCallFloater::refreshPartisipantList() bool do_not_use_context_menu_in_local_chat = LLLocalSpeakerMgr::getInstance() != mSpeakerManager; mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, do_not_use_context_menu_in_local_chat); } + +void LLCallFloater::onCurrentChannelChanged(const LLUUID& /*session_id*/) +{ + updateSession(); +} //EOF -- cgit v1.2.3 From 651dfe1f6902fe221bcc0306365e4555c118b15b Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Mon, 30 Nov 2009 11:43:05 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- Added initial processing of titles for different calls --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index b41f962ffa..46432a4953 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -119,6 +119,7 @@ void LLCallFloater::updateSession() lldebugs << "Set DEFAULT speaker manager" << llendl; } + updateTitle(); refreshPartisipantList(); } @@ -135,4 +136,20 @@ void LLCallFloater::onCurrentChannelChanged(const LLUUID& /*session_id*/) { updateSession(); } + +void LLCallFloater::updateTitle() +{ + LLVoiceChannel* voice_channel = LLVoiceChannel::getCurrentVoiceChannel(); + if (NULL == voice_channel) return; + + std::string title = voice_channel->getSessionName(); + + if (LLLocalSpeakerMgr::getInstance() == mSpeakerManager) + { + title = getString("title_nearby"); + } + + // *TODO: mantipov: update code to use title from xml for other chat types + setTitle(title); +} //EOF -- cgit v1.2.3 From 3284dec5d962993882c1eaeee231e04b46fd4ec7 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Mon, 30 Nov 2009 15:27:20 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- Updated title according to voice chat type --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 46432a4953..b29e6d0574 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -46,6 +46,7 @@ LLCallFloater::LLCallFloater(const LLSD& key) , mSpeakerManager(NULL) , mPaticipants(NULL) , mAvatarList(NULL) +, mVoiceType(VC_LOCAL_CHAT) { } @@ -110,6 +111,19 @@ void LLCallFloater::updateSession() if (im_session) { mSpeakerManager = LLIMModel::getInstance()->getSpeakerManager(session_id); + switch (im_session->mType) + { + case IM_NOTHING_SPECIAL: + case IM_SESSION_P2P_INVITE: + mVoiceType = VC_PEER_TO_PEER; + break; + case IM_SESSION_CONFERENCE_START: + mVoiceType = VC_AD_HOC_CHAT; + break; + default: + mVoiceType = VC_GROUP_CHAT; + break; + } } if (NULL == mSpeakerManager) @@ -117,6 +131,7 @@ void LLCallFloater::updateSession() // by default let show nearby chat participants mSpeakerManager = LLLocalSpeakerMgr::getInstance(); lldebugs << "Set DEFAULT speaker manager" << llendl; + mVoiceType = VC_LOCAL_CHAT; } updateTitle(); @@ -140,16 +155,25 @@ void LLCallFloater::onCurrentChannelChanged(const LLUUID& /*session_id*/) void LLCallFloater::updateTitle() { LLVoiceChannel* voice_channel = LLVoiceChannel::getCurrentVoiceChannel(); - if (NULL == voice_channel) return; - - std::string title = voice_channel->getSessionName(); - - if (LLLocalSpeakerMgr::getInstance() == mSpeakerManager) + std::string title; + switch (mVoiceType) { + case VC_LOCAL_CHAT: title = getString("title_nearby"); + break; + case VC_PEER_TO_PEER: + title = voice_channel->getSessionName(); + break; + case VC_AD_HOC_CHAT: + title = getString("title_adhoc"); + break; + case VC_GROUP_CHAT: + LLStringUtil::format_map_t args; + args["[GROUP]"] = voice_channel->getSessionName(); + title = getString("title_group", args); + break; } - // *TODO: mantipov: update code to use title from xml for other chat types setTitle(title); } //EOF -- cgit v1.2.3 From 62e775288ca50e37edbdb3dc7dc55dbf61a546e3 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Mon, 30 Nov 2009 15:38:18 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- Changed text for empty nearby list to "No one near" --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index b29e6d0574..0c6d3d2d54 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -145,6 +145,11 @@ void LLCallFloater::refreshPartisipantList() bool do_not_use_context_menu_in_local_chat = LLLocalSpeakerMgr::getInstance() != mSpeakerManager; mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, do_not_use_context_menu_in_local_chat); + + if (!do_not_use_context_menu_in_local_chat) + { + mAvatarList->setNoItemsCommentText(getString("no_one_near")); + } } void LLCallFloater::onCurrentChannelChanged(const LLUUID& /*session_id*/) -- cgit v1.2.3 From 4a70a50dad444647d0c9db790d4ce49da1109212 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Mon, 30 Nov 2009 18:43:08 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- initialized agent icon, name -- added agent's speaker indicator --HG-- branch : product-engine --- indra/newview/llcallfloater.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'indra/newview/llcallfloater.cpp') diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp index 0c6d3d2d54..1b929eca0e 100644 --- a/indra/newview/llcallfloater.cpp +++ b/indra/newview/llcallfloater.cpp @@ -35,6 +35,7 @@ #include "llcallfloater.h" +#include "llagentdata.h" // for gAgentID #include "llavatarlist.h" #include "llbottomtray.h" #include "llparticipantlist.h" @@ -70,6 +71,8 @@ BOOL LLCallFloater::postBuild() anchor_panel, this, getDockTongue(), LLDockControl::TOP)); + initAgentData(); + // update list for current session updateSession(); @@ -181,4 +184,16 @@ void LLCallFloater::updateTitle() setTitle(title); } + +void LLCallFloater::initAgentData() +{ + childSetValue("user_icon", gAgentID); + + std::string name; + gCacheName->getFullName(gAgentID, name); + childSetValue("user_text", name); + + LLOutputMonitorCtrl* speaking_indicator = getChild("speaking_indicator"); + speaking_indicator->setSpeakerId(gAgentID); +} //EOF -- cgit v1.2.3