Commits

si...@lindenlab.com  committed 78fcdb4

ER-1016 - "Remove ability for anyone to edit terrain" and ER-910 "Parcel
Privacy" changes. Many naming changes for the featureto be "See avatars"
instead of "hidden avatars". Also removed the "anyone can edit terrain"
checkbox and slammed the value to FALSE.

  • Participants
  • Parent commits 440f13b

Comments (0)

Files changed (30)

File indra/llinventory/llparcel.cpp

 	setPreviousOwnerID(LLUUID::null);
 	setPreviouslyGroupOwned(FALSE);
 
-	setHiddenAVs(FALSE);
+	setSeeAVs(TRUE);
 	setAllowGroupAVSounds(TRUE);
 	setAllowAnyAVSounds(TRUE);
 	setHaveNewParcelLimitData(FALSE);
 	msg["user_location"] = ll_sd_from_vector3(mUserLocation);
 	msg["user_look_at"] = ll_sd_from_vector3(mUserLookAt);
 	msg["landing_type"] = (U8)mLandingType;
-	msg["hidden_avs"] = (LLSD::Boolean) getHiddenAVs();
+	msg["see_avs"] = (LLSD::Boolean) getSeeAVs();
 	msg["group_av_sounds"] = (LLSD::Boolean) getAllowGroupAVSounds();
 	msg["any_av_sounds"] = (LLSD::Boolean) getAllowAnyAVSounds();
 }
     msg->getStringFast( _PREHASH_ParcelData,_PREHASH_MediaURL, buffer );
     setMediaURL(buffer);
     
-	BOOL hidden_avs = FALSE;
+	BOOL see_avs = TRUE;			// All default to true for legacy server behavior
 	BOOL any_av_sounds = TRUE;
 	BOOL group_av_sounds = TRUE;
-	bool have_new_parcel_limit_data = (msg->getSizeFast(_PREHASH_ParcelData, _PREHASH_HiddenAVs) > 0);		// New version of server should send all 3 of these values
+	bool have_new_parcel_limit_data = (msg->getSizeFast(_PREHASH_ParcelData, _PREHASH_SeeAVs) > 0);		// New version of server should send all 3 of these values
 	have_new_parcel_limit_data &= (msg->getSizeFast(_PREHASH_ParcelData, _PREHASH_AnyAVSounds) > 0);
 	have_new_parcel_limit_data &= (msg->getSizeFast(_PREHASH_ParcelData, _PREHASH_GroupAVSounds) > 0);
 	if (have_new_parcel_limit_data)
 	{
-		msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_HiddenAVs, hidden_avs);
+		msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_SeeAVs, see_avs);
 		msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_AnyAVSounds, any_av_sounds);
 		msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_GroupAVSounds, group_av_sounds);
 	}
-	setHiddenAVs((bool) hidden_avs);
+	setSeeAVs((bool) see_avs);
 	setAllowAnyAVSounds((bool) any_av_sounds);
 	setAllowGroupAVSounds((bool) group_av_sounds);
 

File indra/llinventory/llparcel.h

 // unused 0x06
 // unused 0x07
 // flag, unused 0x08
-const U8 PARCEL_HIDDENAVS   = 0x10;	// avatars not visible outside of parcel
+const U8 PARCEL_HIDDENAVS   = 0x10;	// avatars not visible outside of parcel.  Used for 'see avs' feature, but must be off for compatibility
 const U8 PARCEL_SOUND_LOCAL = 0x20;
 const U8 PARCEL_WEST_LINE	= 0x40;	// flag, property line on west edge
 const U8 PARCEL_SOUTH_LINE	= 0x80;	// flag, property line on south edge
 	void setUserLocation(const LLVector3& pos)	{ mUserLocation = pos; }
 	void setUserLookAt(const LLVector3& rot)	{ mUserLookAt = rot; }
 	void setLandingType(const ELandingType type) { mLandingType = type; }
-	void setHiddenAVs(BOOL hidden_avs)	{ mHiddenAVs = hidden_avs;	}
+	void setSeeAVs(BOOL see_avs)	{ mSeeAVs = see_avs;	}
 	void setHaveNewParcelLimitData(bool have_new_parcel_data)		{ mHaveNewParcelLimitData = have_new_parcel_data;		}		// Remove this once hidden AV feature is fully available grid-wide
 
 	void setAuctionID(U32 auction_id) { mAuctionID = auction_id;}
 	const LLVector3& getUserLocation() const	{ return mUserLocation; }
 	const LLVector3& getUserLookAt() const	{ return mUserLookAt; }
 	ELandingType getLandingType() const	{ return mLandingType; }
