From 56eda0385e91d6ede51f874321bbd8ebfd293c2f Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Fri, 16 Apr 2021 20:37:02 +0300
Subject: [PATCH] SL-13395 Allow creating outfit folders under My Outfits

---
 doc/contributions.txt                                 | 1 +
 indra/newview/llinventorybridge.cpp                   | 9 ++++++++-
 indra/newview/skins/default/xui/en/menu_inventory.xml | 8 ++++++++
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/doc/contributions.txt b/doc/contributions.txt
index 2b77b582228..9bff7a5a821 100755
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -226,6 +226,7 @@ Ansariel Hiller
 	SL-13364
 	SL-13858
 	SL-13697
+	SL-13395
 Aralara Rajal
 Arare Chantilly
 	CHUIBUG-191
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index d35d8456be7..a729b276d59 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -3987,6 +3987,12 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t&   items
 	const LLUUID &lost_and_found_id = model->findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND);
 	const LLUUID &favorites = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE);
 	const LLUUID &marketplace_listings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
+	const LLUUID &outfits_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
+
+	if (outfits_id == mUUID)
+	{
+		items.push_back(std::string("New Outfit"));
+	}
 
 	if (lost_and_found_id == mUUID)
 	{
@@ -4085,7 +4091,8 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t&   items
 		// Not sure what the right thing is to do here.
 		if (!isCOFFolder() && cat && (cat->getPreferredType() != LLFolderType::FT_OUTFIT))
 		{
-			if (!isInboxFolder()) // don't allow creation in inbox
+			if (!isInboxFolder() // don't allow creation in inbox
+				&& outfits_id != mUUID)
 			{
 				// Do not allow to create 2-level subfolder in the Calling Card/Friends folder. EXT-694.
 				if (!LLFriendCardsManager::instance().isCategoryInFriendFolder(cat))
diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml
index eda97399765..5a35bbf1211 100644
--- a/indra/newview/skins/default/xui/en/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/en/menu_inventory.xml
@@ -151,6 +151,14 @@
          function="Inventory.DoCreate"
          parameter="category" />
     </menu_item_call>
+    <menu_item_call
+     label="New Outfit"
+     layout="topleft"
+     name="New Outfit">
+        <menu_item_call.on_click
+         function="Inventory.DoCreate"
+         parameter="outfit" />
+    </menu_item_call>
     <menu_item_call
      label="New Script"
      layout="topleft"
-- 
GitLab