summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authormaxim_productengine <mnikolenko@productengine.com>2018-09-21 14:38:32 +0300
committermaxim_productengine <mnikolenko@productengine.com>2018-09-21 14:38:32 +0300
commit6c9e4e3cf0f7c594034025499654b920d546671a (patch)
tree5d486b910c7cfd7a1de28ae4b303e4acaacc820b /indra
parentaafb9bebf48f79d06c82e601dd19cf2f2d70de9e (diff)
SL-9715 [EEP] Allow setting default creation permissions for environment settings
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/app_settings/settings.xml22
-rw-r--r--indra/newview/llfloaterperms.cpp3
-rw-r--r--indra/newview/llfloaterperms.h1
-rw-r--r--indra/newview/llsettingsvo.cpp4
-rw-r--r--indra/newview/skins/default/xui/en/floater_perms_default.xml61
5 files changed, 89 insertions, 2 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 214b1a1965..123197db3b 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -15668,6 +15668,28 @@
<key>Value</key>
<integer>0</integer>
</map>
+ <key>SettingsNextOwnerModify</key>
+ <map>
+ <key>Comment</key>
+ <string>Newly created Environment setting can be modified by next owner</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>1</integer>
+ </map>
+ <key>SettingsNextOwnerTransfer</key>
+ <map>
+ <key>Comment</key>
+ <string>Newly created Environment setting can be resold or given away by next owner</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>1</integer>
+ </map>
<key>DefaultUploadPermissionsConverted</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llfloaterperms.cpp b/indra/newview/llfloaterperms.cpp
index 2281ea1496..3968f43485 100644
--- a/indra/newview/llfloaterperms.cpp
+++ b/indra/newview/llfloaterperms.cpp
@@ -121,7 +121,8 @@ const std::string LLFloaterPermsDefault::sCategoryNames[CAT_LAST] =
"Scripts",
"Notecards",
"Gestures",
- "Wearables"
+ "Wearables",
+ "Settings"
};
BOOL LLFloaterPermsDefault::postBuild()
diff --git a/indra/newview/llfloaterperms.h b/indra/newview/llfloaterperms.h
index e866b6de7d..02359a256e 100644
--- a/indra/newview/llfloaterperms.h
+++ b/indra/newview/llfloaterperms.h
@@ -74,6 +74,7 @@ enum Categories
CAT_NOTECARDS,
CAT_GESTURES,
CAT_WEARABLES,
+ CAT_SETTINGS,
CAT_LAST
};
diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp
index 583adcb024..4073639a20 100644
--- a/indra/newview/llsettingsvo.cpp
+++ b/indra/newview/llsettingsvo.cpp
@@ -43,6 +43,7 @@
#include "llagent.h"
#include "llassettype.h"
+#include "llfloaterperms.h"
#include "llnotificationsutil.h"
#include "llviewerregion.h"
@@ -95,7 +96,8 @@ namespace
void LLSettingsVOBase::createNewInventoryItem(LLSettingsType::type_e stype, const LLUUID &parent_id, inventory_result_fn callback)
{
LLTransactionID tid;
- U32 nextOwnerPerm = LLPermissions::DEFAULT.getMaskNextOwner();
+ U32 nextOwnerPerm = LLFloaterPerms::getNextOwnerPerms("Settings");
+ nextOwnerPerm |= PERM_COPY;
if (!LLEnvironment::instance().isInventoryEnabled())
{
diff --git a/indra/newview/skins/default/xui/en/floater_perms_default.xml b/indra/newview/skins/default/xui/en/floater_perms_default.xml
index 1c3af49bfe..49dc719a24 100644
--- a/indra/newview/skins/default/xui/en/floater_perms_default.xml
+++ b/indra/newview/skins/default/xui/en/floater_perms_default.xml
@@ -488,6 +488,67 @@
left_pad="0"
top_delta="0"
width="100" />
+ <text
+ name="label_13"
+ type="string"
+ length="1"
+ follows="left|top"
+ height="16"
+ layout="topleft"
+ left="0"
+ tool_tip="Set default permissions for when Environment settings are created"
+ width="100">
+ Settings
+ </text>
+ <icon
+ follows="left|top"
+ height="16"
+ image_name="Inv_Settings"
+ layout="topleft"
+ left_pad="2"
+ width="18"/>
+ <check_box
+ height="16"
+ layout="topleft"
+ name="env_settings_c"
+ left_pad="45"
+ top_delta="0"
+ value="true"
+ enabled="false"
+ width="100">
+ </check_box>
+ <check_box
+ control_name="SettingsNextOwnerModify"
+ height="16"
+ layout="topleft"
+ name="env_settings_m"
+ left_pad="0"
+ top_delta="0"
+ width="100" />
+ <check_box
+ control_name="SettingsNextOwnerTransfer"
+ height="16"
+ layout="topleft"
+ name="env_settings_t"
+ left_pad="0"
+ top_delta="0"
+ width="100" />
+ <check_box
+ enabled="false"
+ height="16"
+ layout="topleft"
+ name="env_settings_s"
+ left_pad="0"
+ top_delta="0"
+ width="120" />
+ <check_box
+ enabled="false"
+ height="16"
+ layout="topleft"
+ name="env_settings_e"
+ left_pad="0"
+ top_delta="0"
+ width="100" />
</panel>
<button
height="20"