-	BOOL getHiddenAVs() const			{ return mHiddenAVs;		}
+	BOOL getSeeAVs() const			{ return mSeeAVs;		}
 	BOOL getHaveNewParcelLimitData() const		{ return mHaveNewParcelLimitData;	}
 
 	// User-specified snapshot
 	LLVector3 mUserLocation;
 	LLVector3 mUserLookAt;
 	ELandingType mLandingType;
-	BOOL mHiddenAVs;				// Avatars are hidden on this parcel from outside it
+	BOOL mSeeAVs;							// Avatars on this parcel are visible from outside it
 	BOOL mHaveNewParcelLimitData;			// Remove once hidden AV feature is grid-wide
 	LLTimer mSaleTimerExpires;
 	LLTimer mMediaResetTimer;

File indra/llinventory/llparcelflags.h

 const S32 PARCEL_DETAILS_GROUP = 3;
 const S32 PARCEL_DETAILS_AREA = 4;
 const S32 PARCEL_DETAILS_ID = 5;
-const S32 PARCEL_DETAILS_HIDDEN_AVS = 6;
+const S32 PARCEL_DETAILS_SEE_AVATARS = 6;
 
 #endif

File indra/llmessage/message_prehash.cpp

 char const* const _PREHASH_FaceIndex = LLMessageStringTable::getInstance()->getString("FaceIndex");
 char const* const _PREHASH_StatusData = LLMessageStringTable::getInstance()->getString("StatusData");
 char const* const _PREHASH_ProductSKU = LLMessageStringTable::getInstance()->getString("ProductSKU");
-char const* const _PREHASH_HiddenAVs = LLMessageStringTable::getInstance()->getString("HiddenAVs");
+char const* const _PREHASH_SeeAVs = LLMessageStringTable::getInstance()->getString("SeeAVs");
 char const* const _PREHASH_AnyAVSounds = LLMessageStringTable::getInstance()->getString("AnyAVSounds");
 char const* const _PREHASH_GroupAVSounds = LLMessageStringTable::getInstance()->getString("GroupAVSounds");

File indra/llmessage/message_prehash.h

 extern char const* const _PREHASH_FaceIndex;
 extern char const* const _PREHASH_StatusData;
 extern char const* const _PREHASH_ProductSKU;
-extern char const* const _PREHASH_HiddenAVs;
+extern char const* const _PREHASH_SeeAVs;
 extern char const* const _PREHASH_AnyAVSounds;
 extern char const* const _PREHASH_GroupAVSounds;
 #endif

File indra/lscript/lscript_compile/indra.l

 "PARCEL_DETAILS_GROUP"	{ count(); yylval.ival = PARCEL_DETAILS_GROUP; return(INTEGER_CONSTANT); }
 "PARCEL_DETAILS_AREA"	{ count(); yylval.ival = PARCEL_DETAILS_AREA; return(INTEGER_CONSTANT); }
 "PARCEL_DETAILS_ID"		{ count(); yylval.ival = PARCEL_DETAILS_ID; return(INTEGER_CONSTANT); }
-"PARCEL_DETAILS_HIDDEN_AVS"	{ count(); yylval.ival = PARCEL_DETAILS_HIDDEN_AVS; return(INTEGER_CONSTANT); }
+"PARCEL_DETAILS_SEE_AVATARS"	{ count(); yylval.ival = PARCEL_DETAILS_SEE_AVATARS; return(INTEGER_CONSTANT); }
 
 "STRING_TRIM_HEAD"	{ count(); yylval.ival = STRING_TRIM_HEAD; return(INTEGER_CONSTANT); }
 "STRING_TRIM_TAIL"	{ count(); yylval.ival = STRING_TRIM_TAIL; return(INTEGER_CONSTANT); }

File indra/newview/app_settings/keywords.ini

 PARCEL_DETAILS_GROUP	Used with llGetParcelDetails to get the parcel group id.
 PARCEL_DETAILS_AREA		Used with llGetParcelDetails to get the parcel area in square meters.
 PARCEL_DETAILS_ID		Used with llGetParcelDetails to get the parcel id.
-PARCEL_DETAILS_HIDDEN_AVS	Used with llGetParcelDetails to get the hidden avatars setting.
+PARCEL_DETAILS_SEE_AVATARS	Used with llGetParcelDetails to get the avatars visibility setting.
 
 STRING_TRIM_HEAD		Used with llStringTrim to trim leading spaces from a string.
 STRING_TRIM_TAIL		Used with llStringTrim to trim trailing spaces from a string.

