summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfloaterland.cpp3
-rw-r--r--indra/newview/llfloaterregioninfo.cpp18
-rw-r--r--indra/newview/llfloaterregioninfo.h1
-rw-r--r--indra/newview/skins/default/xui/en/floater_about_land.xml48
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml11
-rw-r--r--indra/newview/skins/default/xui/en/panel_region_estate.xml88
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml10
7 files changed, 105 insertions, 74 deletions
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index abe9f99914..4352909706 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -2678,7 +2678,8 @@ void LLPanelLandAccess::refresh_ui()
std::string group_name;
if (gCacheName->getGroupName(parcel->getGroupID(), group_name))
{
- getChildView("GroupCheck")->setEnabled(can_manage_allowed);
+ bool can_allow_groups = !public_access || (public_access && (getChild<LLUICtrl>("limit_payment")->getValue().asBoolean() ^ getChild<LLUICtrl>("limit_age_verified")->getValue().asBoolean()));
+ getChildView("GroupCheck")->setEnabled(can_manage_allowed && can_allow_groups);
}
getChildView("AccessList")->setEnabled(can_manage_allowed);
S32 allowed_list_count = parcel->mAccessList.size();
diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp
index f4bc3302ba..5e6d967334 100644
--- a/indra/newview/llfloaterregioninfo.cpp
+++ b/indra/newview/llfloaterregioninfo.cpp
@@ -2231,7 +2231,7 @@ bool LLPanelEstateInfo::estateUpdate(LLMessageSystem* msg)
BOOL LLPanelEstateInfo::postBuild()
{
// set up the callbacks for the generic controls
- initCtrl("externally_visible_check");
+ initCtrl("externally_visible_radio");
initCtrl("allow_direct_teleport");
initCtrl("limit_payment");
initCtrl("limit_age_verified");
@@ -2284,13 +2284,15 @@ BOOL LLPanelEstateInfo::postBuild()
childSetAction("message_estate_btn", boost::bind(&LLPanelEstateInfo::onClickMessageEstate, this));
childSetAction("kick_user_from_estate_btn", boost::bind(&LLPanelEstateInfo::onClickKickUser, this));
+ getChild<LLUICtrl>("parcel_access_override")->setCommitCallback(boost::bind(&LLPanelEstateInfo::onChangeAccessOverride, this));
+
return LLPanelRegionInfo::postBuild();
}
void LLPanelEstateInfo::refresh()
{
// Disable access restriction controls if they make no sense.
- bool public_access = getChild<LLUICtrl>("externally_visible_check")->getValue().asBoolean();
+ bool public_access = getChild<LLRadioGroup>("externally_visible_radio")->getSelectedIndex();
getChildView("Only Allow")->setEnabled(public_access);
getChildView("limit_payment")->setEnabled(public_access);
@@ -2311,7 +2313,7 @@ void LLPanelEstateInfo::refreshFromEstate()
getChild<LLUICtrl>("estate_name")->setValue(estate_info.getName());
setOwnerName(LLSLURL("agent", estate_info.getOwnerID(), "inspect").getSLURLString());
- getChild<LLUICtrl>("externally_visible_check")->setValue(estate_info.getIsExternallyVisible());
+ getChild<LLRadioGroup>("externally_visible_radio")->setSelectedIndex(estate_info.getIsExternallyVisible() ? 1 : 0);
getChild<LLUICtrl>("voice_chat_check")->setValue(estate_info.getAllowVoiceChat());
getChild<LLUICtrl>("allow_direct_teleport")->setValue(estate_info.getAllowDirectTeleport());
getChild<LLUICtrl>("limit_payment")->setValue(estate_info.getDenyAnonymous());
@@ -2354,7 +2356,7 @@ bool LLPanelEstateInfo::callbackChangeLindenEstate(const LLSD& notification, con
// update model
estate_info.setUseFixedSun(false); // we don't support fixed sun estates anymore
- estate_info.setIsExternallyVisible(getChild<LLUICtrl>("externally_visible_check")->getValue().asBoolean());
+ estate_info.setIsExternallyVisible(getChild<LLRadioGroup>("externally_visible_radio")->getSelectedIndex());
estate_info.setAllowDirectTeleport(getChild<LLUICtrl>("allow_direct_teleport")->getValue().asBoolean());
estate_info.setDenyAnonymous(getChild<LLUICtrl>("limit_payment")->getValue().asBoolean());
estate_info.setDenyAgeUnverified(getChild<LLUICtrl>("limit_age_verified")->getValue().asBoolean());
@@ -2462,6 +2464,14 @@ bool LLPanelEstateInfo::onMessageCommit(const LLSD& notification, const LLSD& re
return false;
}
+void LLPanelEstateInfo::onChangeAccessOverride()
+{
+ if (!getChild<LLUICtrl>("parcel_access_override")->getValue().asBoolean())
+ {
+ LLNotificationsUtil::add("EstateParcelAccessOverride");
+ }
+}
+
LLPanelEstateCovenant::LLPanelEstateCovenant()
:
mCovenantID(LLUUID::null),
diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h
index dbb0ad05e9..c9d0e51640 100644
--- a/indra/newview/llfloaterregioninfo.h
+++ b/indra/newview/llfloaterregioninfo.h
@@ -274,6 +274,7 @@ public:
void onChangeFixedSun();
void onChangeUseGlobalTime();
+ void onChangeAccessOverride();
void onClickEditSky();
void onClickEditSkyHelp();
diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml
index a137770e26..535af317d9 100644
--- a/indra/newview/skins/default/xui/en/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_about_land.xml
@@ -1896,49 +1896,37 @@ Only large parcels can be listed in search.
layout="topleft"
left="8"
name="public_access"
- label="Allow Public Access (Unchecking this will create ban lines)"
+ label="Anyone can visit (Unchecking this will create ban lines)"
top_pad="10"
width="278" />
- <text
- type="string"
- length="1"
- follows="top|left"
- height="16"
- layout="topleft"
- left_delta="20"
- name="Only Allow"
- top="30"
- width="325">
- Allow access only to Residents who:
- </text>
<check_box
follows="top|left"
height="16"
- label="Have payment Information on File [ESTATE_PAYMENT_LIMIT]"
+ label="Must be 18+ [ESTATE_AGE_LIMIT]"
layout="topleft"
- left_delta="0"
- name="limit_payment"
- tool_tip="Residents must have payment information on file to access this parcel. See the [SUPPORT_SITE] for more information."
+ left_delta="20"
+ name="limit_age_verified"
+ tool_tip="Residents must be age 18 or older to access this parcel. See the [SUPPORT_SITE] for more information."
top_pad="4"
width="278" />
<check_box
follows="top|left"
height="16"
- label="Are age 18 or older [ESTATE_AGE_LIMIT]"
+ label="Must have payment info on file [ESTATE_PAYMENT_LIMIT]"
layout="topleft"
left_delta="0"
- name="limit_age_verified"
- tool_tip="Residents must be age 18 or older to access this parcel. See the [SUPPORT_SITE] for more information."
+ name="limit_payment"
+ tool_tip="Residents must have payment information on file to access this parcel. See the [SUPPORT_SITE] for more information."
top_pad="4"
width="278" />
<check_box
height="16"
- label="Allow Group Access: [GROUP]"
+ label="Allow group [GROUP] with no restrictions"
layout="topleft"
left="8"
name="GroupCheck"
tool_tip="Set group in the General tab."
- top="89"
+ top="73"
width="278" />
<check_box
enabled="false"
@@ -1996,6 +1984,18 @@ Only large parcels can be listed in search.
name="HoursSpin"
top_pad="5"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="top|left"
+ height="16"
+ layout="topleft"
+ left="8"
+ name="OwnerLimited"
+ top_pad="5"
+ width="400">
+ (The estate owner may have limited these choices)
+ </text>
<panel
name="Allowed_layout_panel"
follows="top|left"
@@ -2014,7 +2014,7 @@ Only large parcels can be listed in search.
name="AllowedText"
top="0"
width="230">
- Allowed Residents ([COUNT], max [MAX])
+ Always allowed ([COUNT], max [MAX])
</text>
<name_list
column_padding="0"
@@ -2063,7 +2063,7 @@ Only large parcels can be listed in search.
name="BanCheck"
top="0"
width="200">
- Banned Residents ([COUNT], max [MAX])
+ Always banned ([COUNT], max [MAX])
</text>
<name_list
column_padding="0"
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index c4190a4940..340a852828 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -4979,6 +4979,17 @@ Are you sure you want to change the Estate Covenant?
<notification
icon="alertmodal.tga"
+ name="EstateParcelAccessOverride"
+ type="alertmodal">
+Unchecking this option may remove restrictions that parcel owners have added to prevent griefing, maintain privacy, or protect underage residents from adult material. Please discuss with your parcel owners as needed.
+ <tag>confirm</tag>
+ <usetemplate
+ name="okbutton"
+ yestext="OK"/>
+ </notification>
+
+ <notification
+ icon="alertmodal.tga"
name="RegionEntryAccessBlocked"
type="alertmodal">
<tag>fail</tag>
diff --git a/indra/newview/skins/default/xui/en/panel_region_estate.xml b/indra/newview/skins/default/xui/en/panel_region_estate.xml
index 69e7a7b7a5..72b563dd99 100644
--- a/indra/newview/skins/default/xui/en/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/en/panel_region_estate.xml
@@ -82,24 +82,32 @@
<view_border
bevel_style="none"
follows="top|left"
- height="95"
+ height="100"
layout="topleft"
left="10"
top_pad="5"
- width="470" />
-
- <check_box
- height="20"
- label="Allow Public Access"
+ width="505" />
+ <radio_group
+ height="32"
layout="topleft"
- left="20"
- name="externally_visible_check"
+ name="externally_visible_radio"
top_delta="5"
- width="200" />
-
+ left="20"
+ width="200">
+ <radio_item
+ height="16"
+ label="Allow only residents and groups listed below"
+ layout="topleft"
+ name="estate_restricted_access" />
+ <radio_item
+ height="16"
+ label="Anyone can visit"
+ layout="topleft"
+ name="estate_public_access" />
+ </radio_group>
<check_box
height="18"
- label="Allow Parcel Access Override"
+ label="Parcel owners can be more restrictive"
layout="topleft"
left="280"
name="parcel_access_override"
@@ -140,7 +148,7 @@
layout="topleft"
left="20"
name="Only Allow"
- top_delta="-30"
+ top_delta="-25"
width="278">
Allow access only to Residents who:
</text>
@@ -173,7 +181,7 @@
height="20"
layout="topleft"
name="estate_manager_label"
- top_pad="30"
+ top_pad="25"
left="10"
width="200">
Estate Managers:
@@ -188,7 +196,7 @@
name="allow_resident_label"
top_delta="0"
width="200">
- Allowed Residents:
+ Always allowed:
</text>
<!-- Estate Managers box -->
@@ -199,7 +207,7 @@
layout="topleft"
left="10"
top_pad="-5"
- width="200" />
+ width="235" />
<name_list
follows="left|top"
height="71"
@@ -208,9 +216,9 @@
multi_select="true"
name="estate_manager_name_list"
top_delta="0"
- width="200" />
+ width="235" />
- <!-- Allowed Residents box -->
+ <!-- Always allowed box -->
<view_border
bevel_style="none"
follows="top|left"
@@ -218,7 +226,7 @@
layout="topleft"
left="280"
top_delta="0"
- width="200" />
+ width="235" />
<name_list
follows="left|top"
height="71"
@@ -227,7 +235,7 @@
multi_select="true"
name="allowed_avatar_name_list"
top_delta="0"
- width="200" />
+ width="235" />
<!-- Estate Managers buttons -->
<button
@@ -238,7 +246,7 @@
left="10"
name="add_estate_manager_btn"
top_pad="6"
- width="97" />
+ width="114" />
<button
follows="left|top"
height="23"
@@ -246,9 +254,9 @@
layout="topleft"
name="remove_estate_manager_btn"
left_pad="6"
- width="97" />
+ width="114" />
- <!-- Allowed Residents buttons -->
+ <!-- Always allowed buttons -->
<button
follows="left|top"
height="23"
@@ -257,7 +265,7 @@
layout="topleft"
name="add_allowed_avatar_btn"
top_delta="0"
- width="97" />
+ width="114" />
<button
follows="left|top"
height="23"
@@ -266,7 +274,7 @@
name="remove_allowed_avatar_btn"
left_pad="6"
top_delta="0"
- width="97" />
+ width="114" />
<text
type="string"
@@ -278,7 +286,7 @@
name="allow_group_label"
top_pad="10"
width="200">
- Allowed Groups:
+ Groups always allowed:
</text>
<text
type="string"
@@ -290,10 +298,10 @@
name="ban_resident_label"
top_delta="0"
width="200">
- Banned Residents:
+ Always banned:
</text>
- <!-- Allowed Groups box -->
+ <!-- Groups always allowed box -->
<view_border
bevel_style="none"
follows="top|left"
@@ -301,7 +309,7 @@
layout="topleft"
left="10"
top_pad="-5"
- width="200" />
+ width="235" />
<name_list
follows="left|top"
height="71"
@@ -310,9 +318,9 @@
multi_select="true"
name="allowed_group_name_list"
top_delta="0"
- width="200" />
+ width="235" />
- <!-- Banned Residents box -->
+ <!-- Always banned box -->
<view_border
bevel_style="none"
follows="top|left"
@@ -320,7 +328,7 @@
layout="topleft"
left="280"
top_delta="0"
- width="200" />
+ width="235" />
<name_list
follows="left|top"
height="71"
@@ -329,9 +337,9 @@
multi_select="true"
name="banned_avatar_name_list"
top_delta="0"
- width="200" />
+ width="235" />
- <!-- Allowed Groups buttons -->
+ <!-- Groups always allowed buttons -->
<button
follows="left|top"
height="23"
@@ -340,7 +348,7 @@
left="10"
name="add_allowed_group_btn"
top_pad="6"
- width="97" />
+ width="114" />
<button
follows="left|top"
height="23"
@@ -349,9 +357,9 @@
name="remove_allowed_group_btn"
left_pad="6"
top_delta="0"
- width="97" />
+ width="114" />
- <!-- Banned Residents buttons -->
+ <!-- Always banned buttons -->
<button
follows="left|top"
height="23"
@@ -360,7 +368,7 @@
left="280"
name="add_banned_avatar_btn"
top_delta="0"
- width="97" />
+ width="114" />
<button
follows="left|top"
height="23"
@@ -369,7 +377,7 @@
name="remove_banned_avatar_btn"
top_delta="0"
left_pad="6"
- width="97" />
+ width="114" />
<button
follows="left|top"
@@ -379,7 +387,7 @@
left="10"
name="message_estate_btn"
top_pad="20"
- width="220" />
+ width="235" />
<button
follows="left|top"
height="23"
@@ -388,6 +396,6 @@
left="280"
name="kick_user_from_estate_btn"
top_delta="0"
- width="220" />
+ width="235" />
</panel>
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index b75f631799..bbbf7e3ecd 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -2643,12 +2643,12 @@ This feature is currently in Beta. Please add your name to this [http://goo.gl/f
<string name="RegionInfoAllEstatesYouManage">
all estates that you manage for [OWNER]
</string>
- <string name="RegionInfoAllowedResidents">Allowed Residents: ([ALLOWEDAGENTS], max [MAXACCESS])</string>
- <string name="RegionInfoAllowedGroups">Allowed Groups: ([ALLOWEDGROUPS], max [MAXACCESS])</string>
+ <string name="RegionInfoAllowedResidents">Always allowed: ([ALLOWEDAGENTS], max [MAXACCESS])</string>
+ <string name="RegionInfoAllowedGroups">Groups always allowed: ([ALLOWEDGROUPS], max [MAXACCESS])</string>
<string name="RegionInfoEstateManagers">Estate Managers: ([ESTATEMANAGERS], max [MAXMANAGERS])</string>
- <string name="RegionInfoBannedResidents">Banned Residents: ([BANNEDAGENTS], max [MAXBANNED])</string>
- <string name="RegionInfoListTypeAllowedAgents">Allowed Residents</string>
- <string name="RegionInfoListTypeBannedAgents">Banned Residents</string>
+ <string name="RegionInfoBannedResidents">Always banned: ([BANNEDAGENTS], max [MAXBANNED])</string>
+ <string name="RegionInfoListTypeAllowedAgents">Always allowed</string>
+ <string name="RegionInfoListTypeBannedAgents">Always banned</string>
<!-- script limits floater -->
<string name="ScriptLimitsParcelScriptMemory">Parcel Script Memory</string>