diff options
author | Rider Linden <rider@lindenlab.com> | 2018-05-03 14:59:29 -0700 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2018-05-03 14:59:29 -0700 |
commit | 3e33fc9130cdd5dc63cc6cc7b9f0e38b6e552f12 (patch) | |
tree | 3e0e61c308187eb7857a4631f822acafbe488207 /indra | |
parent | 03da2bc1a1c7674514c967b0e7408258dba25d77 (diff) |
Inventory context menus and increment attrib for settings panels.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llenvironment.cpp | 15 | ||||
-rw-r--r-- | indra/newview/llenvironment.h | 2 | ||||
-rw-r--r-- | indra/newview/llinventorybridge.cpp | 10 | ||||
-rw-r--r-- | indra/newview/llviewerinventory.cpp | 35 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/menu_inventory.xml | 29 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/menu_inventory_add.xml | 29 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml | 6 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml | 10 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml | 3 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_settings_water.xml | 9 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/strings.xml | 5 |
11 files changed, 151 insertions, 2 deletions
diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index 50f3f4f979..ad4a1fca6a 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -135,6 +135,17 @@ bool LLEnvironment::canEdit() const return true; } +bool LLEnvironment::isExtendedEnvironmentEnabled() const +{ + return !gAgent.getRegionCapability("ExtEnvironment").empty(); +} + +bool LLEnvironment::isInventoryEnabled() const +{ + return (!gAgent.getRegionCapability("UpdateSettingsAgentInventory").empty() && + !gAgent.getRegionCapability("UpdateSettingsTaskInventory").empty()); +} + LLEnvironment::connection_t LLEnvironment::setSkyListChange(const LLEnvironment::change_signal_t::slot_type& cb) { @@ -759,7 +770,7 @@ void LLEnvironment::recordEnvironment(S32 parcel_id, LLEnvironment::EnvironmentI //========================================================================= void LLEnvironment::requestRegion() { - if (gAgent.getRegionCapability("ExtEnvironment").empty()) + if (!isExtendedEnvironmentEnabled()) { LLEnvironmentRequest::initiate(); return; @@ -770,7 +781,7 @@ void LLEnvironment::requestRegion() void LLEnvironment::updateRegion(LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset) { - if (gAgent.getRegionCapability("ExtEnvironment").empty()) + if (!isExtendedEnvironmentEnabled()) { LLEnvironmentApply::initiateRequest( LLSettingsVODay::convertToLegacy(pday) ); return; diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h index cb6cd11608..d8cb61d0bb 100644 --- a/indra/newview/llenvironment.h +++ b/indra/newview/llenvironment.h @@ -134,6 +134,8 @@ public: const UserPrefs & getPreferences() const { return mUserPrefs; } bool canEdit() const; + bool isExtendedEnvironmentEnabled() const; + bool isInventoryEnabled() const; LLSettingsSky::ptr_t getCurrentSky() const { return mCurrentEnvironment->getSky(); } LLSettingsWater::ptr_t getCurrentWater() const { return mCurrentEnvironment->getWater(); } diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index fbc35e9192..9311861d83 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -82,6 +82,8 @@ #include "lllandmarkactions.h" #include "llpanellandmarks.h" +#include "llenvironment.h" + #include <boost/shared_ptr.hpp> void copy_slurl_to_clipboard_callback_inv(const std::string& slurl); @@ -4029,10 +4031,18 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t& items items.push_back(std::string("New Gesture")); items.push_back(std::string("New Clothes")); items.push_back(std::string("New Body Parts")); + items.push_back(std::string("New Settings")); items.push_back(std::string("upload_def")); + + if (!LLEnvironment::instance().isInventoryEnabled()) + { + disabled_items.push_back("New Settings"); + } + } } getClipboardEntries(false, items, disabled_items, flags); + } else { diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index f5c08a4b0f..8665fb3234 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -70,6 +70,7 @@ #include "llfloaterperms.h" #include "llclipboard.h" #include "llhttpretrypolicy.h" +#include "llsettingsvo.h" // do-nothing ops for use in callbacks. void no_op_inventory_func(const LLUUID&) {} @@ -1820,6 +1821,40 @@ void menu_create_inventory_item(LLInventoryPanel* panel, LLFolderBridge *bridge, LLInventoryType::IT_GESTURE, PERM_ALL); // overridden in create_new_item } + else if (("sky" == type_name) || ("water" == type_name) || ("daycycle" == type_name)) + { + LL_WARNS("LAPRAS") << "Creating settings object of type: '" << type_name << "'" << LL_ENDL; + + LLSettingsBase::ptr_t settings; + std::string name; + + if ("sky" == type_name) + { + settings = LLSettingsVOSky::buildDefaultSky(); + name = LLTrans::getString("New Sky"); + } + else if ("water" == type_name) + { + settings = LLSettingsVOWater::buildDefaultWater(); + name = LLTrans::getString("New Water"); + } + else if ("daycycle" == type_name) + { + settings = LLSettingsVODay::buildDefaultDayCycle(); + name = LLTrans::getString("New Daycycle"); + } + else + LL_ERRS(LOG_INV) << "Unknown settings type: '" << type_name << "'" << LL_ENDL; + + if (!settings) + { + LL_WARNS(LOG_INV) << "Unable to create a default setting object of type '" << type_name << "'" << LL_ENDL; + return; + } + + settings->setName(name); + LLSettingsVOBase::createInventoryItem(settings); + } else { // Use for all clothing and body parts. Adding new wearable types requires updating LLWearableDictionary. diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml index 5b45364127..29915788f1 100644 --- a/indra/newview/skins/default/xui/en/menu_inventory.xml +++ b/indra/newview/skins/default/xui/en/menu_inventory.xml @@ -322,6 +322,35 @@ </menu_item_call> </menu> <menu + label="New Settings" + layout="topleft" + name="New Settings"> + <menu_item_call + label="New Sky" + layout="topleft" + name="New Sky"> + <menu_item_call.on_click + function="Inventory.DoCreate" + parameter="sky"/> + </menu_item_call> + <menu_item_call + label="New Water" + layout="topleft" + name="New Water"> + <menu_item_call.on_click + function="Inventory.DoCreate" + parameter="water"/> + </menu_item_call> + <menu_item_call + label="New Day Cycle" + layout="topleft" + name="New Day Cycle"> + <menu_item_call.on_click + function="Inventory.DoCreate" + parameter="daycycle"/> + </menu_item_call> + </menu> + <menu label="Use as default for" layout="topleft" name="upload_def"> diff --git a/indra/newview/skins/default/xui/en/menu_inventory_add.xml b/indra/newview/skins/default/xui/en/menu_inventory_add.xml index afeb1bf226..7c31bfe54d 100644 --- a/indra/newview/skins/default/xui/en/menu_inventory_add.xml +++ b/indra/newview/skins/default/xui/en/menu_inventory_add.xml @@ -245,4 +245,33 @@ parameter="eyes" /> </menu_item_call> </menu> + <menu + label="New Settings" + layout="topleft" + name="New Settings"> + <menu_item_call + label="New Sky" + layout="topleft" + name="New Sky"> + <menu_item_call.on_click + function="Inventory.DoCreate" + parameter="sky"/> + </menu_item_call> + <menu_item_call + label="New Water" + layout="topleft" + name="New Water"> + <menu_item_call.on_click + function="Inventory.DoCreate" + parameter="water"/> + </menu_item_call> + <menu_item_call + label="New Day Cycle" + layout="topleft" + name="New Day Cycle"> + <menu_item_call.on_click + function="Inventory.DoCreate" + parameter="daycycle"/> + </menu_item_call> + </menu> </menu>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml index 643994b6b1..ffa7df209b 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml @@ -113,6 +113,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -134,6 +135,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -155,6 +157,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -183,6 +186,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -204,6 +208,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -225,6 +230,7 @@ decimal_digits="1" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml index 2a52f1a96e..b88ac64323 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml @@ -54,6 +54,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -75,6 +76,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -107,6 +109,7 @@ <slider decimal_digits="1" follows="left|top" + increment="0.01" initial_value="0" layout="topleft" label="X:" @@ -119,6 +122,7 @@ <slider decimal_digits="1" follows="left|top" + increment="0.01" initial_value="0" layout="topleft" label="Y:" @@ -168,6 +172,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -181,6 +186,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="0" @@ -194,6 +200,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="0" @@ -216,6 +223,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -229,6 +237,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="0" @@ -242,6 +251,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="0" diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml index c0bd123fbc..0eb4e5be94 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml @@ -53,6 +53,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -74,6 +75,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" @@ -95,6 +97,7 @@ decimal_digits="2" follows="left|top" height="10" + increment="0.01" initial_value="0" layout="topleft" left_delta="5" diff --git a/indra/newview/skins/default/xui/en/panel_settings_water.xml b/indra/newview/skins/default/xui/en/panel_settings_water.xml index fe088d98cf..eb4664616e 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_water.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_water.xml @@ -63,6 +63,7 @@ decimal_digits="1" follows="left|top|right" height="10" + increment="0.01" initial_value="0" layout="top" left_delta="15" @@ -81,6 +82,7 @@ decimal_digits="1" follows="left|top|right" height="10" + increment="0.01" initial_value="0" layout="top" left_delta="15" @@ -158,6 +160,7 @@ <slider decimal_digits="1" follows="left|top" + increment="0.01" initial_value="0" layout="topleft" label="X:" @@ -170,6 +173,7 @@ <slider decimal_digits="1" follows="left|top" + increment="0.01" initial_value="0" layout="topleft" label="Y:" @@ -205,6 +209,7 @@ <slider decimal_digits="1" follows="left|top" + increment="0.01" initial_value="0" layout="topleft" label="X:" @@ -217,6 +222,7 @@ <slider decimal_digits="1" follows="left|top" + increment="0.01" initial_value="0" layout="topleft" label="Y:" @@ -241,6 +247,7 @@ <slider decimal_digits="1" follows="left|top" + increment="0.01" initial_value="0.7" layout="topleft" label="X:" @@ -252,6 +259,7 @@ <slider decimal_digits="1" follows="left|top" + increment="0.01" initial_value="0.7" layout="topleft" max_val="10" @@ -262,6 +270,7 @@ <slider decimal_digits="1" follows="left|top" + increment="0.01" initial_value="0.7" layout="topleft" max_val="10" diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 5f30a7e87d..55a871d120 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3850,6 +3850,11 @@ Abuse Report</string> <string name="Female - Shrug">Female - Shrug</string> <string name="Female - Stick tougue out">Female - Stick tongue out</string> <string name="Female - Wow">Female - Wow</string> + <!-- settings --> + <string name="New Daycycle">New Daycycle</string> + <string name="New Water">New Water</string> + <string name="New Sky">New Sky</string> + <string name="/bow">/bow</string> <string name="/clap">/clap</string> |