File indra/newview/llfloaterland.cpp

 	mCheckEditGroupObjects(NULL),
 	mCheckAllObjectEntry(NULL),
 	mCheckGroupObjectEntry(NULL),
-	mCheckEditLand(NULL),
 	mCheckSafe(NULL),
 	mCheckFly(NULL),
 	mCheckGroupScripts(NULL),
 	mClearBtn(NULL),
 	mMatureCtrl(NULL),
 	mPushRestrictionCtrl(NULL),
-	mPrivateParcelCtrl(NULL),
+	mSeeAvatarsCtrl(NULL),
 	mParcel(parcel)
 {
 }
 	mCheckGroupObjectEntry = getChild<LLCheckBoxCtrl>( "group object entry check");
 	childSetCommitCallback("group object entry check", onCommitAny, this);
 	
-	mCheckEditLand = getChild<LLCheckBoxCtrl>( "edit land check");
-	childSetCommitCallback("edit land check", onCommitAny, this);
+//	mCheckEditLand = getChild<LLCheckBoxCtrl>( "edit land check");
+//	childSetCommitCallback("edit land check", onCommitAny, this);
 
 	
 	mCheckGroupScripts = getChild<LLCheckBoxCtrl>( "check group scripts");
 	mPushRestrictionCtrl = getChild<LLCheckBoxCtrl>( "PushRestrictCheck");
 	childSetCommitCallback("PushRestrictCheck", onCommitAny, this);
 
-	mPrivateParcelCtrl = getChild<LLCheckBoxCtrl>( "PrivateParcelCheck");
-	childSetCommitCallback("PrivateParcelCheck", onCommitAny, this);
+	mSeeAvatarsCtrl = getChild<LLCheckBoxCtrl>( "SeeAvatarsCheck");
+	childSetCommitCallback("SeeAvatarsCheck", onCommitAny, this);
 
 	mCheckShowDirectory = getChild<LLCheckBoxCtrl>( "ShowDirectoryCheck");
 	childSetCommitCallback("ShowDirectoryCheck", onCommitAny, this);
 		mCheckGroupObjectEntry	->set(FALSE);
 		mCheckGroupObjectEntry	->setEnabled(FALSE);
 
-		mCheckEditLand		->set(FALSE);
-		mCheckEditLand		->setEnabled(FALSE);
-
 		mCheckSafe			->set(FALSE);
 		mCheckSafe			->setEnabled(FALSE);
 
 		mPushRestrictionCtrl->set(FALSE);
 		mPushRestrictionCtrl->setEnabled(FALSE);
 
-		mPrivateParcelCtrl->set(FALSE);
-		mPrivateParcelCtrl->setEnabled(FALSE);
+		mSeeAvatarsCtrl->set(TRUE);				// NOTE - reversed FALSE/TRUE for 'see avatars' prototype
+		mSeeAvatarsCtrl->setEnabled(FALSE);
 
 		mLandingTypeCombo->setCurrentByIndex(0);
 		mLandingTypeCombo->setEnabled(FALSE);
 		mCheckGroupObjectEntry	->set( parcel->getAllowGroupObjectEntry() ||  parcel->getAllowAllObjectEntry());
 		mCheckGroupObjectEntry	->setEnabled( can_change_options && !parcel->getAllowAllObjectEntry() );
 
-		BOOL can_change_terraform = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_EDIT);
-		mCheckEditLand		->set( parcel->getAllowTerraform() );
-		mCheckEditLand		->setEnabled( can_change_terraform );
-
 		mCheckSafe			->set( !parcel->getAllowDamage() );
 		mCheckSafe			->setEnabled( can_change_options );
 
 			mPushRestrictionCtrl->setEnabled(can_change_options);
 		}
 
-		mPrivateParcelCtrl->set(parcel->getHiddenAVs());
-		mPrivateParcelCtrl->setLabel(getString("hidden_avs_text"));
-		mPrivateParcelCtrl->setEnabled(can_change_options && parcel->getHaveNewParcelLimitData());
+		mSeeAvatarsCtrl->set(parcel->getSeeAVs());
+		mSeeAvatarsCtrl->setLabel(getString("see_avs_text"));
+		mSeeAvatarsCtrl->setEnabled(can_change_options && parcel->getHaveNewParcelLimitData());
 
 		BOOL can_change_landing_point = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, 
 														GP_LAND_SET_LANDING_POINT);
 	BOOL create_group_objects	= self->mCheckEditGroupObjects->get() || self->mCheckEditObjects->get();
 	BOOL all_object_entry		= self->mCheckAllObjectEntry->get();
 	BOOL group_object_entry	= self->mCheckGroupObjectEntry->get() || self->mCheckAllObjectEntry->get();
