- fixed : object owner name isn't anonimized when @shownames=n restricted

-> fixed on the Edit floater
    -> fixed on the "Object Profile" sidebar panel
    -> fixed on the object inspector
- changed : anonimize object creator name when @shownames=n restricted if object owner matches object creator, or if the creator is a nearby agent
    -> we're not obscuring the profile thumbnail so leaving the name untouched means the anonym could be matched to the actual avie name

--HG--
branch : RLVa
master
Kitty Barnett 2010-08-25 04:54:50 +02:00
parent 915c0db471
commit 5a834cabd1
3 changed files with 91 additions and 14 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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);