diff options
| author | Maxim Nikolenko <maximnproductengine@lindenlab.com> | 2023-10-17 17:33:36 +0300 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-17 17:33:36 +0300 | 
| commit | 19ac7d18e811748c9f9c756a7830429714bc8ca2 (patch) | |
| tree | 7906cf087b5154da0a2de2168a456d1be43838bc | |
| parent | bae25942a7bee6540c252b0a449a0882859c8822 (diff) | |
SL-20465 allow creating new items from the right-click context menu
| -rw-r--r-- | indra/newview/llinventorybridge.cpp | 17 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_inventory.xml | 226 | 
2 files changed, 233 insertions, 10 deletions
| diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 661db13baa..c41a4c5686 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -766,7 +766,7 @@ void hide_context_entries(LLMenuGL& menu,  		// descend into split menus:  		LLMenuItemBranchGL* branchp = dynamic_cast<LLMenuItemBranchGL*>(menu_item); -		if ((name == "More") && branchp) +        if (((name == "More") || (name == "create_new")) && branchp)  		{  			hide_context_entries(*branchp->getBranch(), entries_to_show, disabled_entries);  		} @@ -821,7 +821,7 @@ void hide_context_entries(LLMenuGL& menu,  			// so that some other UI element from multi-select doesn't later set this invisible.  			menu_item->pushVisible(TRUE); -			bool enabled = (menu_item->getEnabled() == TRUE); +			bool enabled = true;  			for (itor2 = disabled_entries.begin(); enabled && (itor2 != disabled_entries.end()); ++itor2)  			{  				enabled &= (*itor2 != name); @@ -4269,6 +4269,7 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t&   items  		disabled_items.push_back(std::string("New Folder"));  		disabled_items.push_back(std::string("upload_def")); +        disabled_items.push_back(std::string("create_new"));  	}  	if (favorites == mUUID)  	{ @@ -4291,6 +4292,7 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t&   items      {          disabled_items.push_back(std::string("New Folder"));  		disabled_items.push_back(std::string("upload_def")); +        disabled_items.push_back(std::string("create_new"));      }      if (marketplace_listings_id == mUUID)      { @@ -4352,6 +4354,17 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t&   items                  if (!isMarketplaceListingsFolder())                  {                      items.push_back(std::string("upload_def")); +                    items.push_back(std::string("create_new")); +                    items.push_back(std::string("New Script")); +                    items.push_back(std::string("New Note")); +                    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")); +                    if (!LLEnvironment::instance().isInventoryEnabled()) +                    { +                        disabled_items.push_back("New Settings"); +                    }                  }  			}  			getClipboardEntries(false, items, disabled_items, flags); diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml index e650c10603..12707aa8fd 100644 --- a/indra/newview/skins/default/xui/en/menu_inventory.xml +++ b/indra/newview/skins/default/xui/en/menu_inventory.xml @@ -144,14 +144,6 @@           parameter="rename" />      </menu_item_call>      <menu_item_call -     label="New Folder" -     layout="topleft" -     name="New Folder"> -        <menu_item_call.on_click -         function="Inventory.DoCreate" -         parameter="category" /> -    </menu_item_call> -    <menu_item_call       label="New Outfit"       layout="topleft"       name="New Outfit"> @@ -699,6 +691,224 @@    <menu_item_separator     layout="topleft"     name="Subfolder Separator" /> +  <menu +   label="Create new" +   layout="topleft" +   name="create_new"> +    <menu_item_call +     label="New Folder" +     layout="topleft" +     name="New Folder"> +      <menu_item_call.on_click +       function="Inventory.DoCreate" +       parameter="category" /> +    </menu_item_call> +    <menu_item_call +     label="New Script" +     layout="topleft" +     name="New Script"> +      <menu_item_call.on_click +       function="Inventory.DoCreate" +       parameter="lsl" /> +    </menu_item_call> +    <menu_item_call +     label="New Notecard" +     layout="topleft" +     name="New Note"> +      <menu_item_call.on_click +       function="Inventory.DoCreate" +       parameter="notecard" /> +    </menu_item_call> +    <menu_item_call +     label="New Gesture" +     layout="topleft" +     name="New Gesture"> +      <menu_item_call.on_click +       function="Inventory.DoCreate" +       parameter="gesture" /> +    </menu_item_call> +    <menu +     label="New Clothes" +     layout="topleft" +     name="New Clothes"> +      <menu_item_call +       label="New Shirt" +       layout="topleft" +       name="New Shirt"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="shirt" /> +      </menu_item_call> +      <menu_item_call +       label="New Pants" +       layout="topleft" +       name="New Pants"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="pants" /> +      </menu_item_call> +      <menu_item_call +       label="New Shoes" +       layout="topleft" +       name="New Shoes"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="shoes" /> +      </menu_item_call> +      <menu_item_call +       label="New Socks" +       layout="topleft" +       name="New Socks"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="socks" /> +      </menu_item_call> +      <menu_item_call +       label="New Jacket" +       layout="topleft" +       name="New Jacket"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="jacket" /> +      </menu_item_call> +      <menu_item_call +       label="New Skirt" +       layout="topleft" +       name="New Skirt"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="skirt" /> +      </menu_item_call> +      <menu_item_call +       label="New Gloves" +       layout="topleft" +       name="New Gloves"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="gloves" /> +      </menu_item_call> +      <menu_item_call +       label="New Undershirt" +       layout="topleft" +       name="New Undershirt"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="undershirt" /> +      </menu_item_call> +      <menu_item_call +       label="New Underpants" +       layout="topleft" +       name="New Underpants"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="underpants" /> +      </menu_item_call> +      <menu_item_call +       label="New Alpha Mask" +       layout="topleft" +       name="New Alpha Mask"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="alpha" /> +      </menu_item_call> +      <menu_item_call +       label="New Tattoo" +       layout="topleft" +       name="New Tattoo"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="tattoo" /> +      </menu_item_call> +      <menu_item_call +       label="New Universal" +       layout="topleft" +       name="New Universal"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="universal" /> +      </menu_item_call> +      <menu_item_call +       label="New Physics" +       layout="topleft" +       name="New Physics"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="physics" /> +      </menu_item_call> +    </menu> +    <menu +     label="New Body Parts" +     layout="topleft" +     name="New Body Parts"> +      <menu_item_call +       label="New Shape" +       layout="topleft" +       name="New Shape"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="shape" /> +      </menu_item_call> +      <menu_item_call +       label="New Skin" +       layout="topleft" +       name="New Skin"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="skin" /> +      </menu_item_call> +      <menu_item_call +       label="New Hair" +       layout="topleft" +       name="New Hair"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         parameter="hair" /> +      </menu_item_call> +      <menu_item_call +       label="New Eyes" +       layout="topleft" +       name="New Eyes"> +        <menu_item_call.on_click +         function="Inventory.DoCreate" +         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.on_enable +         function="Inventory.EnvironmentEnabled" /> +      </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.on_enable +         function="Inventory.EnvironmentEnabled" /> +      </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.on_enable +         function="Inventory.EnvironmentEnabled" /> +      </menu_item_call> +    </menu> +  </menu>      <menu_item_call     label="Create folder from selected"     layout="topleft" | 