-	BOOL allow_terraform	= self->mCheckEditLand->get();
 	BOOL allow_damage		= !self->mCheckSafe->get();
 	BOOL allow_fly			= self->mCheckFly->get();
 	BOOL allow_landmark		= TRUE; // cannot restrict landmark creation
 	BOOL allow_publish		= FALSE;
 	BOOL mature_publish		= self->mMatureCtrl->get();
 	BOOL push_restriction	= self->mPushRestrictionCtrl->get();
-	BOOL hidden_avs     = self->mPrivateParcelCtrl->get();
+	BOOL see_avs			= self->mSeeAvatarsCtrl->get();
 	BOOL show_directory		= self->mCheckShowDirectory->get();
 	// we have to get the index from a lookup, not from the position in the dropdown!
 	S32  category_index		= LLParcel::getCategoryFromString(self->mCategoryCombo->getSelectedValue());
 	parcel->setParcelFlag(PF_CREATE_GROUP_OBJECTS, create_group_objects);
 	parcel->setParcelFlag(PF_ALLOW_ALL_OBJECT_ENTRY, all_object_entry);
 	parcel->setParcelFlag(PF_ALLOW_GROUP_OBJECT_ENTRY, group_object_entry);
-	parcel->setParcelFlag(PF_ALLOW_TERRAFORM, allow_terraform);
+	parcel->setParcelFlag(PF_ALLOW_TERRAFORM, FALSE);		// was allow_terraform
 	parcel->setParcelFlag(PF_ALLOW_DAMAGE, allow_damage);
 	parcel->setParcelFlag(PF_ALLOW_FLY, allow_fly);
 	parcel->setParcelFlag(PF_ALLOW_LANDMARK, allow_landmark);
 	parcel->setCategory((LLParcel::ECategory)category_index);
 	parcel->setLandingType((LLParcel::ELandingType)landing_type_index);
 	parcel->setSnapshotID(snapshot_id);
-	parcel->setHiddenAVs(hidden_avs);
+	parcel->setSeeAVs(see_avs);
 
 	// Send current parcel data upstream to server
 	LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel );

File indra/newview/llfloaterland.h

 	LLCheckBoxCtrl*	mCheckEditGroupObjects;
 	LLCheckBoxCtrl*	mCheckAllObjectEntry;
 	LLCheckBoxCtrl*	mCheckGroupObjectEntry;
-	LLCheckBoxCtrl*	mCheckEditLand;
 	LLCheckBoxCtrl*	mCheckSafe;
 	LLCheckBoxCtrl*	mCheckFly;
 	LLCheckBoxCtrl*	mCheckGroupScripts;
 
 	LLCheckBoxCtrl		*mMatureCtrl;
 	LLCheckBoxCtrl		*mPushRestrictionCtrl;
-	LLCheckBoxCtrl		*mPrivateParcelCtrl;
+	LLCheckBoxCtrl		*mSeeAvatarsCtrl;
 
 	LLSafeHandle<LLParcelSelection>&	mParcel;
 };

File indra/newview/lllocationinputctrl.cpp

 	scripts_icon("scripts_icon"),
 	damage_icon("damage_icon"),
 	damage_text("damage_text"),
-	hidden_av_icon("hidden_av_icon"),
+	see_avatars_icon("see_avatars_icon"),
 	maturity_help_topic("maturity_help_topic")
 {
 }
 	mDamageText = LLUICtrlFactory::create<LLTextBox>(damage_text);
 	addChild(mDamageText);
 	
-	LLIconCtrl::Params hidden_av_icon = p.hidden_av_icon;
-	hidden_av_icon.tool_tip = LLTrans::getString("LocationCtrlHiddenAVsTooltip");
-	hidden_av_icon.mouse_opaque = true;
-	mParcelIcon[HIDDEN_AV_ICON] = LLUICtrlFactory::create<LLIconCtrl>(hidden_av_icon);
-	mParcelIcon[HIDDEN_AV_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, HIDDEN_AV_ICON));
-	addChild(mParcelIcon[HIDDEN_AV_ICON]);
+	LLIconCtrl::Params see_avatars_icon = p.see_avatars_icon;
+	see_avatars_icon.tool_tip = LLTrans::getString("LocationCtrlSeeAVsTooltip");
+	see_avatars_icon.mouse_opaque = true;
+	mParcelIcon[SEE_AVATARS_ICON] = LLUICtrlFactory::create<LLIconCtrl>(see_avatars_icon);
+	mParcelIcon[SEE_AVATARS_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, SEE_AVATARS_ICON));
+	addChild(mParcelIcon[SEE_AVATARS_ICON]);
 	
 	// Register callbacks and load the location field context menu (NB: the order matters).
 	LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Navbar.Action", boost::bind(&LLLocationInputCtrl::onLocationContextMenuItemClicked, this, _2));
 		bool allow_build	= vpm->allowAgentBuild(current_parcel); // true when anyone is allowed to build. See EXT-4610.
 		bool allow_scripts	= vpm->allowAgentScripts(agent_region, current_parcel);
 		bool allow_damage	= vpm->allowAgentDamage(agent_region, current_parcel);
