From de2ce3f51ff54e67017d765c95264c66211c89da Mon Sep 17 00:00:00 2001 From: Chris Baker Date: Thu, 23 Aug 2012 19:40:10 -0700 Subject: Start of getting WSGI service on viewer --- indra/newview/llpanelgrouproles.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'indra/newview/llpanelgrouproles.cpp') diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index f825ee3215..9b0fb37693 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -356,7 +356,12 @@ void LLPanelGroupRoles::activate() if (!gdatap || !gdatap->isMemberDataComplete() ) { - LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); + ////////////////////////////////////////////////////////////////////////// + // BAKER TODO: + // Use cap here! + ////////////////////////////////////////////////////////////////////////// + LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); + //LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); } // Check role data. @@ -1987,7 +1992,12 @@ void LLPanelGroupRolesSubTab::update(LLGroupChange gc) if (!gdatap || !gdatap->isMemberDataComplete()) { - LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); + ////////////////////////////////////////////////////////////////////////// + // BAKER TODO: + // Use cap here! + ////////////////////////////////////////////////////////////////////////// + LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); + //LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); } if (!gdatap || !gdatap->isRoleMemberDataComplete()) @@ -2580,7 +2590,12 @@ void LLPanelGroupActionsSubTab::handleActionSelect() } else { - LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); + ////////////////////////////////////////////////////////////////////////// + // BAKER TODO: + // Use cap here! + ////////////////////////////////////////////////////////////////////////// + LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); + //LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); } if (gdatap->isRoleDataComplete()) @@ -2604,6 +2619,7 @@ void LLPanelGroupActionsSubTab::handleActionSelect() LLGroupMgr::getInstance()->sendGroupRoleDataRequest(mGroupID); } } + void LLPanelGroupRoles::setGroupID(const LLUUID& id) { LLPanelGroupTab::setGroupID(id); -- cgit v1.2.3 From 7ecf3ce40f4ec27a43878a3a2192c97479d22fcf Mon Sep 17 00:00:00 2001 From: Chris Baker Date: Fri, 31 Aug 2012 17:53:47 -0700 Subject: - Fixed an issue where service was called twice in a frame - Changed level of output logs - Cleaned up comments --- indra/newview/llpanelgrouproles.cpp | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'indra/newview/llpanelgrouproles.cpp') diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 9b0fb37693..0e40224346 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -356,10 +356,6 @@ void LLPanelGroupRoles::activate() if (!gdatap || !gdatap->isMemberDataComplete() ) { - ////////////////////////////////////////////////////////////////////////// - // BAKER TODO: - // Use cap here! - ////////////////////////////////////////////////////////////////////////// LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); //LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); } @@ -1992,10 +1988,6 @@ void LLPanelGroupRolesSubTab::update(LLGroupChange gc) if (!gdatap || !gdatap->isMemberDataComplete()) { - ////////////////////////////////////////////////////////////////////////// - // BAKER TODO: - // Use cap here! - ////////////////////////////////////////////////////////////////////////// LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); //LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); } @@ -2590,10 +2582,6 @@ void LLPanelGroupActionsSubTab::handleActionSelect() } else { - ////////////////////////////////////////////////////////////////////////// - // BAKER TODO: - // Use cap here! - ////////////////////////////////////////////////////////////////////////// LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); //LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); } -- cgit v1.2.3 From e459024c8283a26a1aefce0db65e0d7dd2c7e16d Mon Sep 17 00:00:00 2001 From: Baker Linden Date: Wed, 5 Sep 2012 15:55:34 -0700 Subject: [MAINT-513] Large group management - Reduced the timeout to 5 minutes, down from 10 minutes. - Provided output for GroupMemberResponder error - Removed commented calls to sendGroupMembersRequest - Reordered calls to sendCapGroupMembersRequest so it's called last --- indra/newview/llpanelgrouproles.cpp | 3 --- 1 file changed, 3 deletions(-) (limited to 'indra/newview/llpanelgrouproles.cpp') diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 0e40224346..bbe47ae943 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -357,7 +357,6 @@ void LLPanelGroupRoles::activate() if (!gdatap || !gdatap->isMemberDataComplete() ) { LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); - //LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); } // Check role data. @@ -1989,7 +1988,6 @@ void LLPanelGroupRolesSubTab::update(LLGroupChange gc) if (!gdatap || !gdatap->isMemberDataComplete()) { LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); - //LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); } if (!gdatap || !gdatap->isRoleMemberDataComplete()) @@ -2583,7 +2581,6 @@ void LLPanelGroupActionsSubTab::handleActionSelect() else { LLGroupMgr::getInstance()->sendCapGroupMembersRequest(mGroupID); - //LLGroupMgr::getInstance()->sendGroupMembersRequest(mGroupID); } if (gdatap->isRoleDataComplete()) -- cgit v1.2.3 From 014edb89e82ef55363c39dd80a6076612db20123 Mon Sep 17 00:00:00 2001 From: Kelly Washington Date: Mon, 12 Nov 2012 14:15:22 -0800 Subject: MAINT-1897 Poor performance viewing large group member lists * Use LLAvatarNameCache in group UI to match what namelists use and prevent double lookups * Remove LLSD -> Prams legacy pattern which is super slow. * Member list on general tab only adds to the list after names are known --- indra/newview/llpanelgrouproles.cpp | 54 +++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 30 deletions(-) (limited to 'indra/newview/llpanelgrouproles.cpp') diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index bbe47ae943..5720168f81 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -29,6 +29,7 @@ #include "llcheckboxctrl.h" #include "llagent.h" +#include "llavatarnamecache.h" #include "llbutton.h" #include "llfiltereditor.h" #include "llfloatergroupinvite.h" @@ -1584,25 +1585,22 @@ void LLPanelGroupMembersSubTab::addMemberToList(LLUUID id, LLGroupMemberData* da LLUIString donated = getString("donation_area"); donated.setArg("[AREA]", llformat("%d", data->getContribution())); - LLSD row; - row["id"] = id; + LLNameListCtrl::NameItem item_params; + item_params.value = id; - row["columns"][0]["column"] = "name"; - // value is filled in by name list control + item_params.columns.add().column("name").font.name("SANSSERIF_SMALL").style("NORMAL"); - row["columns"][1]["column"] = "donated"; - row["columns"][1]["value"] = donated.getString(); + item_params.columns.add().column("donated").value(donated.getString()) + .font.name("SANSSERIF_SMALL").style("NORMAL"); - row["columns"][2]["column"] = "online"; - row["columns"][2]["value"] = data->getOnlineStatus(); - row["columns"][2]["font"] = "SANSSERIF_SMALL"; - - mMembersList->addElement(row); + item_params.columns.add().column("online").value(data->getOnlineStatus()) + .font.name("SANSSERIF_SMALL").style("NORMAL"); + mMembersList->addNameItemRow(item_params); mHasMatch = TRUE; } -void LLPanelGroupMembersSubTab::onNameCache(const LLUUID& update_id, const LLUUID& id) +void LLPanelGroupMembersSubTab::onNameCache(const LLUUID& update_id, LLGroupMemberData* member, const LLUUID& id, const LLAvatarName& av_name) { // Update ID is used to determine whether member whose id is passed // into onNameCache() was passed after current or previous user-initiated update. @@ -1612,21 +1610,15 @@ void LLPanelGroupMembersSubTab::onNameCache(const LLUUID& update_id, const LLUUI // we do nothing. if (mUdpateSessionID != update_id) return; - LLGroupMgrGroupData* gdatap = LLGroupMgr::getInstance()->getGroupData(mGroupID); - if (!gdatap) + if (!member) { - llwarns << "LLPanelGroupMembersSubTab::updateMembers() -- No group data!" << llendl; return; } - std::string fullname; - gCacheName->getFullName(id, fullname); - - LLGroupMemberData* data; // trying to avoid unnecessary hash lookups - if (matchesSearchFilter(fullname) && ((data = gdatap->mMembers[id]) != NULL)) + if (matchesSearchFilter(av_name.getLegacyName())) { - addMemberToList(id, data); + addMemberToList(id, member); if(!mMembersList->getEnabled()) { mMembersList->setEnabled(TRUE); @@ -1665,18 +1657,20 @@ void LLPanelGroupMembersSubTab::updateMembers() LLGroupMgrGroupData::member_list_t::iterator end = gdatap->mMembers.end(); - - S32 i = 0; - for( ; mMemberProgress != end && isecond) continue; + // Do filtering on name if it is already in the cache. - std::string fullname; - if (gCacheName->getFullName(mMemberProgress->first, fullname)) + LLAvatarName av_name; + if (LLAvatarNameCache::get(mMemberProgress->first, &av_name)) { - if (matchesSearchFilter(fullname)) + if (matchesSearchFilter(av_name.getLegacyName())) { addMemberToList(mMemberProgress->first, mMemberProgress->second); } @@ -1684,8 +1678,8 @@ void LLPanelGroupMembersSubTab::updateMembers() else { // If name is not cached, onNameCache() should be called when it is cached and add this member to list. - gCacheName->get(mMemberProgress->first, FALSE, boost::bind(&LLPanelGroupMembersSubTab::onNameCache, - this, mUdpateSessionID, _1)); + LLAvatarNameCache::get(mMemberProgress->first, boost::bind(&LLPanelGroupMembersSubTab::onNameCache, + this, mUdpateSessionID, mMemberProgress->second, _1, _2)); } } -- cgit v1.2.3