From 40e9c253fc6888e3e1b150dc265d79652e9ec26c Mon Sep 17 00:00:00 2001 From: Denis Serdjuk Date: Mon, 21 Dec 2009 14:43:09 +0200 Subject: additional commit to major task EXT-3509 User's own name should appear in the Group chat participant list 1. agent will be appear in ad-hoc conference too. 2. Disabling block/unblock yourself. --HG-- branch : product-engine --- indra/newview/llpanelimcontrolpanel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/llpanelimcontrolpanel.cpp') diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index 70e4798079..ae1c28c7ab 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -282,8 +282,9 @@ void LLPanelGroupControlPanel::setSessionId(const LLUUID& session_id) mGroupID = LLIMModel::getInstance()->getOtherParticipantID(session_id); + // for group and Ad-hoc chat we need to include agent into list if(!mParticipantList) - mParticipantList = new LLParticipantList(mSpeakerManager, getChild("speakers_list")); + mParticipantList = new LLParticipantList(mSpeakerManager, getChild("speakers_list"), true,false); } -- cgit v1.2.3 From 50e5c4c3f372736fa50497cc598effe9a51c14d2 Mon Sep 17 00:00:00 2001 From: Eugene Mutavchi Date: Mon, 21 Dec 2009 18:30:46 +0200 Subject: Fixed major bug EXT-3581(Sort by Recent Speakers broken for Group Voice Call) --HG-- branch : product-engine --- indra/newview/llpanelimcontrolpanel.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview/llpanelimcontrolpanel.cpp') diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index ae1c28c7ab..8d03f9e686 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -247,6 +247,10 @@ void LLPanelGroupControlPanel::draw() //Remove event does not raised until speakerp->mActivityTimer.hasExpired() is false, see LLSpeakerManager::update() //so we need update it to raise needed event mSpeakerManager->update(true); + // Need to refresh participants to display ones not in voice as disabled and + // resort the avatar list if it's in sort by recent speaker order. + if (mParticipantList) + mParticipantList->refreshVoiceState(); LLPanelChatControlPanel::draw(); } -- cgit v1.2.3 From 0d6af2a01d64c44a3874446c5c9a4ede71d8a98e Mon Sep 17 00:00:00 2001 From: Eugene Mutavchi Date: Mon, 21 Dec 2009 19:45:20 +0200 Subject: Additional commit for EXT-3581: the code of updating of speakers order is moved to a separate method --HG-- branch : product-engine --- indra/newview/llpanelimcontrolpanel.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'indra/newview/llpanelimcontrolpanel.cpp') diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index 8d03f9e686..3f309b3bf5 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -247,10 +247,9 @@ void LLPanelGroupControlPanel::draw() //Remove event does not raised until speakerp->mActivityTimer.hasExpired() is false, see LLSpeakerManager::update() //so we need update it to raise needed event mSpeakerManager->update(true); - // Need to refresh participants to display ones not in voice as disabled and - // resort the avatar list if it's in sort by recent speaker order. + // Need to resort the participant list if it's in sort by recent speaker order. if (mParticipantList) - mParticipantList->refreshVoiceState(); + mParticipantList->updateRecentSpeakersOrder(); LLPanelChatControlPanel::draw(); } -- cgit v1.2.3 From 4cea2cac115f47e3699f1528f92ce3adcf76d87a Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Wed, 23 Dec 2009 16:35:45 +0200 Subject: fixed EXT-3635 States of Call/Leave Call buttons are not properly managed when starting call using Call button in people panels --HG-- branch : product-engine --- indra/newview/llpanelimcontrolpanel.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'indra/newview/llpanelimcontrolpanel.cpp') diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index 3f309b3bf5..a8a75a1feb 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -65,7 +65,11 @@ void LLPanelChatControlPanel::onOpenVoiceControlsClicked() void LLPanelChatControlPanel::onVoiceChannelStateChanged(const LLVoiceChannel::EState& old_state, const LLVoiceChannel::EState& new_state) { - bool is_call_started = ( new_state >= LLVoiceChannel::STATE_CALL_STARTED ); + updateButtons(new_state >= LLVoiceChannel::STATE_CALL_STARTED); +} + +void LLPanelChatControlPanel::updateButtons(bool is_call_started) +{ childSetVisible("end_call_btn", is_call_started); childSetVisible("voice_ctrls_btn", is_call_started); childSetVisible("call_btn", ! is_call_started); @@ -112,6 +116,9 @@ void LLPanelChatControlPanel::setSessionId(const LLUUID& session_id) if(voice_channel) { mVoiceChannelStateChangeConnection = voice_channel->setStateChangedCallback(boost::bind(&LLPanelChatControlPanel::onVoiceChannelStateChanged, this, _1, _2)); + + //call (either p2p, group or ad-hoc) can be already in started state + updateButtons(voice_channel->getState() >= LLVoiceChannel::STATE_CALL_STARTED); } } -- cgit v1.2.3 From 9737349a72189a7ff782e5f5a8a633dbd515d961 Mon Sep 17 00:00:00 2001 From: Andrew Dyukov Date: Tue, 29 Dec 2009 19:55:23 +0200 Subject: Fixed minor bug EXT-2955 ("Teleport" button is enabled in profile panel of offline avatar). - Fixed not only "Teleport" button from profile, but also from IM (according to comment in JIRA). --HG-- branch : product-engine --- indra/newview/llpanelimcontrolpanel.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'indra/newview/llpanelimcontrolpanel.cpp') diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index a8a75a1feb..279818d52f 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -184,6 +184,12 @@ void LLPanelIMControlPanel::setSessionId(const LLUUID& session_id) // Disable "Add friend" button for friends. childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(mAvatarID)); + + // Disable "Teleport" button if friend is offline + if(LLAvatarActions::isFriend(mAvatarID)) + { + childSetEnabled("teleport_btn", LLAvatarTracker::instance().isBuddyOnline(mAvatarID)); + } getChild("avatar_icon")->setValue(mAvatarID); @@ -214,6 +220,12 @@ void LLPanelIMControlPanel::setSessionId(const LLUUID& session_id) void LLPanelIMControlPanel::changed(U32 mask) { childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(mAvatarID)); + + // Disable "Teleport" button if friend is offline + if(LLAvatarActions::isFriend(mAvatarID)) + { + childSetEnabled("teleport_btn", LLAvatarTracker::instance().isBuddyOnline(mAvatarID)); + } } void LLPanelIMControlPanel::nameUpdatedCallback(const LLUUID& id, const std::string& first, const std::string& last, BOOL is_group) -- cgit v1.2.3