-		bool hidden_avs        = current_parcel->getHiddenAVs();
+		bool see_avs        = current_parcel->getSeeAVs();
 
 		// Most icons are "block this ability"
 		mParcelIcon[VOICE_ICON]->setVisible(   !allow_voice );
 		mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts );
 		mParcelIcon[DAMAGE_ICON]->setVisible(  allow_damage );
 		mDamageText->setVisible(allow_damage);
-		mParcelIcon[HIDDEN_AV_ICON]->setVisible( hidden_avs );
+		mParcelIcon[SEE_AVATARS_ICON]->setVisible( !see_avs );
 
 		// Padding goes to left of both landmark star and for sale btn
 		x -= mAddLandmarkHPad;
 	case DAMAGE_ICON:
 		LLNotificationsUtil::add("NotSafe");
 		break;
-	case HIDDEN_AV_ICON:
-		LLNotificationsUtil::add("HiddenAVs");
+	case SEE_AVATARS_ICON:
+		LLNotificationsUtil::add("SeeAvatars");
 		break;
 	case ICON_COUNT:
 		break;

File indra/newview/lllocationinputctrl.h

 											build_icon,
 											scripts_icon,
 											damage_icon,
-											hidden_av_icon;
+											see_avatars_icon;
 		Optional<LLTextBox::Params>			damage_text;
 		Params();
 	};
 		BUILD_ICON,			// 3
 		SCRIPTS_ICON,		// 4
 		DAMAGE_ICON,		// 5
-		HIDDEN_AV_ICON,		// 6
+		SEE_AVATARS_ICON,   // 6
 		ICON_COUNT			// 7 total
 	};
 

File indra/newview/llpanelplaceprofile.cpp

 static std::string icon_scripts_no;
 static std::string icon_damage;
 static std::string icon_damage_no;
-static std::string icon_hidden_avs_on;
-static std::string icon_hidden_avs_off;
+static std::string icon_see_avs_on;
+static std::string icon_see_avs_off;
 
 LLPanelPlaceProfile::LLPanelPlaceProfile()
 :	LLPanelPlaceInfo(),
 	mScriptsText = getChild<LLTextBox>("scripts_value");
 	mDamageIcon = getChild<LLIconCtrl>("damage_icon");
 	mDamageText = getChild<LLTextBox>("damage_value");
-	mHiddenAVsIcon = getChild<LLIconCtrl>("hidden_av_icon");
-	mHiddenAVsText = getChild<LLTextBox>("hidden_av_value");
+	mSeeAVsIcon = getChild<LLIconCtrl>("see_avatars_icon");
+	mSeeAVsText = getChild<LLTextBox>("see_avatars_value");
 
 	mRegionNameText = getChild<LLTextBox>("region_name");
 	mRegionTypeText = getChild<LLTextBox>("region_type");
 	icon_scripts_no = getString("icon_ScriptsNo");
 	icon_damage = getString("icon_Damage");
 	icon_damage_no = getString("icon_DamageNo");
-	icon_hidden_avs_on = getString("icon_HiddenAVsOn");
-	icon_hidden_avs_off = getString("icon_HiddenAVsOff");
+	icon_see_avs_on = getString("icon_SeeAVs_On");
+	icon_see_avs_off = getString("icon_SeeAVs_Off");
 
 	return TRUE;
 }
 	mScriptsText->setText(loading);
 	mDamageIcon->setValue(loading);
 	mDamageText->setText(loading);
-	mHiddenAVsIcon->setValue(loading);
-	mHiddenAVsText->setText(loading);
+	mSeeAVsIcon->setValue(loading);
+	mSeeAVsText->setText(loading);
 
 	mRegionNameText->setValue(loading);
 	mRegionTypeText->setValue(loading);
 		mDamageText->setText(off);
 	}
 
