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