From 6f6988a487576ca8de06e040ecc9781c3d89d764 Mon Sep 17 00:00:00 2001 From: Inusaito Sayori Date: Tue, 19 Aug 2014 19:52:24 -0400 Subject: [PATCH] Add "Move to Lost And Found" option for displaced inventory Inspired by the work of Kitty Barnett Fixes Issue 1337: Corrupted Inventory Fixes Issue 1625: Unattainable inventory is Outside of My Inventoy and no options to move back to My Inventory Fixes Issue 1580: Deleted folders showing outside of inventory folder. --- indra/newview/llinventorybridge.cpp | 16 ++++++++++++++++ .../skins/default/xui/en-us/menu_inventory.xml | 3 +++ 2 files changed, 19 insertions(+) diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 67b991607..923565008 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2851,6 +2851,14 @@ void LLFolderBridge::performAction(LLInventoryModel* model, std::string action) restoreItem(); return; } + // Move displaced inventory to lost and found + else if ("move_to_lost_and_found" == action) + { + gInventory.changeCategoryParent(getCategory(), gInventory.findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND), TRUE); + gInventory.addChangedMask(LLInventoryObserver::REBUILD, mUUID); + gInventory.notifyObservers(); + } + // #ifdef DELETE_SYSTEM_FOLDERS else if ("delete_system_folder" == action) { @@ -3365,6 +3373,14 @@ void LLFolderBridge::buildContextMenuBaseOptions(U32 flags) mWearables=TRUE; } } + // Move displaced inventory to lost and found + else if (!isAgentInventory()) + { + const LLUUID& library(gInventory.getLibraryRootFolderID()); + if (library == mUUID || gInventory.isObjectDescendentOf(mUUID, library)) + mItems.push_back(std::string("Move to Lost And Found")); + } + // // Preemptively disable system folder removal if more than one item selected. if ((flags & FIRST_SELECTED_ITEM) == 0) diff --git a/indra/newview/skins/default/xui/en-us/menu_inventory.xml b/indra/newview/skins/default/xui/en-us/menu_inventory.xml index a248c26de..6f0f02133 100644 --- a/indra/newview/skins/default/xui/en-us/menu_inventory.xml +++ b/indra/newview/skins/default/xui/en-us/menu_inventory.xml @@ -227,6 +227,9 @@ name="Delete" width="128"> + + +