From 62eab88bf7d95afb6b108a656bb96918f47b071f Mon Sep 17 00:00:00 2001 From: Zi Ree Date: Sun, 7 Feb 2021 22:31:19 +0100 Subject: [PATCH] FIRE-24142 - Show number of elements in object inventory --- indra/newview/llpanelobjectinventory.cpp | 35 +++++++++++++++++-- .../newview/skins/default/xui/en/strings.xml | 5 +++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index 4e37d8da59..f17700514c 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -709,12 +709,43 @@ const std::string& LLTaskCategoryBridge::getDisplayName() const if (cat) { - // Make object root folder name localizable again + // FIRE-24142 - Show number of elements in object inventory //mDisplayName.assign(cat->getName()); if (cat->getParentUUID().isNull() && cat->getName() == "Contents") { - mDisplayName.assign(LLTrans::getString("Contents")); + LLViewerObject* object = gObjectList.findObject(mPanel->getTaskUUID()); + if (object) + { + LLInventoryObject* inventory_root = object->getInventoryRoot(); + LLInventoryObject::object_list_t contents; + + object->getInventoryContents(contents); + S32 numElements = contents.size(); + + std::string elementsString = "FSObjectInventoryNoElements"; + if (numElements == 1) + { + elementsString = "FSObjectInventoryOneElement"; + } + else + { + elementsString = "FSObjectInventoryElements"; + } + + LLSD args; + args["NUM_ELEMENTS"] = numElements; + mDisplayName.assign(llformat("%s (%s)", + LLTrans::getString("Contents").c_str(), + LLTrans::getString(elementsString, args).c_str())); + } + // fallback in case something goes wrong with finding the inventory object + else + { + // Make object root folder name localizable again + mDisplayName.assign(LLTrans::getString("Contents")); + } } + // else { mDisplayName.assign(cat->getName()); diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 3a4ecc2b0e..bc1b95c6c9 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3208,4 +3208,9 @@ Your current position: [AVATAR_POS] L$[COST] Importing Windlights... + + + No Elements + 1 Element + [NUM_ELEMENTS] Elements