From bede028c51a30d2c0d3b3077e2b6d0ffdaf769da Mon Sep 17 00:00:00 2001 From: William Todd Stinson Date: Fri, 14 Dec 2012 14:17:53 -0800 Subject: CHUI-595: Updating the people panel according to specs. --- indra/newview/skins/default/xui/en/floater_people.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml index 5f475baa93..fe3aeeb038 100644 --- a/indra/newview/skins/default/xui/en/floater_people.xml +++ b/indra/newview/skins/default/xui/en/floater_people.xml @@ -14,13 +14,13 @@ single_instance="true" reuse_instance="true" title="PEOPLE" - width="390"> + width="370"> + width="370"> Date: Fri, 14 Dec 2012 14:25:49 -0800 Subject: CHUI-554: Updating the people panel according to specs. --- indra/newview/skins/default/xui/en/floater_people.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/floater_people.xml b/indra/newview/skins/default/xui/en/floater_people.xml index fe3aeeb038..701233ba4a 100644 --- a/indra/newview/skins/default/xui/en/floater_people.xml +++ b/indra/newview/skins/default/xui/en/floater_people.xml @@ -6,7 +6,7 @@ can_resize="true" height="570" help_topic="sidebar_people" - min_height="440" + min_height="220" min_width="260" layout="topleft" name="floater_people" -- cgit v1.2.3 From 68b61bdec620014f30d6e9c63726d96fa7f4382a Mon Sep 17 00:00:00 2001 From: Gilbert Gonzales Date: Fri, 14 Dec 2012 16:01:14 -0800 Subject: CHUI-520: Now when have a P2P conversation torn off a voice indicator icon will be displayed allowing the user to adjust the voice volume when clicked. Also did a code cleanup on conversationview.h/cpp which was showing the speaking indicator icon too soon when joining another voice session. This was due to calling switchIndicator(..) directly inside ::onCurrentVoiceSessionChanged. The proper solution is to wait for SpeeakingIndicatorManager::switchSpeakerIndicators() call switchIndicators(). --- indra/newview/llconversationview.cpp | 24 ---------------------- indra/newview/llconversationview.h | 1 - indra/newview/llfloaterimsession.cpp | 18 ++++++++++++++++ indra/newview/llfloaterimsession.h | 1 + indra/newview/llfloaterimsessiontab.cpp | 3 +++ indra/newview/llfloaterimsessiontab.h | 1 + indra/newview/lloutputmonitorctrl.cpp | 2 ++ .../skins/default/xui/en/floater_im_session.xml | 12 +++++++++++ 8 files changed, 37 insertions(+), 25 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 527c0ad233..71d668d047 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -341,14 +341,6 @@ void LLConversationViewSession::onCurrentVoiceSessionChanged(const LLUUID& sessi if (vmi) { bool is_active = vmi->getUUID() == session_id; - bool is_nearby = vmi->getType() == LLConversationItem::CONV_SESSION_NEARBY; - - if (is_nearby) - { - mSpeakingIndicator->setSpeakerId(is_active ? gAgentID : LLUUID::null); - } - - mSpeakingIndicator->switchIndicator(is_active); mCallIconLayoutPanel->setVisible(is_active); } } @@ -409,7 +401,6 @@ BOOL LLConversationViewParticipant::postBuild() mInfoBtn->setClickedCallback(boost::bind(&LLConversationViewParticipant::onInfoBtnClick, this)); mInfoBtn->setVisible(false); - mActiveVoiceChannelConnection = LLVoiceChannel::setCurrentVoiceChannelChangedCallback(boost::bind(&LLConversationViewParticipant::onCurrentVoiceSessionChanged, this, _1)); mSpeakingIndicator = getChild("speaking_indicator"); if (!sStaticInitialized) @@ -479,21 +470,6 @@ S32 LLConversationViewParticipant::arrange(S32* width, S32* height) return arranged; } -void LLConversationViewParticipant::onCurrentVoiceSessionChanged(const LLUUID& session_id) -{ - LLConversationItemParticipant* participant_model = dynamic_cast(getViewModelItem()); - - if (participant_model) - { - LLConversationItemSession* parent_session = participant_model->getParentSession(); - if (parent_session) - { - bool is_active = (parent_session->getUUID() == session_id); - mSpeakingIndicator->switchIndicator(is_active); - } - } -} - void LLConversationViewParticipant::refresh() { // Refresh the participant view from its model data diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h index fb2834f26a..a9333020e9 100755 --- a/indra/newview/llconversationview.h +++ b/indra/newview/llconversationview.h @@ -146,7 +146,6 @@ protected: void onInfoBtnClick(); private: - void onCurrentVoiceSessionChanged(const LLUUID& session_id); LLAvatarIconCtrl* mAvatarIcon; LLButton * mInfoBtn; diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp index 3001029968..a0ca7286f1 100644 --- a/indra/newview/llfloaterimsession.cpp +++ b/indra/newview/llfloaterimsession.cpp @@ -101,6 +101,24 @@ void LLFloaterIMSession::refresh() } } +// virtual +void LLFloaterIMSession::onTearOffClicked() +{ + LLFloaterIMSessionTab::onTearOffClicked(); + + if(mIsP2PChat) + { + if(isTornOff()) + { + mSpeakingIndicator->setSpeakerId(mOtherParticipantUUID, mSessionID); + } + else + { + mSpeakingIndicator->setSpeakerId(LLUUID::null); + } + } +} + // virtual void LLFloaterIMSession::onClickCloseBtn() { diff --git a/indra/newview/llfloaterimsession.h b/indra/newview/llfloaterimsession.h index 72a320041f..1d8957b1d9 100644 --- a/indra/newview/llfloaterimsession.h +++ b/indra/newview/llfloaterimsession.h @@ -135,6 +135,7 @@ private: /*virtual*/ void refresh(); + /*virtual*/ void onTearOffClicked(); /*virtual*/ void onClickCloseBtn(); // Update the window title and input field help text diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index 0eb0289f49..ab588e489f 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -54,6 +54,7 @@ LLFloaterIMSessionTab::LLFloaterIMSessionTab(const LLSD& session_id) , mSessionID(session_id.asUUID()) , mConversationsRoot(NULL) , mScroller(NULL) + , mSpeakingIndicator(NULL) , mChatHistory(NULL) , mInputEditor(NULL) , mInputEditorTopPad(0) @@ -206,6 +207,8 @@ BOOL LLFloaterIMSessionTab::postBuild() mScroller = LLUICtrlFactory::create(scroller_params); mScroller->setFollowsAll(); + mSpeakingIndicator = getChild("speaking_indicator"); + // Insert that scroller into the panel widgets hierarchy mParticipantListPanel->addChild(mScroller); diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h index 4851904074..cd0bcd481c 100644 --- a/indra/newview/llfloaterimsessiontab.h +++ b/indra/newview/llfloaterimsessiontab.h @@ -149,6 +149,7 @@ protected: LLFolderView* mConversationsRoot; LLScrollContainer* mScroller; + LLOutputMonitorCtrl* mSpeakingIndicator; LLChatHistory* mChatHistory; LLChatEntry* mInputEditor; int mInputEditorTopPad; // padding between input field and chat history diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp index 02841e9831..f6e3c0cac0 100644 --- a/indra/newview/lloutputmonitorctrl.cpp +++ b/indra/newview/lloutputmonitorctrl.cpp @@ -260,6 +260,8 @@ void LLOutputMonitorCtrl::setSpeakerId(const LLUUID& speaker_id, const LLUUID& s if (speaker_id.isNull() && mSpeakerId.notNull()) { LLSpeakingIndicatorManager::unregisterSpeakingIndicator(mSpeakerId, this); + switchIndicator(false); + mSpeakerId = speaker_id; } if (speaker_id.isNull() || (speaker_id == mSpeakerId)) diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index faf54774f6..e4b127b7b9 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -106,6 +106,18 @@ name="voice_call_btn" tool_tip="Open voice connection" width="31"/> +