-	if (parcel->getHiddenAVs())
+	if (parcel->getSeeAVs())
 	{
-		mHiddenAVsIcon->setValue(icon_hidden_avs_on);
-		mHiddenAVsText->setText(on);
+		mSeeAVsIcon->setValue(icon_see_avs_on);
+		mSeeAVsText->setText(on);
 	}
 	else
 	{
-		mHiddenAVsIcon->setValue(icon_hidden_avs_off);
-		mHiddenAVsText->setText(off);
+		mSeeAVsIcon->setValue(icon_see_avs_off);
+		mSeeAVsText->setText(off);
 	}
 
 	mRegionNameText->setText(region->getName());

File indra/newview/llpanelplaceprofile.h

 	LLTextBox*			mScriptsText;
 	LLIconCtrl*			mDamageIcon;
 	LLTextBox*			mDamageText;
-	LLIconCtrl*			mHiddenAVsIcon;
-	LLTextBox*			mHiddenAVsText;
+	LLIconCtrl*			mSeeAVsIcon;
+	LLTextBox*			mSeeAVsText;
 
 	LLTextBox*			mRegionNameText;
 	LLTextBox*			mRegionTypeText;

File indra/newview/llpaneltopinfobar.cpp

 	mParcelIcon[BUILD_ICON] = getChild<LLIconCtrl>("build_icon");
 	mParcelIcon[SCRIPTS_ICON] = getChild<LLIconCtrl>("scripts_icon");
 	mParcelIcon[DAMAGE_ICON] = getChild<LLIconCtrl>("damage_icon");
-	mParcelIcon[HIDDEN_AV_ICON] = getChild<LLIconCtrl>("hidden_av_icon");
+	mParcelIcon[SEE_AVATARS_ICON] = getChild<LLIconCtrl>("see_avatars_icon");
 
 	mParcelIcon[VOICE_ICON]->setToolTip(LLTrans::getString("LocationCtrlVoiceTooltip"));
 	mParcelIcon[FLY_ICON]->setToolTip(LLTrans::getString("LocationCtrlFlyTooltip"));
 	mParcelIcon[BUILD_ICON]->setToolTip(LLTrans::getString("LocationCtrlBuildTooltip"));
 	mParcelIcon[SCRIPTS_ICON]->setToolTip(LLTrans::getString("LocationCtrlScriptsTooltip"));
 	mParcelIcon[DAMAGE_ICON]->setToolTip(LLTrans::getString("LocationCtrlDamageTooltip"));
-	mParcelIcon[HIDDEN_AV_ICON]->setToolTip(LLTrans::getString("LocationCtrlHiddenAVsTooltip"));
+	mParcelIcon[SEE_AVATARS_ICON]->setToolTip(LLTrans::getString("LocationCtrlSeeAVsTooltip"));
 
 	mParcelIcon[VOICE_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, VOICE_ICON));
 	mParcelIcon[FLY_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, FLY_ICON));
 	mParcelIcon[BUILD_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, BUILD_ICON));
 	mParcelIcon[SCRIPTS_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, SCRIPTS_ICON));
 	mParcelIcon[DAMAGE_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, DAMAGE_ICON));
-	mParcelIcon[HIDDEN_AV_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, HIDDEN_AV_ICON));
+	mParcelIcon[SEE_AVATARS_ICON]->setMouseDownCallback(boost::bind(&LLPanelTopInfoBar::onParcelIconClick, this, SEE_AVATARS_ICON));
 
 	mDamageText->setText(LLStringExplicit("100%"));
 }
 		bool allow_build	= vpm->allowAgentBuild(current_parcel); // true when anyone is allowed to build. See EXT-4610.
 		bool allow_scripts	= vpm->allowAgentScripts(agent_region, current_parcel);
 		bool allow_damage	= vpm->allowAgentDamage(agent_region, current_parcel);
-		bool hidden_avs        = current_parcel->getHiddenAVs();
+		bool see_avs        = current_parcel->getSeeAVs();
 
 		// Most icons are "block this ability"
 		mParcelIcon[VOICE_ICON]->setVisible(   !allow_voice );
 		mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts );
 		mParcelIcon[DAMAGE_ICON]->setVisible(  allow_damage );
 		mDamageText->setVisible(allow_damage);
-		mParcelIcon[HIDDEN_AV_ICON]->setVisible( hidden_avs );
+		mParcelIcon[SEE_AVATARS_ICON]->setVisible( !see_avs );
 
 		layoutParcelIcons();
 	}
 	case DAMAGE_ICON:
 		LLNotificationsUtil::add("NotSafe");
 		break;
