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/llparticipantlist.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llparticipantlist.h') diff --git a/indra/newview/llparticipantlist.h b/indra/newview/llparticipantlist.h index 72c413d188..b85d4c9bc4 100644 --- a/indra/newview/llparticipantlist.h +++ b/indra/newview/llparticipantlist.h @@ -43,7 +43,7 @@ class LLParticipantList { LOG_CLASS(LLParticipantList); public: - LLParticipantList(LLSpeakerMgr* data_source, LLAvatarList* avatar_list, bool use_context_menu = true); + LLParticipantList(LLSpeakerMgr* data_source, LLAvatarList* avatar_list, bool use_context_menu = true, bool exclude_agent = true); ~LLParticipantList(); void setSpeakingIndicatorsVisible(BOOL visible); -- 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/llparticipantlist.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'indra/newview/llparticipantlist.h') diff --git a/indra/newview/llparticipantlist.h b/indra/newview/llparticipantlist.h index b85d4c9bc4..21eda86edd 100644 --- a/indra/newview/llparticipantlist.h +++ b/indra/newview/llparticipantlist.h @@ -34,6 +34,7 @@ #include "llevent.h" #include "llpanelpeoplemenus.h" #include "llimview.h" +#include "llavatarlist.h" // for LLAvatarItemRecentSpeakerComparator class LLSpeakerMgr; class LLAvatarList; @@ -49,12 +50,14 @@ class LLParticipantList typedef enum e_participant_sort_oder { E_SORT_BY_NAME = 0, + E_SORT_BY_RECENT_SPEAKERS = 1, } EParticipantSortOrder; /** * Set and sort Avatarlist by given order */ void setSortOrder(EParticipantSortOrder order = E_SORT_BY_NAME); + EParticipantSortOrder getSortOrder(); /** * Refreshes participants to display ones not in voice as disabled. @@ -139,6 +142,7 @@ class LLParticipantList bool enableContextMenuItem(const LLSD& userdata); bool checkContextMenuItem(const LLSD& userdata); + void sortParticipantList(const LLSD& userdata); void toggleAllowTextChat(const LLSD& userdata); void toggleMute(const LLSD& userdata, U32 flags); void toggleMuteText(const LLSD& userdata); @@ -195,6 +199,21 @@ class LLParticipantList void moderateVoiceOtherParticipants(const LLUUID& excluded_avatar_id, bool unmute); }; + /** + * Comparator for comparing avatar items by last spoken time + */ + class LLAvatarItemRecentSpeakerComparator : public LLAvatarItemNameComparator, public LLRefCount + { + LOG_CLASS(LLAvatarItemRecentSpeakerComparator); + public: + LLAvatarItemRecentSpeakerComparator(LLParticipantList& parent):mParent(parent){}; + virtual ~LLAvatarItemRecentSpeakerComparator() {}; + protected: + virtual bool doCompare(const LLAvatarListItem* avatar_item1, const LLAvatarListItem* avatar_item2) const; + private: + LLParticipantList& mParent; + }; + private: void onAvatarListDoubleClicked(LLAvatarList* list); void onAvatarListRefreshed(LLUICtrl* ctrl, const LLSD& param); @@ -240,4 +259,6 @@ class LLParticipantList boost::signals2::connection mAvatarListDoubleClickConnection; boost::signals2::connection mAvatarListRefreshConnection; boost::signals2::connection mAvatarListReturnConnection; + + LLPointer mSortByRecentSpeakers; }; -- 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/llparticipantlist.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/newview/llparticipantlist.h') diff --git a/indra/newview/llparticipantlist.h b/indra/newview/llparticipantlist.h index 21eda86edd..515529452b 100644 --- a/indra/newview/llparticipantlist.h +++ b/indra/newview/llparticipantlist.h @@ -65,6 +65,11 @@ class LLParticipantList */ void refreshVoiceState(); + /** + * Refreshes the participant list if it's in sort by recent speaker order. + */ + void updateRecentSpeakersOrder(); + protected: /** * LLSpeakerMgr event handlers -- cgit v1.2.3 From 7bfb8ec0503d7c31d9241b2e95f103fa66b14e1e Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Mon, 21 Dec 2009 20:42:34 +0200 Subject: Work on normal bug EXT-3434 There is no difference between invited and left participants in a Group call (Voice Controls) -- implemented decorating of left participants in voice chat via italic font style (draft, harcoded) --HG-- branch : product-engine --- indra/newview/llparticipantlist.h | 6 ------ 1 file changed, 6 deletions(-) (limited to 'indra/newview/llparticipantlist.h') diff --git a/indra/newview/llparticipantlist.h b/indra/newview/llparticipantlist.h index 515529452b..c4eb180917 100644 --- a/indra/newview/llparticipantlist.h +++ b/indra/newview/llparticipantlist.h @@ -59,12 +59,6 @@ class LLParticipantList void setSortOrder(EParticipantSortOrder order = E_SORT_BY_NAME); EParticipantSortOrder getSortOrder(); - /** - * Refreshes participants to display ones not in voice as disabled. - * TODO: mantipov: probably should be moved into derived class for LLFloaterCall - */ - void refreshVoiceState(); - /** * Refreshes the participant list if it's in sort by recent speaker order. */ -- cgit v1.2.3