summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorypanel.cpp
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2026-09-01 18:35:23 +0800
committerErik Kundiman <erik@megapahit.org>2026-09-04 21:58:53 +0800
commit00bb3bb6f07660bd914d29a1389342bb3060d254 (patch)
tree431f574922494d2201718f13085f17bc6bd7fb42 /indra/newview/llinventorypanel.cpp
parenta8636720129952c10cf49ab80da21bf8b340b96c (diff)
parent4ef9f8f14b35ed388c294d53767a0dca0e890924 (diff)
Merge remote-tracking branch 'secondlife/release/26.4' into 26.4
Diffstat (limited to 'indra/newview/llinventorypanel.cpp')
-rw-r--r--indra/newview/llinventorypanel.cpp45
1 files changed, 33 insertions, 12 deletions
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 039567ea76..026b8b5008 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -4,7 +4,7 @@
*
* $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
+ * Copyright (C) 2026, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -199,7 +199,6 @@ LLFolderView * LLInventoryPanel::createFolderRoot(LLUUID root_id )
p.title = getLabel();
p.rect = LLRect(0, 0, getRect().getWidth(), 0);
p.parent_panel = this;
- p.tool_tip = p.name;
p.listener = mInvFVBridgeBuilder->createBridge( LLAssetType::AT_CATEGORY,
LLAssetType::AT_CATEGORY,
LLInventoryType::IT_CATEGORY,
@@ -582,8 +581,9 @@ void LLInventoryPanel::itemChanged(const LLUUID& item_id, U32 mask, const LLInve
LLInvFVBridge* bridge = (LLInvFVBridge*)view_item->getViewModelItem();
if(bridge)
{
- // Clear the display name first, so it gets properly re-built during refresh()
- bridge->clearDisplayName();
+ // Clear the searchable name first, so it gets
+ // properly re-built during refresh()
+ bridge->clearSearchableName();
view_item->refresh();
}
@@ -1064,10 +1064,20 @@ LLFolderViewFolder * LLInventoryPanel::createFolderViewFolder(LLInvFVBridge * br
{
LLFolderViewFolder::Params params(mParams.folder);
- params.name = bridge->getDisplayName();
+#ifndef LL_RELEASE_FOR_DOWNLOAD
+ // Only usable for debug and first call has a large
+ // overhead from search string construction.
+ // As inventory names aren't unique and can change,
+ // there is little we can use them for in release builds.
+ params.name = bridge->getName();
+#else
+ // We don't have a source of unique names and inventory
+ // items can reach millions in quantity, just use
+ // a short descriptor
+ params.name = "fld";
+#endif
params.root = mFolderRoot.get();
params.listener = bridge;
- params.tool_tip = params.name;
params.allow_drop = allow_drop;
params.font_color = (bridge->isLibraryItem() ? sLibraryColor : sDefaultColor);
@@ -1080,12 +1090,23 @@ LLFolderViewItem * LLInventoryPanel::createFolderViewItem(LLInvFVBridge * bridge
{
LLFolderViewItem::Params params(mParams.item);
- params.name = bridge->getDisplayName();
+#ifndef LL_RELEASE_FOR_DOWNLOAD
+ // Only usable for debug and first call has a large
+ // overhead from search string construction.
+ // As inventory names aren't unique, are large and can change,
+ // there is little we can use them for in release builds.
+ // Prefer shorter
+ params.name = bridge->getName();
+#else
+ // We don't have a source of unique names and inventory
+ // items can reach millions in quantity, just use
+ // a short descriptor
+ params.name = "itm";
+#endif
params.creation_date = bridge->getCreationDate();
params.root = mFolderRoot.get();
params.listener = bridge;
params.rect = LLRect (0, 0, 0, 0);
- params.tool_tip = params.name;
params.font_color = (bridge->isLibraryItem() ? sLibraryColor : sDefaultColor);
params.font_highlight_color = (bridge->isLibraryItem() ? sLibraryColor : sDefaultHighlightColor);
@@ -1677,7 +1698,7 @@ void LLInventoryPanel::onSelectionChange(const std::deque<LLFolderViewItem*>& it
LLFolderBridge* prev_bridge = (LLFolderBridge*)prev_folder_item->getViewModelItem();
if(prev_bridge)
{
- prev_bridge->clearDisplayName();
+ prev_bridge->clearSearchableName();
prev_bridge->setShowDescendantsCount(false);
prev_folder_item->refresh();
}
@@ -1686,7 +1707,7 @@ void LLInventoryPanel::onSelectionChange(const std::deque<LLFolderViewItem*>& it
LLFolderBridge* bridge = (LLFolderBridge*)folder_item->getViewModelItem();
if(bridge)
{
- bridge->clearDisplayName();
+ bridge->clearSearchableName();
bridge->setShowDescendantsCount(true);
folder_item->refresh();
mPreviousSelectedFolder = bridge->getUUID();
@@ -1701,7 +1722,7 @@ void LLInventoryPanel::onSelectionChange(const std::deque<LLFolderViewItem*>& it
LLFolderBridge* prev_bridge = (LLFolderBridge*)prev_folder_item->getViewModelItem();
if(prev_bridge)
{
- prev_bridge->clearDisplayName();
+ prev_bridge->clearSearchableName();
prev_bridge->setShowDescendantsCount(false);
prev_folder_item->refresh();
}
@@ -1721,7 +1742,7 @@ void LLInventoryPanel::updateFolderLabel(const LLUUID& folder_id)
LLFolderBridge* bridge = (LLFolderBridge*)folder_item->getViewModelItem();
if(bridge)
{
- bridge->clearDisplayName();
+ bridge->clearSearchableName();
bridge->setShowDescendantsCount(true);
folder_item->refresh();
}