-	case HIDDEN_AV_ICON:
-		LLNotificationsUtil::add("HiddenAVs");
+	case SEE_AVATARS_ICON:
+		LLNotificationsUtil::add("SeeAvatars");
 		break;
 	case ICON_COUNT:
 		break;

File indra/newview/llpaneltopinfobar.h

 		BUILD_ICON,			// 3
 		SCRIPTS_ICON,		// 4
 		DAMAGE_ICON,		// 5
-		HIDDEN_AV_ICON,		// 6
+		SEE_AVATARS_ICON,	// 6
 		ICON_COUNT			// 7 total
 	};
 

File indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOff_Dark.png

Removed
Old image

File indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOn_Dark.png

Removed
Old image

File indra/newview/skins/default/textures/icons/Parcel_HiddenAVsOn_Light.png

Removed
Old image

File indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png

Added
New image

File indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png

Added
New image

File indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png

Added
New image

File indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png

Added
New image

File indra/newview/skins/default/textures/textures.xml

  <texture name="Parcel_ScriptsNo_Dark" file_name="icons/Parcel_ScriptsNo_Dark.png" preload="false" />
  <texture name="Parcel_Voice_Dark" file_name="icons/Parcel_Voice_Dark.png" preload="false" />
  <texture name="Parcel_VoiceNo_Dark" file_name="icons/Parcel_VoiceNo_Dark.png" preload="false" />
- <texture name="Parcel_HiddenAVsOff_Dark" file_name="icons/Parcel_HiddenAVsOff_Dark.png" preload="false" />
- <texture name="Parcel_HiddenAVsOn_Dark" file_name="icons/Parcel_HiddenAVsOn_Dark.png" preload="false" />
- <texture name="Parcel_HiddenAVsOn_Light" file_name="icons/Parcel_HiddenAVsOn_Light.png" preload="false" />
+ <texture name="Parcel_SeeAVsOff_Dark" file_name="icons/Parcel_SeeAVsOff_Dark.png" preload="false" />
+ <texture name="Parcel_SeeAVsOn_Dark" file_name="icons/Parcel_SeeAVsOn_Dark.png" preload="false" />
+ <texture name="Parcel_SeeAVsOff_Light" file_name="icons/Parcel_SeeAVsOff_Light.png" preload="false" />
+ <texture name="Parcel_SeeAVsOn_Light" file_name="icons/Parcel_SeeAVsOn_Light.png" preload="false" />
 
  <texture name="Parcel_BuildNo_Light" file_name="icons/Parcel_BuildNo_Light.png" preload="false" />
  <texture name="Parcel_FlyNo_Light" file_name="icons/Parcel_FlyNo_Light.png" preload="false" />

File indra/newview/skins/default/xui/en/floater_about_land.xml

                 No Pushing (Region Override)
             </panel.string>
             <panel.string
-             name="hidden_avs_text">
-                Hidden Avatars
+             name="see_avs_text">
+                See and chat with avatars on this parcel
             </panel.string>
             <text
              type="string"
              left="10"
              name="allow_label"
              top="10"
-             width="278">
+             width="270">
                 Allow other Residents to:
             </text>
             <check_box
              height="16"
-             label="Edit Terrain"
-             layout="topleft"
-             left="14"
-             name="edit land check"
-             tool_tip="If checked, anyone can terraform your land. It is best to leave this unchecked, as you can always edit your own land."
-             top_pad="4"
-             width="147i" />
-            <check_box
-             height="16"
              label="Fly"
              layout="topleft"
              name="check fly"
              tool_tip="If checked, Residents can fly on your land. If unchecked, they can only fly into and over your land."
              left_pad="4"
-             width="150" />
+             width="128" />
             <text
              type="string"
              length="1"
              name="check group scripts"
              top_delta="0"
              width="70" />
-            <text
+          <check_box
+             height="16"
+             label="See Avatars"
+             layout="topleft"
+             left="14"
+             name="SeeAvatarsCheck"
+             tool_tip="Allow avatars on other parcels to see and chat with avatars on this parcel."
+             top_pad="5"
+             width="119" />
+           <text
              type="string"
              text_color="white"
              length="1"
              name="ShowDirectoryCheck"
              tool_tip="Let people see this parcel in search results"
              width="280" />
-            <check_box
-             height="16"
-             label="Private Parcel"
-             layout="topleft"
-             left_pad="5"
-             name="PrivateParcelCheck"
-             tool_tip="Prevents avatars from seeing into or out of the parcel."
-             top_delta="0"
-             width="119" />
             <combo_box
              enabled="false"
              height="23"

