From 3a8053eb9fc0db52b9fb5ae02f1807acbb4e072d Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Mon, 11 Feb 2019 19:01:28 +0200 Subject: SL-10351 Fixed Avatars muted by Group moderator become Blocked forever --- indra/newview/lloutputmonitorctrl.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/newview/lloutputmonitorctrl.cpp') diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp index 6c26073d5b..c5e4593b79 100644 --- a/indra/newview/lloutputmonitorctrl.cpp +++ b/indra/newview/lloutputmonitorctrl.cpp @@ -72,6 +72,7 @@ LLOutputMonitorCtrl::LLOutputMonitorCtrl(const LLOutputMonitorCtrl::Params& p) mImageLevel3(p.image_level_3), mAutoUpdate(p.auto_update), mSpeakerId(p.speaker_id), + mIsModeratorMuted(false), mIsAgentControl(false), mIndicatorToggled(false), mShowParticipantsSpeaking(false) @@ -124,7 +125,7 @@ void LLOutputMonitorCtrl::draw() const F32 LEVEL_1 = LLVoiceClient::OVERDRIVEN_POWER_LEVEL * 2.f / 3.f; const F32 LEVEL_2 = LLVoiceClient::OVERDRIVEN_POWER_LEVEL; - if (getVisible() && mAutoUpdate && !mIsMuted && mSpeakerId.notNull()) + if (getVisible() && mAutoUpdate && !getIsMuted() && mSpeakerId.notNull()) { setPower(LLVoiceClient::getInstance()->getCurrentPower(mSpeakerId)); if(mIsAgentControl) @@ -156,7 +157,7 @@ void LLOutputMonitorCtrl::draw() } LLPointer icon; - if (mIsMuted) + if (getIsMuted()) { icon = mImageMute; } -- cgit v1.2.3 From 3b3e4833ad41993785ea2fcae651b588df8e492d Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Tue, 5 Mar 2019 20:14:21 +0200 Subject: SL-10686 Refresh indicators on session change, fix visibility --- indra/newview/lloutputmonitorctrl.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'indra/newview/lloutputmonitorctrl.cpp') diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp index c5e4593b79..a873ccf98b 100644 --- a/indra/newview/lloutputmonitorctrl.cpp +++ b/indra/newview/lloutputmonitorctrl.cpp @@ -74,6 +74,7 @@ LLOutputMonitorCtrl::LLOutputMonitorCtrl(const LLOutputMonitorCtrl::Params& p) mSpeakerId(p.speaker_id), mIsModeratorMuted(false), mIsAgentControl(false), + mIsActiveChannel(false), mIndicatorToggled(false), mShowParticipantsSpeaking(false) { @@ -256,6 +257,16 @@ BOOL LLOutputMonitorCtrl::handleMouseUp(S32 x, S32 y, MASK mask) return TRUE; } +void LLOutputMonitorCtrl::setIsActiveChannel(bool val) +{ + mIsActiveChannel = val; + if (!val) + { + // switchIndicator will set it to TRUE when channel becomes active + setVisible(FALSE); + } +} + void LLOutputMonitorCtrl::setSpeakerId(const LLUUID& speaker_id, const LLUUID& session_id/* = LLUUID::null*/, bool show_other_participants_speaking /* = false */) { if (speaker_id.isNull() && mSpeakerId.notNull()) @@ -305,8 +316,7 @@ void LLOutputMonitorCtrl::onChange() // virtual void LLOutputMonitorCtrl::switchIndicator(bool switch_on) { - - if(getVisible() != (BOOL)switch_on) + if (mIsActiveChannel && getVisible() != (BOOL)switch_on) { setVisible(switch_on); -- cgit v1.2.3 From e4b499e64d63dbcdb97590f86d533f6877690b84 Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Fri, 22 Mar 2019 17:31:26 +0200 Subject: SL-10780 FIXED Speaker icon is shown for all friends --- indra/newview/lloutputmonitorctrl.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'indra/newview/lloutputmonitorctrl.cpp') diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp index a873ccf98b..7f6c065bb9 100644 --- a/indra/newview/lloutputmonitorctrl.cpp +++ b/indra/newview/lloutputmonitorctrl.cpp @@ -74,9 +74,9 @@ LLOutputMonitorCtrl::LLOutputMonitorCtrl(const LLOutputMonitorCtrl::Params& p) mSpeakerId(p.speaker_id), mIsModeratorMuted(false), mIsAgentControl(false), - mIsActiveChannel(false), mIndicatorToggled(false), - mShowParticipantsSpeaking(false) + mShowParticipantsSpeaking(false), + mChannelState(INACTIVE_CHANNEL) { //static LLUIColor output_monitor_muted_color = LLUIColorTable::instance().getColor("OutputMonitorMutedColor", LLColor4::orange); //static LLUIColor output_monitor_overdriven_color = LLUIColorTable::instance().getColor("OutputMonitorOverdrivenColor", LLColor4::red); @@ -259,8 +259,13 @@ BOOL LLOutputMonitorCtrl::handleMouseUp(S32 x, S32 y, MASK mask) void LLOutputMonitorCtrl::setIsActiveChannel(bool val) { - mIsActiveChannel = val; - if (!val) + setChannelState(val ? ACTIVE_CHANNEL : INACTIVE_CHANNEL); +} + +void LLOutputMonitorCtrl::setChannelState(EChannelState state) +{ + mChannelState = state; + if (state == INACTIVE_CHANNEL) { // switchIndicator will set it to TRUE when channel becomes active setVisible(FALSE); @@ -316,7 +321,7 @@ void LLOutputMonitorCtrl::onChange() // virtual void LLOutputMonitorCtrl::switchIndicator(bool switch_on) { - if (mIsActiveChannel && getVisible() != (BOOL)switch_on) + if ((mChannelState != INACTIVE_CHANNEL) && (getVisible() != (BOOL)switch_on)) { setVisible(switch_on); -- cgit v1.2.3