summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorMike Antipov <mantipov@productengine.com>2009-11-26 20:41:07 +0200
committerMike Antipov <mantipov@productengine.com>2009-11-26 20:41:07 +0200
commitbf6d5e9755b6c6e93fdf22a6cd4e20ffb2d2b441 (patch)
tree1b3a340af07cae4b7b9d6e21266303d9adce82d5 /indra
parentb9f113fe2a87741de51547a6d84f378a72fe1847 (diff)
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
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llcallfloater.cpp25
-rw-r--r--indra/newview/llcallfloater.h1
-rw-r--r--indra/newview/llpanelimcontrolpanel.cpp4
-rw-r--r--indra/newview/llparticipantlist.cpp1
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_control_panel.xml1
5 files changed, 28 insertions, 4 deletions
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<LLAvatarList>("speakers_list");
- mSpeakerManager = LLLocalSpeakerMgr::getInstance();
- mPaticipants = new LLParticipantList(mSpeakerManager, mAvatarList, false);
LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("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
diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h
index 8c4a204943..0b86a6ee92 100644
--- a/indra/newview/llcallfloater.h
+++ b/indra/newview/llcallfloater.h
@@ -58,6 +58,7 @@ public:
~LLCallFloater();
/*virtual*/ BOOL postBuild();
+ /*virtual*/ void onOpen(const LLSD& key);
private:
diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp
index 78b4d29b16..741f42f9d5 100644
--- a/indra/newview/llpanelimcontrolpanel.cpp
+++ b/indra/newview/llpanelimcontrolpanel.cpp
@@ -32,6 +32,8 @@
#include "llviewerprecompiledheaders.h"
+#include "llfloaterreg.h"
+
#include "llpanelimcontrolpanel.h"
#include "llagent.h"
@@ -58,7 +60,7 @@ void LLPanelChatControlPanel::onEndCallButtonClicked()
void LLPanelChatControlPanel::onOpenVoiceControlsClicked()
{
- // TODO: implement Voice Control Panel opening
+ LLFloaterReg::showInstance("voice_controls", getSessionId());
}
void LLPanelChatControlPanel::onVoiceChannelStateChanged(const LLVoiceChannel::EState& old_state, const LLVoiceChannel::EState& new_state)
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index a5440c3687..7cf5302e40 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -89,6 +89,7 @@ LLParticipantList::LLParticipantList(LLSpeakerMgr* data_source, LLAvatarList* av
mModeratorList.insert(speakerp->mID);
}
}
+ mAvatarList->setDirty(true);
sort();
}
diff --git a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
index 41b210557e..889f29fc53 100644
--- a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
@@ -61,7 +61,6 @@
width="125"/>
<button
- enabled="false"
bottom="10"
follows="all"
height="20"