diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp index f2a592aeaf..175998e11a 100644 --- a/indra/newview/llinspectobject.cpp +++ b/indra/newview/llinspectobject.cpp @@ -485,10 +485,26 @@ void LLInspectObject::updateCreator(LLSelectNode* nodep) // a clickable link // Objects cannot be created by a group, so use agent URL format LLUUID creator_id = nodep->mPermissions->getCreator(); - std::string creator_url = - LLSLURL("agent", creator_id, "about").getSLURLString(); - args["[CREATOR]"] = creator_url; - +// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.1b) | Added: RLVa-1.2.1b + // Only anonimize the creator if they're also the owner or if they're a nearby avie + if ( (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) && + ((nodep->mPermissions->getOwner() == creator_id) || (RlvHandler::isNearbyAgent(creator_id))) ) + { + // TODO-RLVa: [RLVa-1.2.2] We need to put a callback here in case the name hasn't previously resolved + std::string strFullName; + args["[CREATOR]"] = (gCacheName->getFullName(creator_id, strFullName)) ? RlvStrings::getAnonym(strFullName) + : LLTrans::getString("Unknown"); + } + else + { +// [/RLVa:KB] + std::string creator_url = + LLSLURL("agent", creator_id, "about").getSLURLString(); + args["[CREATOR]"] = creator_url; +// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.1b) | Added: RLVa-1.2.1b + } +// [/RLVa:KB] + // created by one user but owned by another std::string owner_url; LLUUID owner_id; @@ -501,7 +517,21 @@ void LLInspectObject::updateCreator(LLSelectNode* nodep) else { owner_id = nodep->mPermissions->getOwner(); - owner_url = LLSLURL("agent", owner_id, "about").getSLURLString(); +// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.1b) | Added: RLVa-1.2.1b + if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) + { + // TODO-RLVa: [RLVa-1.2.2] We need to put a callback here in case the name hasn't previously resolved + std::string strFullName; + owner_url = (gCacheName->getFullName(owner_id, strFullName)) ? RlvStrings::getAnonym(strFullName) + : LLTrans::getString("Unknown"); + } + else + { +// [/RLVa:KB] + owner_url = LLSLURL("agent", owner_id, "about").getSLURLString(); +// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.1b) | Added: RLVa-1.2.1b + } +// [/RLVa:KB] } args["[OWNER]"] = owner_url; diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp index 0317d1050c..422c187c8f 100644 --- a/indra/newview/llpanelpermissions.cpp +++ b/indra/newview/llpanelpermissions.cpp @@ -62,7 +62,9 @@ #include "llspinctrl.h" #include "roles_constants.h" #include "llgroupactions.h" - +// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.1b) +#include "rlvhandler.h" +// [/RLVa:KB] U8 string_value_to_click_action(std::string p_value); std::string click_action_to_string_value( U8 action); @@ -329,8 +331,9 @@ void LLPanelPermissions::refresh() creators_identical = LLSelectMgr::getInstance()->selectGetCreator(mCreatorID, creator_name); - childSetText("Creator Name", creator_name); - childSetEnabled("Creator Name", TRUE); +// childSetText("Creator Name", creator_name); +// childSetEnabled("Creator Name", TRUE); +// [RLVa:KB] - Moved further down to avoid an annoying flicker when the text is set twice in a row // Update owner text field childSetEnabled("Owner:", TRUE); @@ -358,8 +361,28 @@ void LLPanelPermissions::refresh() } } } - childSetText("Owner Name", owner_name); - childSetEnabled("Owner Name", TRUE); +// childSetText("Owner Name", owner_name); +// childSetEnabled("Owner Name", TRUE); +// [RLVa:KB] - Moved further down to avoid an annoying flicker when the text is set twice in a row + +// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.1b) | Modified: RLVa-1.2.1b + if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) + { + // Only anonimize the creator if all of the selection was created by the same avie who's also the owner or they're a nearby avie + if ( (creators_identical) && ((mCreatorID == mOwnerID) || (RlvHandler::isNearbyAgent(mCreatorID))) ) + creator_name = RlvStrings::getAnonym(creator_name); + + // Only anonimize the owner name if all of the selection is owned by the same avie and isn't group owned + if ( (owners_identical) && (!LLSelectMgr::getInstance()->selectIsGroupOwned()) ) + owner_name = RlvStrings::getAnonym(owner_name); + } + + childSetText("Creator Name", creator_name); + childSetEnabled("Creator Name", TRUE); + + childSetText("Owner Name", owner_name); + childSetEnabled("Owner Name", TRUE); +// [/RLVa:KB] // update group text field childSetEnabled("Group:", TRUE); diff --git a/indra/newview/llsidepaneltaskinfo.cpp b/indra/newview/llsidepaneltaskinfo.cpp index c55cc12401..48ee952e57 100644 --- a/indra/newview/llsidepaneltaskinfo.cpp +++ b/indra/newview/llsidepaneltaskinfo.cpp @@ -61,6 +61,9 @@ #include "llspinctrl.h" #include "roles_constants.h" #include "llgroupactions.h" +// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.1b) +#include "rlvhandler.h" +// [/RLVa:KB] ///---------------------------------------------------------------------------- /// Class llsidepaneltaskinfo @@ -295,8 +298,9 @@ void LLSidepanelTaskInfo::refresh() creators_identical = LLSelectMgr::getInstance()->selectGetCreator(mCreatorID, creator_name); - childSetText("Creator Name", creator_name); - childSetEnabled("Creator Name", TRUE); +// childSetText("Creator Name", creator_name); +// childSetEnabled("Creator Name", TRUE); +// [RLVa:KB] - Moved further down to avoid an annoying flicker when the text is set twice in a row // Update owner text field childSetEnabled("Owner:", TRUE); @@ -324,8 +328,28 @@ void LLSidepanelTaskInfo::refresh() } } } - childSetText("Owner Name", owner_name); - childSetEnabled("Owner Name", TRUE); +// childSetText("Owner Name", owner_name); +// childSetEnabled("Owner Name", TRUE); +// [RLVa:KB] - Moved further down to avoid an annoying flicker when the text is set twice in a row + +// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.1b) | Added: RLVa-1.2.1b + if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) + { + // Only anonimize the creator if all of the selection was created by the same avie who's also the owner or they're a nearby avie + if ( (creators_identical) && ((mCreatorID == mOwnerID) || (RlvHandler::isNearbyAgent(mCreatorID))) ) + creator_name = RlvStrings::getAnonym(creator_name); + + // Only anonimize the owner name if all of the selection is owned by the same avie and isn't group owned + if ( (owners_identical) && (!LLSelectMgr::getInstance()->selectIsGroupOwned()) ) + owner_name = RlvStrings::getAnonym(owner_name); + } + + childSetText("Creator Name", creator_name); + childSetEnabled("Creator Name", TRUE); + + childSetText("Owner Name", owner_name); + childSetEnabled("Owner Name", TRUE); +// [/RLVa:KB] // update group text field childSetEnabled("Group:", TRUE);