File indra/newview/skins/default/xui/en/notifications.xml

 
   <notification
    icon="notify.tga"
-   name="HiddenAVs"
+   name="SeeAvatars"
    persist="true"
    type="notify"
    unique="true">
-This parcel hides avatars from view from another parcel.   You can&apos;t see others outside the parcel, and those outside are not able to see you.
+This parcel hides avatars and text chat from another parcel.   You can&apos;t see other residents outside the parcel, and those outside are not able to see you.  Regular text chat on channel 0 is also blocked.
   </notification>
 
   <notification

File indra/newview/skins/default/xui/en/panel_place_profile.xml

      translate="false"
      value="Parcel_DamageNo_Dark" />
     <string
-     name="icon_HiddenAVsOff"
+     name="icon_SeeAVs_Off"
      translate="false"
-     value="Parcel_HiddenAVsOff_Dark" />
+     value="Parcel_SeeAVsOff_Dark" />
     <string
-     name="icon_HiddenAVsOn"
+     name="icon_SeeAVs_On"
      translate="false"
-     value="Parcel_HiddenAVsOn_Dark" />
+     value="Parcel_SeeAVsOn_Dark" />
     <button
      follows="top|left"
      height="24"
                         <icon
                          follows="top|left"
                          height="18"
-                         image_name="Parcel_HiddenAVsOff_Dark"
+                         image_name="Parcel_SeeAVsOff_Dark"
                          layout="topleft"
                          left="10"
-                         name="hidden_av_icon"
+                         name="see_avatars_icon"
                          top_pad="7"
                          width="22" />
                         <text
                          height="14"
                          layout="topleft"
                          left_pad="8"
-                         name="hidden_avs_label"
-                         value="Hidden Avatars:"
+                         name="see_avatars_label"
+                         value="See Avatars:"
                          width="90" />
                         <text
                          follows="left|top"
                          height="14"
                          layout="topleft"
                          left_pad="0"
-                         name="hidden_av_value"
+                         name="see_avatars_value"
                          value="Off"
                          width="60" />
                         <button

File indra/newview/skins/default/xui/en/panel_topinfo_bar.xml

   <icon
     follows="right|top"
     height="13"
-    image_name="Parcel_HiddenAVsOn_Light"
+    image_name="Parcel_SeeAVsOff_Light"
     left="2"
-    name="hidden_av_icon"
+    name="see_avatars_icon"
     top="3"
     visible="false"
     width="14"

File indra/newview/skins/default/xui/en/strings.xml

 	<string name="LSLTipText_llGetParcelDetails" translate="false">
     list llGetParcelDetails(vector pos, list params)
     Returns the parcel details specified in params for the parcel at pos.
-    Params is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA, _ID, _HIDDEN_AVS
+    Params is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA, _ID, _SEE_AVATARS
   </string>
 	<string name="LSLTipText_llSetLinkPrimitiveParams" translate="false">
 llSetLinkPrimitiveParams(integer linknumber, list rules)
   <string name="LocationCtrlAdultIconTooltip">Adult Region</string>
   <string name="LocationCtrlModerateIconTooltip">Moderate Region</string>
   <string name="LocationCtrlGeneralIconTooltip">General Region</string>
-  <string name="LocationCtrlHiddenAVsTooltip">Hidden Avatars Parcel</string>
+  <string name="LocationCtrlSeeAVsTooltip">Avatars visible and chat allowed outside of this parcel</string>
 
   <!-- Strings used by the (currently Linux) auto-updater app -->
 	<string name="UpdaterWindowTitle">

File indra/newview/skins/default/xui/en/widgets/location_input.xml

 	font="SansSerifSmall"
 	text_color="TextFgColor"
 	/>
-  <hidden_av_icon
-    name="hidden_av_icon"
+  <see_avatars_icon
+    name="see_avatars_icon"
     width="22"
     height="18"
     top="21"
     follows="right|top"
-    image_name="Parcel_HiddenAVsOn_Light"
+    image_name="Parcel_SeeAVsOff_Light"
     />
   <combo_button
 		name="Location History"

File indra/newview/skins/minimal/xui/en/widgets/location_input.xml

 	  font="SansSerifSmall"
 	  text_color="TextFgColor"
 	/>
-  <hidden_av_icon
-    name="hidden_av_icon"
+  <see_avatars_icon
+    name="see_avatars_icon"
     width="0"
     height="0"
     visible="false"